From 4df37b4d1fb19ea0df7c293c210ecdbd3337a9b7 Mon Sep 17 00:00:00 2001 From: Antti Kokko Date: Mon, 18 Nov 2019 13:01:23 +0200 Subject: Add changes file for Qt 5.14.0 Change-Id: I31ed95639792ffd2cc5bd00b07a39844df4ff010 Reviewed-by: Friedemann Kleint --- dist/changes-5.14.0 | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 dist/changes-5.14.0 diff --git a/dist/changes-5.14.0 b/dist/changes-5.14.0 new file mode 100644 index 000000000..0997f3056 --- /dev/null +++ b/dist/changes-5.14.0 @@ -0,0 +1,53 @@ +Qt 5.14 introduces many new features and improvements as well as bugfixes +over the 5.13.x series. For more details, refer to the online documentation +included in this distribution. The documentation is also available online: + +https://doc.qt.io/qt-5/index.html + +The Qt version 5.14 series is binary compatible with the 5.13.x series. +Applications compiled for 5.13 will continue to run with 5.14. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* pixeltool * +**************************************************************************** + + - 'c' now copies color under cursor, and shows it in the tool window title. + +**************************************************************************** +* Qt Designer * +**************************************************************************** + + - [QTBUG-76375] A per-form setting for disabling generating calls to + QObject::connectSlotsByName() has been added to support migrating forms + to Qt 5 connection syntax. + - The multiselection-modifier of the buddy/signal slot editors has been + changed to Control instead of (historical) Shift. + +**************************************************************************** +* Qt Linguist * +**************************************************************************** + + - [QTBUG-76265] lupdate now warns about qsTr() calls with template literals + in .qml files. + - [QTBUG-67908] Extra \n when reading translator comment from .po file now + gets removed. + - [QTBUG-76723] CMake: qt5_create_translation was creating a warning when + translation files had the same prefix, separated by a dot. This is now + fixed. + +**************************************************************************** +* windeployqt * +**************************************************************************** + + - [QTBUG-15234] windeployqt does not patch paths in Qt5Core anymore if Qt + is configured with -feature-relocatable. + - [QTBUG-75272] Added option -no-virtualkeyboard to disable deployment of + Qt Virtual Keyboard. -- cgit v1.2.3 From 1682033b1bdadefeb9b953f7d9d096d884f797e2 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Mon, 2 Dec 2019 12:19:12 +0100 Subject: Add qdoc-specific changes to changes-5.14.0 Change-Id: Id38ada70cfe8316d37c5c329ddb727d67723f2ee Reviewed-by: Paul Wicking --- dist/changes-5.14.0 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dist/changes-5.14.0 b/dist/changes-5.14.0 index 0997f3056..de2bb6fbd 100644 --- a/dist/changes-5.14.0 +++ b/dist/changes-5.14.0 @@ -51,3 +51,13 @@ information about a particular change. is configured with -feature-relocatable. - [QTBUG-75272] Added option -no-virtualkeyboard to disable deployment of Qt Virtual Keyboard. + +**************************************************************************** +* qdoc * +**************************************************************************** + + - QDoc no longer attempts to run if 'project' configuration variable is + not set; it now fails with an appropriate error message. + + - [QTBUG-80051] 'depends' configuration now accepts '*' as a value, + instructing QDoc to load all available index files as dependencies. -- cgit v1.2.3 From 61617f7a13a2692cdc5415cd62acdedb2fd7a76d Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Wed, 4 Dec 2019 13:42:29 +0100 Subject: QDoc: Minor cleanup in doc.cpp Improve readability by pre-incrementing instead of post-incrementing. This should also improve performance slightly. Change-Id: Icec66867dfdb04a65e3fe3229d21e2cda98eebb9 Reviewed-by: Volker Hilsheimer --- src/qdoc/doc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index 90799bd8c..7510fba97 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -1367,7 +1367,7 @@ void DocParser::parse(const QString &source, append(Atom::FormatEndif); } else { append(Atom::FormatElse); - numPendingFi++; + ++numPendingFi; } } } -- cgit v1.2.3 From 619a3d00fee89223d8ce19435dfde9140daf00b4 Mon Sep 17 00:00:00 2001 From: Levon Sargsyan Date: Mon, 2 Dec 2019 17:26:49 +0100 Subject: Add regression test for class name sorting This patch adds a regression test to cover QTBUG-80259 by adding new test data to the existing end-2-end qdoc test suite. The test is covering class name sorting functionality during documentation generation. Change-Id: I6421981596f4d72e8b0ce8351e85a8e5b3856b45 Fixes: QTBUG-80456 Reviewed-by: Levon Sargsyan Reviewed-by: Paul Wicking --- .../bug80259/inc/testmodule/TestModule.h | 3 ++ .../generatedoutput/bug80259/inc/testmodule/aaa.h | 4 ++ .../generatedoutput/bug80259/inc/testmodule/bbb.h | 5 ++ .../generatedoutput/bug80259/inc/testmodule/ccc.h | 4 ++ .../qdoc/generatedoutput/bug80259/src/main.cpp | 54 ++++++++++++++++++++++ .../generatedoutput/bug80259/src/qdoc/index.qdoc | 7 +++ .../generatedoutput/bug80259/testmodule.qdocconf | 13 ++++++ .../generatedoutput/expected_output/first.html | 32 +++++++++++++ .../generatedoutput/expected_output/index.html | 23 +++++++++ .../generatedoutput/expected_output/second.html | 32 +++++++++++++ .../generatedoutput/expected_output/third.html | 32 +++++++++++++ .../qdoc/generatedoutput/tst_generatedoutput.cpp | 10 ++++ 12 files changed, 219 insertions(+) create mode 100644 tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/TestModule.h create mode 100644 tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/aaa.h create mode 100644 tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/bbb.h create mode 100644 tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/ccc.h create mode 100644 tests/auto/qdoc/generatedoutput/bug80259/src/main.cpp create mode 100644 tests/auto/qdoc/generatedoutput/bug80259/src/qdoc/index.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/bug80259/testmodule.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/first.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/index.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/second.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/third.html diff --git a/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/TestModule.h b/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/TestModule.h new file mode 100644 index 000000000..686cbe948 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/TestModule.h @@ -0,0 +1,3 @@ +#include "testmodule/aaa.h" +#include "testmodule/bbb.h" +#include "testmodule/ccc.h" diff --git a/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/aaa.h b/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/aaa.h new file mode 100644 index 000000000..dea5c1841 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/aaa.h @@ -0,0 +1,4 @@ +#pragma once +class Third +{ +}; diff --git a/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/bbb.h b/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/bbb.h new file mode 100644 index 000000000..0dc6e52c6 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/bbb.h @@ -0,0 +1,5 @@ +#pragma once +class First +{ + class Nested {}; +}; diff --git a/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/ccc.h b/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/ccc.h new file mode 100644 index 000000000..d3a1557e1 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/ccc.h @@ -0,0 +1,4 @@ +#pragma once +class Second +{ +}; diff --git a/tests/auto/qdoc/generatedoutput/bug80259/src/main.cpp b/tests/auto/qdoc/generatedoutput/bug80259/src/main.cpp new file mode 100644 index 000000000..a8991e18f --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/bug80259/src/main.cpp @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +/*! +\class First +\inmodule TestModule + +This is a first class +*/ + +/*! +\class First::Nested +\inmodule TestModule + +This is a nested class +*/ + +/*! +\class Second +\inmodule TestModule + +This is a second class +*/ + +/*! +\class Third +\inmodule TestModule + +This is a third class +*/ diff --git a/tests/auto/qdoc/generatedoutput/bug80259/src/qdoc/index.qdoc b/tests/auto/qdoc/generatedoutput/bug80259/src/qdoc/index.qdoc new file mode 100644 index 000000000..35ef7e087 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/bug80259/src/qdoc/index.qdoc @@ -0,0 +1,7 @@ +/*! + \page index.html + \title doc index + + \generatelist {classesbymodule TestModule} + +*/ diff --git a/tests/auto/qdoc/generatedoutput/bug80259/testmodule.qdocconf b/tests/auto/qdoc/generatedoutput/bug80259/testmodule.qdocconf new file mode 100644 index 000000000..c02fb6fcf --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/bug80259/testmodule.qdocconf @@ -0,0 +1,13 @@ +project = TestModule + +moduleheader = TestModule.h + +headerdirs = inc +sourcedirs = src +includepaths += ./bug80259/inc/testmodule + +sources.fileextensions = "*.cpp *.qdoc" +headers.fileextensions = "*.h" + +outputdir = doc +outputformats = HTML diff --git a/tests/auto/qdoc/generatedoutput/expected_output/first.html b/tests/auto/qdoc/generatedoutput/expected_output/first.html new file mode 100644 index 000000000..0a7f52a13 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/first.html @@ -0,0 +1,32 @@ + + + + + + + First Class | TestModule + + +
  • First
  • + +

    First Class

    +
    +
    Header: #include <First> +
      +
    + + +
    +

    Detailed Description

    +

    This is a first class

    +
    + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/index.html b/tests/auto/qdoc/generatedoutput/expected_output/index.html new file mode 100644 index 000000000..8600e0867 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/index.html @@ -0,0 +1,23 @@ + + + + + + + doc index | TestModule + + +

    doc index

    + + + + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/second.html b/tests/auto/qdoc/generatedoutput/expected_output/second.html new file mode 100644 index 000000000..c3d76d0f8 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/second.html @@ -0,0 +1,32 @@ + + + + + + + Second Class | TestModule + + +
  • Second
  • + +

    Second Class

    +
    +
    Header: #include <Second> +
      +
    + + +
    +

    Detailed Description

    +

    This is a second class

    +
    + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/third.html b/tests/auto/qdoc/generatedoutput/expected_output/third.html new file mode 100644 index 000000000..93dc5a1c1 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/third.html @@ -0,0 +1,32 @@ + + + + + + + Third Class | TestModule + + +
  • Third
  • + +

    Third Class

    +
    +
    Header: #include <Third> +
      +
    + + +
    +

    Detailed Description

    +

    This is a third class

    +
    + + + diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index 09709ac6c..6c8211125 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -40,6 +40,7 @@ private slots: void htmlFromQDocFile(); void htmlFromCpp(); void htmlFromQml(); + void htmlFromCppBug80259(); private: QScopedPointer m_outputDir; @@ -157,6 +158,15 @@ void tst_generatedOutput::htmlFromQml() "uicomponents-qmlmodule.html"); } +void tst_generatedOutput::htmlFromCppBug80259() +{ + testAndCompare("bug80259/testmodule.qdocconf", + "first.html " + "second.html " + "third.html " + "index.html"); +} + QTEST_APPLESS_MAIN(tst_generatedOutput) #include "tst_generatedoutput.moc" -- cgit v1.2.3 From c8883b59cd2289ef99fa4b912bfa7ff0005242e1 Mon Sep 17 00:00:00 2001 From: Levon Sargsyan Date: Wed, 13 Nov 2019 16:16:46 +0100 Subject: Remove "Node" header dependency from the "Generator" Change substitutes Node header dependency on Generator with forward-declaration. This doesn't break any functionality since the header of Generator references only Node pointers. Aim of such change is aligned with the strategy of breaking down any unnecessary dependencies in the code to make qdoc unit-testable. Change-Id: Ia2ef2f2fb62a1435bffeda1f1b389a3079ac12b0 Reviewed-by: Paul Wicking --- src/qdoc/generator.cpp | 1 + src/qdoc/generator.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index dde1de496..f68fcf394 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -36,6 +36,7 @@ #include "doc.h" #include "editdistance.h" #include "loggingcategory.h" +#include "node.h" #include "openedlist.h" #include "qdocdatabase.h" #include "quoter.h" diff --git a/src/qdoc/generator.h b/src/qdoc/generator.h index fe79fd77e..24fd5bb48 100644 --- a/src/qdoc/generator.h +++ b/src/qdoc/generator.h @@ -29,7 +29,6 @@ #ifndef GENERATOR_H #define GENERATOR_H -#include "node.h" #include "text.h" #include @@ -46,6 +45,7 @@ typedef QMap ParentMaps; class Config; class CodeMarker; class Location; +class Node; class QDocDatabase; class Generator -- cgit v1.2.3 From ba7da547208222ad023f13d4f95ba596689148f0 Mon Sep 17 00:00:00 2001 From: Levon Sargsyan Date: Thu, 5 Dec 2019 10:43:37 +0100 Subject: Fix null pointer dereferencing coverity issues in qdoc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch fixes potential null pointer derefencing issues all over qdoc project that has been found via coverity scan and has been assigned to "Dereference after null check" category. Fix include coverity issues with REVERSE_NULL as well as FOWARD_NULL cases. Change-Id: Icb6f413ea7bbfae76f8e68139baa31b15575a49a Coverity-Id: 163245 Coverity-Id: 11133 Coverity-Id: 185270 Coverity-Id: 226086 Reviewed-by: Topi Reiniö Reviewed-by: Qt CI Bot --- src/qdoc/htmlgenerator.cpp | 4 ++-- src/qdoc/qdocindexfiles.cpp | 7 ++++++- src/qdoc/webxmlgenerator.cpp | 8 ++++---- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 2114d6a8c..5bfa2daeb 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -1909,7 +1909,7 @@ void HtmlGenerator::generateNavigationBar(const QString &title, const QString &buildversion, bool tableItems) { - if (noNavigationBar) + if (noNavigationBar || node == nullptr) return; Text navigationbar; @@ -2879,7 +2879,7 @@ void HtmlGenerator::generateAnnotatedList(const Node *relative, CodeMarker *marker, const NodeMultiMap &nmm) { - if (nmm.isEmpty()) + if (nmm.isEmpty() || relative == nullptr) return; generateAnnotatedList(relative, marker, nmm.values()); } diff --git a/src/qdoc/qdocindexfiles.cpp b/src/qdoc/qdocindexfiles.cpp index 9ea7d9f86..9ded66abb 100644 --- a/src/qdoc/qdocindexfiles.cpp +++ b/src/qdoc/qdocindexfiles.cpp @@ -157,6 +157,11 @@ void QDocIndexFiles::readIndexFile(const QString &path) basesList_.clear(); NamespaceNode *root = qdb_->newIndexTree(project_); + if (!root) { + qWarning() << "Issue parsing index tree" << path; + return; + } + root->tree()->setIndexTitle(indexTitle); // Scan all elements in the XML file, constructing a map that contains @@ -387,7 +392,7 @@ void QDocIndexFiles::readIndexSection(QXmlStreamReader& reader, } else goto done; - if (current && current->isExample()) { + if (current->isExample()) { ExampleNode *en = static_cast(current); if (subtype == QDocAttrFile) { en->appendFile(name); diff --git a/src/qdoc/webxmlgenerator.cpp b/src/qdoc/webxmlgenerator.cpp index 73f6f6268..4b649820f 100644 --- a/src/qdoc/webxmlgenerator.cpp +++ b/src/qdoc/webxmlgenerator.cpp @@ -289,6 +289,9 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, { bool keepQuoting = false; + if (!atom) + return nullptr; + switch (atom->type()) { case Atom::AnnotatedList: { @@ -750,11 +753,8 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, } hasQuotingInformation = keepQuoting; + return atom->next(); - if (atom) - return atom->next(); - - return nullptr; } void WebXMLGenerator::startLink(QXmlStreamWriter &writer, const Atom *atom, -- cgit v1.2.3 From 8ff052f51642b6243db9ede23bf4d2ff695bc6a5 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 5 Dec 2019 10:41:55 +0100 Subject: windeployqt: Add an option ignore errors when updating libraries Fixes: QTBUG-80532 Change-Id: I0906a9e117537c4292e1a1bb78ecd18a231eeb41 Reviewed-by: Oliver Wolff --- src/windeployqt/main.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp index 1fefc6d21..46c6cd264 100644 --- a/src/windeployqt/main.cpp +++ b/src/windeployqt/main.cpp @@ -284,6 +284,7 @@ struct Options { bool deployPdb = false; bool dryRun = false; bool patchQt = true; + bool ignoreLibraryErrors = false; inline bool isWinRt() const { return platform == WinRtArm || platform == WinRtIntel; @@ -375,6 +376,10 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse QStringLiteral("Do not patch the Qt5Core library.")); parser->addOption(noPatchQtOption); + QCommandLineOption ignoreErrorOption(QStringLiteral("ignore-library-errors"), + QStringLiteral("Ignore errors when libraries cannot be found.")); + parser->addOption(ignoreErrorOption); + QCommandLineOption noPluginsOption(QStringLiteral("no-plugins"), QStringLiteral("Skip plugin deployment.")); parser->addOption(noPluginsOption); @@ -556,6 +561,7 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse } options->patchQt = !parser->isSet(noPatchQtOption); + options->ignoreLibraryErrors = parser->isSet(ignoreErrorOption); for (int i = 0; i < qtModulesCount; ++i) { if (parser->isSet(*enabledModuleOptions.at(i))) @@ -1207,9 +1213,15 @@ static inline QString qtlibInfixFromCoreLibName(const QString &path, bool isDebu static bool updateLibrary(const QString &sourceFileName, const QString &targetDirectory, const Options &options, QString *errorMessage) { - - if (!updateFile(sourceFileName, targetDirectory, options.updateFileFlags, options.json, errorMessage)) + if (!updateFile(sourceFileName, targetDirectory, options.updateFileFlags, options.json, errorMessage)) { + if (options.ignoreLibraryErrors) { + std::wcerr << "Warning: Could not update " << sourceFileName << " :" << *errorMessage << '\n'; + errorMessage->clear(); + return true; + } return false; + } + if (options.deployPdb) { const QFileInfo pdb(pdbFileName(sourceFileName)); if (pdb.isFile()) -- cgit v1.2.3 From 54179a445a9c968c4c56c20336fe5b2d732cdae0 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Wed, 4 Dec 2019 12:55:12 +0100 Subject: Improve QDoc autotest for QML documentation Fix the previous test that never generated any QML type documentation, and add new test types, documented in .cpp, .qdoc, and inline in .qml. Use all available \qml-specific QDoc commands. Fixes: QTBUG-80154 Change-Id: I60d9762836b986ca534c664517274517b73c085d Reviewed-by: Levon Sargsyan Reviewed-by: Paul Wicking --- .../generatedoutput/componentset/ProgressBar.qml | 145 ---------------- .../qdoc/generatedoutput/componentset/Switch.qml | 152 ---------------- .../generatedoutput/componentset/TabWidget.qml | 193 --------------------- .../generatedoutput/componentset/componentset.pro | 5 - .../componentset/uicomponents.qdoc.sample | 38 ---- tests/auto/qdoc/generatedoutput/examples.qdoc | 97 ----------- .../expected_output/qdoc-test-qmlmodule.html | 24 +++ .../generatedoutput/expected_output/qml-int.html | 24 +++ .../qml-qdoc-test-abstractparent.html | 67 +++++++ .../expected_output/qml-qdoc-test-child.html | 67 +++++++ .../expected_output/qml-qdoc-test-doctest.html | 87 ++++++++++ .../qml-qdoc-test-type-members.html | 28 +++ .../expected_output/qml-qdoc-test-type.html | 141 +++++++++++++++ .../qml-uicomponents-progressbar.html | 98 +++++++++++ .../expected_output/qml-uicomponents-switch.html | 69 ++++++++ .../qml-uicomponents-tabwidget.html | 85 +++++++++ .../expected_output/uicomponents-qmlmodule.html | 5 + tests/auto/qdoc/generatedoutput/qml/DocTest.qml | 84 +++++++++ .../qml/componentset/ProgressBar.qml | 145 ++++++++++++++++ .../generatedoutput/qml/componentset/Switch.qml | 152 ++++++++++++++++ .../generatedoutput/qml/componentset/TabWidget.qml | 193 +++++++++++++++++++++ .../qml/componentset/componentset.pro | 5 + .../generatedoutput/qml/componentset/examples.qdoc | 97 +++++++++++ .../qml/componentset/uicomponents.qdoc.sample | 38 ++++ tests/auto/qdoc/generatedoutput/qml/parent.qdoc | 59 +++++++ tests/auto/qdoc/generatedoutput/qml/type.cpp | 87 ++++++++++ tests/auto/qdoc/generatedoutput/testqml.qdocconf | 13 +- .../qdoc/generatedoutput/tst_generatedoutput.cpp | 12 +- 28 files changed, 1575 insertions(+), 635 deletions(-) delete mode 100644 tests/auto/qdoc/generatedoutput/componentset/ProgressBar.qml delete mode 100644 tests/auto/qdoc/generatedoutput/componentset/Switch.qml delete mode 100644 tests/auto/qdoc/generatedoutput/componentset/TabWidget.qml delete mode 100644 tests/auto/qdoc/generatedoutput/componentset/componentset.pro delete mode 100644 tests/auto/qdoc/generatedoutput/componentset/uicomponents.qdoc.sample delete mode 100644 tests/auto/qdoc/generatedoutput/examples.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/qml-int.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html create mode 100644 tests/auto/qdoc/generatedoutput/qml/DocTest.qml create mode 100644 tests/auto/qdoc/generatedoutput/qml/componentset/ProgressBar.qml create mode 100644 tests/auto/qdoc/generatedoutput/qml/componentset/Switch.qml create mode 100644 tests/auto/qdoc/generatedoutput/qml/componentset/TabWidget.qml create mode 100644 tests/auto/qdoc/generatedoutput/qml/componentset/componentset.pro create mode 100644 tests/auto/qdoc/generatedoutput/qml/componentset/examples.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/qml/componentset/uicomponents.qdoc.sample create mode 100644 tests/auto/qdoc/generatedoutput/qml/parent.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/qml/type.cpp diff --git a/tests/auto/qdoc/generatedoutput/componentset/ProgressBar.qml b/tests/auto/qdoc/generatedoutput/componentset/ProgressBar.qml deleted file mode 100644 index 2a40cc488..000000000 --- a/tests/auto/qdoc/generatedoutput/componentset/ProgressBar.qml +++ /dev/null @@ -1,145 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -/*! - \qmltype ProgressBar - \inqmlmodule UIComponents - \brief A component that shows the progress of an event. - - A ProgressBar shows the linear progress of an event as its \l value. - The range is specified using the \l {minimum} and the \l{maximum} values. - - The ProgressBar component is part of the \l {UI Components} module. - - This documentation is part of the \l{componentset}{UIComponents} example. -*/ -Item { - id: progressbar - - /*! - The minimum value of the ProgressBar range. - The \l value must not be less than this value. - */ - property int minimum: 0 - - /*! - The maximum value of the ProgressBar range. - The \l value must not be more than this value. - */ - property int maximum: 100 - - /*! - The value of the progress. - */ - property int value: 0 - - /*! - \qmlproperty color ProgressBar::color - The color of the ProgressBar's gradient. Must bind to a color type. - - \omit - The "\qmlproperty " is needed because - property alias need to have their types manually entered. - - QDoc will not publish the documentation within omit and endomit. - \endomit - - \sa secondColor - */ - property alias color: gradient1.color - - /*! - \qmlproperty color ProgressBar::secondColor - The second color of the ProgressBar's gradient. - Must bind to a color type. - - \omit - The "\qmlproperty " is needed because - property alias need to have their types manually entered. - - QDoc will not publish the documentation within omit and endomit. - \endomit - - \sa color - */ - property alias secondColor: gradient2.color - - width: 250; height: 23 - clip: true - - Rectangle { - id: highlight - - /*! - An internal documentation comment. The widthDest property is not - a public API and therefore will not be exposed. - */ - property int widthDest: ((progressbar.width * (value - minimum)) / (maximum - minimum) - 6) - - width: highlight.widthDest - Behavior on width { SmoothedAnimation { velocity: 1200 } } - - anchors { left: parent.left; top: parent.top; bottom: parent.bottom; margins: 3 } - radius: 1 - gradient: Gradient { - GradientStop { id: gradient1; position: 0.0 } - GradientStop { id: gradient2; position: 1.0 } - } - - } - Text { - anchors { right: highlight.right; rightMargin: 6; verticalCenter: parent.verticalCenter } - color: "white" - font.bold: true - text: Math.floor((value - minimum) / (maximum - minimum) * 100) + '%' - } -} diff --git a/tests/auto/qdoc/generatedoutput/componentset/Switch.qml b/tests/auto/qdoc/generatedoutput/componentset/Switch.qml deleted file mode 100644 index db9616b69..000000000 --- a/tests/auto/qdoc/generatedoutput/componentset/Switch.qml +++ /dev/null @@ -1,152 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -/*! - \qmltype ToggleSwitch - \inqmlmodule UIComponents - \brief A component that can be turned on or off. - - A toggle switch has two states: an \c on and an \c off state. The \c off - state is when the \l on property is set to \c false. - - The ToggleSwitch component is part of the \l {UI Components} module. - - This documentation is part of the \l{componentset}{UIComponents} example. - -*/ -Item { - id: toggleswitch - width: background.width; height: background.height - - /*! - Indicates the state of the switch. If \c false, then the switch is in - the \c off state. - - \omit - The \qmlproperty is not necessary as QDoc - will associate this property to the ToggleSwitch - - QDoc will not publish the documentation within omit and endomit. - \endomit - */ - property bool on: false - - - /*! - A method to toggle the switch. If the switch is \c on, the toggling it - will turn it \c off. Toggling a switch in the \c off position will - turn it \c on. - */ - function toggle() { - if (toggleswitch.state == "on") - toggleswitch.state = "off"; - else - toggleswitch.state = "on"; - } - - - /*! - \internal - - An internal function to synchronize the switch's internals. This - function is not for public access. The \internal command will - prevent QDoc from publishing this comment in the public API. - */ - function releaseSwitch() { - if (knob.x == 1) { - if (toggleswitch.state == "off") return; - } - if (knob.x == 78) { - if (toggleswitch.state == "on") return; - } - toggle(); - } - - Rectangle { - id: background - width: 130; height: 48 - radius: 48 - color: "lightsteelblue" - MouseArea { anchors.fill: parent; onClicked: toggle() } - } - - Rectangle { - id: knob - width: 48; height: 48 - radius: width - color: "lightblue" - - MouseArea { - anchors.fill: parent - drag.target: knob; drag.axis: Drag.XAxis; drag.minimumX: 1; drag.maximumX: 78 - onClicked: toggle() - onReleased: releaseSwitch() - } - } - - states: [ - State { - name: "on" - PropertyChanges { target: knob; x: 78 } - PropertyChanges { target: toggleswitch; on: true } - }, - State { - name: "off" - PropertyChanges { target: knob; x: 1 } - PropertyChanges { target: toggleswitch; on: false } - } - ] - - transitions: Transition { - NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad; duration: 200 } - } -} diff --git a/tests/auto/qdoc/generatedoutput/componentset/TabWidget.qml b/tests/auto/qdoc/generatedoutput/componentset/TabWidget.qml deleted file mode 100644 index 07fd40db9..000000000 --- a/tests/auto/qdoc/generatedoutput/componentset/TabWidget.qml +++ /dev/null @@ -1,193 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -/*! - \qmltype TabWidget - \inqmlmodule UIComponents - \brief A widget that places its children as tabs. - - A TabWidget places its children as tabs in a view. Selecting - a tab involves selecting the tab at the top. - - The TabWidget component is part of the \l {UI Components} module. - - This documentation is part of the \l{componentset}{UIComponents} example. - - \section1 Adding Tabs - - To add a tab, declare the tab as a child of the TabWidget. - - \code - TabWidget { - id: tabwidget - - Rectangle { - id: tab1 - color: "red" - //... omitted - } - Rectangle { - id: tab2 - color: "blue" - //... omitted - } - - } - \endcode - -*/ -Item { - id: tabWidget - - /*! - \internal - - Setting the default property to stack.children means any child items - of the TabWidget are actually added to the 'stack' item's children. - - See the \l{"Property Binding in QML"} - documentation for details on default properties. - - This is an implementation detail, not meant for public knowledge. Putting - the \internal command at the beginning will cause QDoc to not publish this - documentation in the public API page. - - Normally, a property alias needs to have a - "\qmlproperty " to assign the alias a type. - - */ - default property alias content: stack.children - - - /*! - The currently active tab in the TabWidget. - */ - property int current: 0 - - /*! - A sample \c{read-only} property. - A contrived property to demonstrate QDoc's ability to detect - read-only properties. - - The signature is: - \code - readonly property int sampleReadOnlyProperty: 0 - \endcode - - Note that the property must be initialized to a value. - - */ - readonly property int sampleReadOnlyProperty: 0 - - /*! - \internal - - This handler is an implementation - detail. The \c{\internal} command will prevent QDoc from publishing this - documentation on the public API. - */ - onCurrentChanged: setOpacities() - Component.onCompleted: setOpacities() - - /*! - \internal - - An internal function to set the opacity. - The \internal command will prevent QDoc from publishing this - documentation on the public API. - */ - function setOpacities() { - for (var i = 0; i < stack.children.length; ++i) { - stack.children[i].opacity = (i == current ? 1 : 0) - } - } - - Row { - id: header - - Repeater { - model: stack.children.length - delegate: Rectangle { - width: tabWidget.width / stack.children.length; height: 36 - - Rectangle { - width: parent.width; height: 1 - anchors { bottom: parent.bottom; bottomMargin: 1 } - color: "#acb2c2" - } - BorderImage { - anchors { fill: parent; leftMargin: 2; topMargin: 5; rightMargin: 1 } - border { left: 7; right: 7 } - source: "tab.png" - visible: tabWidget.current == index - } - Text { - horizontalAlignment: Qt.AlignHCenter; verticalAlignment: Qt.AlignVCenter - anchors.fill: parent - text: stack.children[index].title - elide: Text.ElideRight - font.bold: tabWidget.current == index - } - MouseArea { - anchors.fill: parent - onClicked: tabWidget.current = index - } - } - } - } - - Item { - id: stack - width: tabWidget.width - anchors.top: header.bottom; anchors.bottom: tabWidget.bottom - } -} diff --git a/tests/auto/qdoc/generatedoutput/componentset/componentset.pro b/tests/auto/qdoc/generatedoutput/componentset/componentset.pro deleted file mode 100644 index 5b44737c2..000000000 --- a/tests/auto/qdoc/generatedoutput/componentset/componentset.pro +++ /dev/null @@ -1,5 +0,0 @@ -SOURCES = componentset.pro \ - ProgressBar.qml \ - Switch.qml \ - TabWidget.qml \ - uicomponents.qdoc diff --git a/tests/auto/qdoc/generatedoutput/componentset/uicomponents.qdoc.sample b/tests/auto/qdoc/generatedoutput/componentset/uicomponents.qdoc.sample deleted file mode 100644 index 0c6d187ed..000000000 --- a/tests/auto/qdoc/generatedoutput/componentset/uicomponents.qdoc.sample +++ /dev/null @@ -1,38 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \qmlmodule UIComponents 1.0 - \title UI Components - \brief Basic set of UI components - - This is a listing of a list of UI components implemented by QML types. These - files are available for general import and they are based off the \l{Qt - Quick Code Samples}. - - This module is part of the \l{componentset}{UIComponents} example. -*/ diff --git a/tests/auto/qdoc/generatedoutput/examples.qdoc b/tests/auto/qdoc/generatedoutput/examples.qdoc deleted file mode 100644 index 7c780eca8..000000000 --- a/tests/auto/qdoc/generatedoutput/examples.qdoc +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \example componentset - \title QML Documentation Example - - This example demonstrates one of the ways to document QML types. - - In particular, there are sample types that are documented with QDoc - commands comments. There are documentation comments for the QML types - and their public interfaces. The types are grouped into a module, the - \l{UI Components} module. - - The \l{componentset/uicomponents.qdoc.sample}{uicomponents.qdoc} file generates - the overview page for the \l{UI Components} module page. - - The generated documentation is available in the \l{UI Components} module. - - \section1 QML Class - - The QML types use the \l{qmltype-command}{\\qmltype} to document the - type. In addition, they have the \l{inmodule-command}{\\inmodule} - command in order for QDoc to associate them to the \c UIComponents module. - - QDoc uses the \l{brief-command}{\\brief} command to place a basic - description when listing the types. - - \section1 Properties, Signals, Handlers, and Methods - - The types have their properties, signals, handlers, and methods - defined in their respective QML files. QDoc associates the properties and - methods to the types, therefore, you only need to place the - documentation above the property, method, or signal. - - To document the type of a \e {property alias}, you must use the - \l{qmlproperty-command}{\\qmlproperty} command to specify the data type. - - \code - \qmlproperty int anAliasedProperty - An aliased property of type int. - \endcode - - \section2 Internal Documentation - - You may declare that a documentation is for internal use by placing the - \l{internal-command}{\\internal} command after the beginning QDoc comment - \begincomment. QDoc will prevent the internal documentation from appearing - in the public API. - - If you wish to omit certain parts of the documentation, you may use the - \l{omit-command}{\\omit} and \l{omit-command}{\\endomit} command. - - \section1 QML Types with C++ Implementation - - This example only demonstrates the documentation for types in QML - files, but the regular \l{qml-documentation}{QML commands} may be placed - inside C++ classes to define the public API of the QML type. - -*/ - - -/*! - \qmlmodule UIComponents 1.0 - \title UI Components - \brief Basic set of UI components - - This is a listing of a list of UI components implemented by QML types. These - files are available for general import and they are based on the - \l{Qt Quick Examples and Tutorials}{Qt Quick Code Samples}. - - This module is part of the \l{componentset}{UIComponents} example. -*/ diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html b/tests/auto/qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html new file mode 100644 index 000000000..0d424fb73 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html @@ -0,0 +1,24 @@ + + + + + + + Test + + + + + +
    +
    + +
    + + + + + +

    AbstractParent

    Abstract base QML type

    Child

    A Child inheriting its parent

    DocTest

    Represents a doc test case

    Type

    A QML type documented in a .cpp file

    int

    An integer basic type

    + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html new file mode 100644 index 000000000..108bf6a37 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html @@ -0,0 +1,24 @@ + + + + + + + int QML Basic Type | Test + + + +

    int QML Basic Type

    + + +
    +
    + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html new file mode 100644 index 000000000..5b9bad572 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html @@ -0,0 +1,67 @@ + + + + + + + AbstractParent QML Type | Test + + + +

    AbstractParent QML Type

    + + +

    Abstract base QML type. More...

    + +
    +
    Import Statement: import QDoc.Test 1.1
    Inherited By:

    Child

    +
    + +

    Properties

    + + +

    Methods

    +
      +
    • void rear(child)
    • +
    + + +

    Detailed Description

    + +

    Property Documentation

    + +
    +
    + + +

    +[default] children : list<Child>

    +

    Children of the type.

    +
    +
    +

    Method Documentation

    + +
    +
    + + +

    +void rear(child)

    +

    Do some abstract parenting on child.

    +
    +
    + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html new file mode 100644 index 000000000..c9cb241af --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html @@ -0,0 +1,67 @@ + + + + + + + Child QML Type | Test + + + +

    Child QML Type

    + + +

    A Child inheriting its parent. More...

    + +
    +
    Import Statement: import QDoc.Test 1.1
    Inherits:

    AbstractParent

    +
    + +

    Properties

    + + +

    Methods

    +
      +
    • void rear(child)
    • +
    + + +

    Detailed Description

    + +

    Property Documentation

    + +
    +
    + + +

    +[default] children : list<Child>

    +

    Children of the type.

    +
    +
    +

    Method Documentation

    + +
    +
    + + +

    +void rear(child)

    +

    Do some abstract parenting on child.

    +
    +
    + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html new file mode 100644 index 000000000..8ad2b4d5e --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html @@ -0,0 +1,87 @@ + + + + + + + DocTest QML Type | Test + + + +

    DocTest QML Type

    + + +

    Represents a doc test case. More...

    + +
    +
    Import Statement: import QDoc.Test 1.1
    Since: QDoc.Test 0.9
    + +

    Properties

    + + +

    Methods

    + + + +

    Detailed Description

    + +

    Introduction

    +

    A documentation test case, itself documented inline in DocTest.qml.

    + +

    Property Documentation

    + +
    +
    + + +

    +active : bool

    +

    Whether the test is active.

    +

    See also name.

    +
    +
    + +
    +
    + + +

    +name : string

    +

    Name of the test.

    +
    DocTest {
    +    name: "test"
    +    // ...
    +}
    +
    +
    +

    Method Documentation

    + +
    +
    + + +

    +fail(message = "oops")

    +

    Fails the current test case, with the optional message.

    +

    This method was introduced in QDoc.Test 1.0.

    +
    +
    + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html new file mode 100644 index 000000000..a227cfc0a --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html @@ -0,0 +1,28 @@ + + + + + + + List of All Members for Type | Test + + + +

    List of All Members for Type

    +

    This is the complete list of members for Type, including inherited members.

    + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html new file mode 100644 index 000000000..8bd343fa1 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html @@ -0,0 +1,141 @@ + + + + + + + Type QML Type | Test + + + +

    Type QML Type

    + + +

    A QML type documented in a .cpp file. More...

    + +
    +
    Import Statement: import QDoc.Test 1.1
    Instantiates: Test
    + +

    Properties

    + + +

    Attached Properties

    +
      +
    • type : enumeration
    • +
    + +

    Signals

    + + +

    Attached Signals

    + + +

    Methods

    + + + +

    Detailed Description

    + +

    Property Documentation

    + +

    group group

    group.first : int

    group.second : int

    group.third : int

    A property group.

    +
    +
    + +
    +
    + + +

    +[read-only] id : int

    +

    A read-only property.

    +
    +
    + +
    +
    + + +

    +name : string

    +

    Name of the Test.

    +
    +
    +

    Attached Property Documentation

    + +
    +
    + + +

    +Type.type : enumeration

    +
    + + +
    ConstantDescription
    Type.NoTypeNothing
    Type.SomeTypeSomething
    +
    +
    +

    Signal Documentation

    + +
    +
    + + +

    +completed(status)

    +

    This signal is emitted when the operation completed with status.

    +
    +
    +

    Attached Signal Documentation

    + +
    +
    + + +

    +configured()

    +

    This attached signal is emitted when the type was configured.

    +
    +
    +

    Method Documentation

    + +
    +
    + + +

    +Type copy(a)

    +

    Returns another Type based on a.

    +
    +
    + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html new file mode 100644 index 000000000..5a25e2ff1 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html @@ -0,0 +1,98 @@ + + + + + + + ProgressBar QML Type | Test + + + +

    ProgressBar QML Type

    + + +

    A component that shows the progress of an event. More...

    + +
    +
    Import Statement: import UIComponents 1.0
    + +

    Properties

    + + + +

    Detailed Description

    +

    A ProgressBar shows the linear progress of an event as its value. The range is specified using the minimum and the maximum values.

    +

    The ProgressBar component is part of the UI Components module.

    +

    This documentation is part of the UIComponents example.

    + +

    Property Documentation

    + +
    +
    + + +

    +color : color

    +

    The color of the ProgressBar's gradient. Must bind to a color type.

    +

    See also secondColor.

    +
    +
    + +
    +
    + + +

    +maximum : int

    +

    The maximum value of the ProgressBar range. The value must not be more than this value.

    +
    +
    + +
    +
    + + +

    +minimum : int

    +

    The minimum value of the ProgressBar range. The value must not be less than this value.

    +
    +
    + +
    +
    + + +

    +secondColor : color

    +

    The second color of the ProgressBar's gradient. Must bind to a color type.

    +

    See also color.

    +
    +
    + +
    +
    + + +

    +value : int

    +

    The value of the progress.

    +
    +
    + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html new file mode 100644 index 000000000..06d7ab184 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html @@ -0,0 +1,69 @@ + + + + + + + Switch QML Type | Test + + + +

    Switch QML Type

    + + +

    A component that can be turned on or off. More...

    + +
    +
    Import Statement: import UIComponents 1.0
    + +

    Properties

    +
      +
    • on : bool
    • +
    + +

    Methods

    + + + +

    Detailed Description

    +

    A toggle switch has two states: an on and an off state. The off state is when the on property is set to false.

    +

    The ToggleSwitch component is part of the UI Components module.

    +

    This documentation is part of the UIComponents example.

    + +

    Property Documentation

    + +
    +
    + + +

    +on : bool

    +

    Indicates the state of the switch. If false, then the switch is in the off state.

    +
    +
    +

    Method Documentation

    + +
    +
    + + +

    +toggle()

    +

    A method to toggle the switch. If the switch is on, the toggling it will turn it off. Toggling a switch in the off position will turn it on.

    +
    +
    + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html new file mode 100644 index 000000000..991737785 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html @@ -0,0 +1,85 @@ + + + + + + + TabWidget QML Type | Test + + + +

    TabWidget QML Type

    + + +

    A widget that places its children as tabs. More...

    + +
    +
    Import Statement: import UIComponents 1.0
    + +

    Properties

    + + + +

    Detailed Description

    +

    A TabWidget places its children as tabs in a view. Selecting a tab involves selecting the tab at the top.

    +

    The TabWidget component is part of the UI Components module.

    +

    This documentation is part of the UIComponents example.

    + +

    Adding Tabs

    +

    To add a tab, declare the tab as a child of the TabWidget.

    +
    TabWidget {
    +    id: tabwidget
    +
    +    Rectangle {
    +        id: tab1
    +        color: "red"
    +        //... omitted
    +    }
    +    Rectangle {
    +        id: tab2
    +        color: "blue"
    +        //... omitted
    +    }
    +
    +}
    + +

    Property Documentation

    + +
    +
    + + +

    +current : int

    +

    The currently active tab in the TabWidget.

    +
    +
    + +
    +
    + + +

    +[read-only] sampleReadOnlyProperty : int

    +

    A sample read-only property. A contrived property to demonstrate QDoc's ability to detect read-only properties.

    +

    The signature is:

    +
    readonly property int sampleReadOnlyProperty: 0
    +

    Note that the property must be initialized to a value.

    +
    +
    + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html b/tests/auto/qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html index 8c577ab7f..5aa475abc 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html @@ -16,5 +16,10 @@

    This module is part of the UIComponents example.

    +
    + + + +

    ProgressBar

    A component that shows the progress of an event

    Switch

    A component that can be turned on or off

    TabWidget

    A widget that places its children as tabs

    diff --git a/tests/auto/qdoc/generatedoutput/qml/DocTest.qml b/tests/auto/qdoc/generatedoutput/qml/DocTest.qml new file mode 100644 index 000000000..1ddafcfe4 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/qml/DocTest.qml @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 + +/*! + \qmltype DocTest + \inherits Test + \inqmlmodule QDoc.Test + \brief Represents a doc test case. + \since QDoc.Test 0.9 + + \section1 Introduction + + A documentation test case, itself documented inline in DocTest.qml. +*/ +Item { + id: testCase + + /*! + \qmlproperty string DocTest::name + + Name of the test. + \qml + DocTest { + name: "test" + // ... + } + \endqml + */ + property string name + + /*! + Whether the test is active. + + \sa name + */ + property bool active: true + + /*! \internal */ + property int doctest_internal: -1 + + /*! + \qmlmethod DocTest::fail(message = "oops") + \since QDoc.Test 1.0 + + Fails the current test case, with the optional \a message. + */ + function fail(msg) { + if (msg === undefined) + msg = "oops"; + } + + /*! \internal */ + function doctest_fail(msg) { + if (msg === undefined) + msg = ""; + } +} diff --git a/tests/auto/qdoc/generatedoutput/qml/componentset/ProgressBar.qml b/tests/auto/qdoc/generatedoutput/qml/componentset/ProgressBar.qml new file mode 100644 index 000000000..2a40cc488 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/qml/componentset/ProgressBar.qml @@ -0,0 +1,145 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 1.0 + +/*! + \qmltype ProgressBar + \inqmlmodule UIComponents + \brief A component that shows the progress of an event. + + A ProgressBar shows the linear progress of an event as its \l value. + The range is specified using the \l {minimum} and the \l{maximum} values. + + The ProgressBar component is part of the \l {UI Components} module. + + This documentation is part of the \l{componentset}{UIComponents} example. +*/ +Item { + id: progressbar + + /*! + The minimum value of the ProgressBar range. + The \l value must not be less than this value. + */ + property int minimum: 0 + + /*! + The maximum value of the ProgressBar range. + The \l value must not be more than this value. + */ + property int maximum: 100 + + /*! + The value of the progress. + */ + property int value: 0 + + /*! + \qmlproperty color ProgressBar::color + The color of the ProgressBar's gradient. Must bind to a color type. + + \omit + The "\qmlproperty " is needed because + property alias need to have their types manually entered. + + QDoc will not publish the documentation within omit and endomit. + \endomit + + \sa secondColor + */ + property alias color: gradient1.color + + /*! + \qmlproperty color ProgressBar::secondColor + The second color of the ProgressBar's gradient. + Must bind to a color type. + + \omit + The "\qmlproperty " is needed because + property alias need to have their types manually entered. + + QDoc will not publish the documentation within omit and endomit. + \endomit + + \sa color + */ + property alias secondColor: gradient2.color + + width: 250; height: 23 + clip: true + + Rectangle { + id: highlight + + /*! + An internal documentation comment. The widthDest property is not + a public API and therefore will not be exposed. + */ + property int widthDest: ((progressbar.width * (value - minimum)) / (maximum - minimum) - 6) + + width: highlight.widthDest + Behavior on width { SmoothedAnimation { velocity: 1200 } } + + anchors { left: parent.left; top: parent.top; bottom: parent.bottom; margins: 3 } + radius: 1 + gradient: Gradient { + GradientStop { id: gradient1; position: 0.0 } + GradientStop { id: gradient2; position: 1.0 } + } + + } + Text { + anchors { right: highlight.right; rightMargin: 6; verticalCenter: parent.verticalCenter } + color: "white" + font.bold: true + text: Math.floor((value - minimum) / (maximum - minimum) * 100) + '%' + } +} diff --git a/tests/auto/qdoc/generatedoutput/qml/componentset/Switch.qml b/tests/auto/qdoc/generatedoutput/qml/componentset/Switch.qml new file mode 100644 index 000000000..db9616b69 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/qml/componentset/Switch.qml @@ -0,0 +1,152 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 1.0 + +/*! + \qmltype ToggleSwitch + \inqmlmodule UIComponents + \brief A component that can be turned on or off. + + A toggle switch has two states: an \c on and an \c off state. The \c off + state is when the \l on property is set to \c false. + + The ToggleSwitch component is part of the \l {UI Components} module. + + This documentation is part of the \l{componentset}{UIComponents} example. + +*/ +Item { + id: toggleswitch + width: background.width; height: background.height + + /*! + Indicates the state of the switch. If \c false, then the switch is in + the \c off state. + + \omit + The \qmlproperty is not necessary as QDoc + will associate this property to the ToggleSwitch + + QDoc will not publish the documentation within omit and endomit. + \endomit + */ + property bool on: false + + + /*! + A method to toggle the switch. If the switch is \c on, the toggling it + will turn it \c off. Toggling a switch in the \c off position will + turn it \c on. + */ + function toggle() { + if (toggleswitch.state == "on") + toggleswitch.state = "off"; + else + toggleswitch.state = "on"; + } + + + /*! + \internal + + An internal function to synchronize the switch's internals. This + function is not for public access. The \internal command will + prevent QDoc from publishing this comment in the public API. + */ + function releaseSwitch() { + if (knob.x == 1) { + if (toggleswitch.state == "off") return; + } + if (knob.x == 78) { + if (toggleswitch.state == "on") return; + } + toggle(); + } + + Rectangle { + id: background + width: 130; height: 48 + radius: 48 + color: "lightsteelblue" + MouseArea { anchors.fill: parent; onClicked: toggle() } + } + + Rectangle { + id: knob + width: 48; height: 48 + radius: width + color: "lightblue" + + MouseArea { + anchors.fill: parent + drag.target: knob; drag.axis: Drag.XAxis; drag.minimumX: 1; drag.maximumX: 78 + onClicked: toggle() + onReleased: releaseSwitch() + } + } + + states: [ + State { + name: "on" + PropertyChanges { target: knob; x: 78 } + PropertyChanges { target: toggleswitch; on: true } + }, + State { + name: "off" + PropertyChanges { target: knob; x: 1 } + PropertyChanges { target: toggleswitch; on: false } + } + ] + + transitions: Transition { + NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad; duration: 200 } + } +} diff --git a/tests/auto/qdoc/generatedoutput/qml/componentset/TabWidget.qml b/tests/auto/qdoc/generatedoutput/qml/componentset/TabWidget.qml new file mode 100644 index 000000000..07fd40db9 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/qml/componentset/TabWidget.qml @@ -0,0 +1,193 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 1.0 + +/*! + \qmltype TabWidget + \inqmlmodule UIComponents + \brief A widget that places its children as tabs. + + A TabWidget places its children as tabs in a view. Selecting + a tab involves selecting the tab at the top. + + The TabWidget component is part of the \l {UI Components} module. + + This documentation is part of the \l{componentset}{UIComponents} example. + + \section1 Adding Tabs + + To add a tab, declare the tab as a child of the TabWidget. + + \code + TabWidget { + id: tabwidget + + Rectangle { + id: tab1 + color: "red" + //... omitted + } + Rectangle { + id: tab2 + color: "blue" + //... omitted + } + + } + \endcode + +*/ +Item { + id: tabWidget + + /*! + \internal + + Setting the default property to stack.children means any child items + of the TabWidget are actually added to the 'stack' item's children. + + See the \l{"Property Binding in QML"} + documentation for details on default properties. + + This is an implementation detail, not meant for public knowledge. Putting + the \internal command at the beginning will cause QDoc to not publish this + documentation in the public API page. + + Normally, a property alias needs to have a + "\qmlproperty " to assign the alias a type. + + */ + default property alias content: stack.children + + + /*! + The currently active tab in the TabWidget. + */ + property int current: 0 + + /*! + A sample \c{read-only} property. + A contrived property to demonstrate QDoc's ability to detect + read-only properties. + + The signature is: + \code + readonly property int sampleReadOnlyProperty: 0 + \endcode + + Note that the property must be initialized to a value. + + */ + readonly property int sampleReadOnlyProperty: 0 + + /*! + \internal + + This handler is an implementation + detail. The \c{\internal} command will prevent QDoc from publishing this + documentation on the public API. + */ + onCurrentChanged: setOpacities() + Component.onCompleted: setOpacities() + + /*! + \internal + + An internal function to set the opacity. + The \internal command will prevent QDoc from publishing this + documentation on the public API. + */ + function setOpacities() { + for (var i = 0; i < stack.children.length; ++i) { + stack.children[i].opacity = (i == current ? 1 : 0) + } + } + + Row { + id: header + + Repeater { + model: stack.children.length + delegate: Rectangle { + width: tabWidget.width / stack.children.length; height: 36 + + Rectangle { + width: parent.width; height: 1 + anchors { bottom: parent.bottom; bottomMargin: 1 } + color: "#acb2c2" + } + BorderImage { + anchors { fill: parent; leftMargin: 2; topMargin: 5; rightMargin: 1 } + border { left: 7; right: 7 } + source: "tab.png" + visible: tabWidget.current == index + } + Text { + horizontalAlignment: Qt.AlignHCenter; verticalAlignment: Qt.AlignVCenter + anchors.fill: parent + text: stack.children[index].title + elide: Text.ElideRight + font.bold: tabWidget.current == index + } + MouseArea { + anchors.fill: parent + onClicked: tabWidget.current = index + } + } + } + } + + Item { + id: stack + width: tabWidget.width + anchors.top: header.bottom; anchors.bottom: tabWidget.bottom + } +} diff --git a/tests/auto/qdoc/generatedoutput/qml/componentset/componentset.pro b/tests/auto/qdoc/generatedoutput/qml/componentset/componentset.pro new file mode 100644 index 000000000..5b44737c2 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/qml/componentset/componentset.pro @@ -0,0 +1,5 @@ +SOURCES = componentset.pro \ + ProgressBar.qml \ + Switch.qml \ + TabWidget.qml \ + uicomponents.qdoc diff --git a/tests/auto/qdoc/generatedoutput/qml/componentset/examples.qdoc b/tests/auto/qdoc/generatedoutput/qml/componentset/examples.qdoc new file mode 100644 index 000000000..7c780eca8 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/qml/componentset/examples.qdoc @@ -0,0 +1,97 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \example componentset + \title QML Documentation Example + + This example demonstrates one of the ways to document QML types. + + In particular, there are sample types that are documented with QDoc + commands comments. There are documentation comments for the QML types + and their public interfaces. The types are grouped into a module, the + \l{UI Components} module. + + The \l{componentset/uicomponents.qdoc.sample}{uicomponents.qdoc} file generates + the overview page for the \l{UI Components} module page. + + The generated documentation is available in the \l{UI Components} module. + + \section1 QML Class + + The QML types use the \l{qmltype-command}{\\qmltype} to document the + type. In addition, they have the \l{inmodule-command}{\\inmodule} + command in order for QDoc to associate them to the \c UIComponents module. + + QDoc uses the \l{brief-command}{\\brief} command to place a basic + description when listing the types. + + \section1 Properties, Signals, Handlers, and Methods + + The types have their properties, signals, handlers, and methods + defined in their respective QML files. QDoc associates the properties and + methods to the types, therefore, you only need to place the + documentation above the property, method, or signal. + + To document the type of a \e {property alias}, you must use the + \l{qmlproperty-command}{\\qmlproperty} command to specify the data type. + + \code + \qmlproperty int anAliasedProperty + An aliased property of type int. + \endcode + + \section2 Internal Documentation + + You may declare that a documentation is for internal use by placing the + \l{internal-command}{\\internal} command after the beginning QDoc comment + \begincomment. QDoc will prevent the internal documentation from appearing + in the public API. + + If you wish to omit certain parts of the documentation, you may use the + \l{omit-command}{\\omit} and \l{omit-command}{\\endomit} command. + + \section1 QML Types with C++ Implementation + + This example only demonstrates the documentation for types in QML + files, but the regular \l{qml-documentation}{QML commands} may be placed + inside C++ classes to define the public API of the QML type. + +*/ + + +/*! + \qmlmodule UIComponents 1.0 + \title UI Components + \brief Basic set of UI components + + This is a listing of a list of UI components implemented by QML types. These + files are available for general import and they are based on the + \l{Qt Quick Examples and Tutorials}{Qt Quick Code Samples}. + + This module is part of the \l{componentset}{UIComponents} example. +*/ diff --git a/tests/auto/qdoc/generatedoutput/qml/componentset/uicomponents.qdoc.sample b/tests/auto/qdoc/generatedoutput/qml/componentset/uicomponents.qdoc.sample new file mode 100644 index 000000000..0c6d187ed --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/qml/componentset/uicomponents.qdoc.sample @@ -0,0 +1,38 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \qmlmodule UIComponents 1.0 + \title UI Components + \brief Basic set of UI components + + This is a listing of a list of UI components implemented by QML types. These + files are available for general import and they are based off the \l{Qt + Quick Code Samples}. + + This module is part of the \l{componentset}{UIComponents} example. +*/ diff --git a/tests/auto/qdoc/generatedoutput/qml/parent.qdoc b/tests/auto/qdoc/generatedoutput/qml/parent.qdoc new file mode 100644 index 000000000..e0bed66c0 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/qml/parent.qdoc @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \qmltype AbstractParent + \inqmlmodule QDoc.Test + \qmlabstract + \brief Abstract base QML type. +*/ + +/*! + \qmlproperty list AbstractParent::children + \default + \brief Children of the type. +*/ + +/*! + \qmlmethod void AbstractParent::rear(Child child) + \brief Do some abstract parenting on \a child. +*/ + +/*! + \qmltype Child + \inqmlmodule QDoc.Test + \inherits AbstractParent + \brief A Child inheriting its parent. +*/ + +/*! + \qmlbasictype int + \inqmlmodule QDoc.Test + + \brief An integer basic type. +*/ diff --git a/tests/auto/qdoc/generatedoutput/qml/type.cpp b/tests/auto/qdoc/generatedoutput/qml/type.cpp new file mode 100644 index 000000000..db3dd1047 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/qml/type.cpp @@ -0,0 +1,87 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "testcpp.h" + +/*! + \qmlmodule QDoc.Test \QDocTestVer + \brief QML Types for the Test module. +*/ + +/*! + \qmltype Type + \instantiates TestQDoc::Test + \inqmlmodule QDoc.Test + \brief A QML type documented in a .cpp file. +*/ + +/*! + \qmlproperty int Type::id + \readonly + \brief A read-only property. +*/ + +/*! + \qmlproperty string QDoc.Test::Type::name + \brief Name of the Test. +*/ + +/*! + \qmlattachedproperty enumeration Type::type + + \value Type.NoType + Nothing + \value Type.SomeType + Something +*/ + +/*! + \qmlproperty int Type::group.first + \qmlproperty int Type::group.second + \qmlproperty int Type::group.third + + \brief A property group. +*/ + +/*! + \qmlmethod Type Type::copy(a) + + Returns another Type based on \a a. +*/ + +/*! + \qmlsignal Type::completed(int status) + + This signal is emitted when the operation completed with \a status. +*/ + +/*! + \qmlattachedsignal Type::configured() + + This attached signal is emitted when the type was configured. +*/ diff --git a/tests/auto/qdoc/generatedoutput/testqml.qdocconf b/tests/auto/qdoc/generatedoutput/testqml.qdocconf index 769c3d627..00d12a463 100644 --- a/tests/auto/qdoc/generatedoutput/testqml.qdocconf +++ b/tests/auto/qdoc/generatedoutput/testqml.qdocconf @@ -1,10 +1,15 @@ +include(testcpp.qdocconf) project = Test description = "A test project for QDoc build artifacts" -moduleheader= outputdir = ./html -exampledirs = . -sources.fileextensions = \ - examples.qdoc +exampledirs = qml + +headerdirs += . +sourcedirs += qml + +sources.fileextensions = "*.qml *.cpp *.qdoc" +headers.fileextensions = "*.h" macro.begincomment = "\\c{/*}" +macro.QDocTestVer = "1.1" diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index 6c8211125..191671361 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -155,7 +155,17 @@ void tst_generatedOutput::htmlFromQml() { testAndCompare("testqml.qdocconf", "test-componentset-example.html " - "uicomponents-qmlmodule.html"); + "uicomponents-qmlmodule.html " + "qdoc-test-qmlmodule.html " + "qml-qdoc-test-abstractparent.html " + "qml-qdoc-test-child.html " + "qml-qdoc-test-doctest.html " + "qml-qdoc-test-type-members.html " + "qml-qdoc-test-type.html " + "qml-uicomponents-progressbar.html " + "qml-uicomponents-switch.html " + "qml-uicomponents-tabwidget.html " + "qml-int.html"); } void tst_generatedOutput::htmlFromCppBug80259() -- cgit v1.2.3 From 0a89b6fd703e1b167222575a86301b15530a4704 Mon Sep 17 00:00:00 2001 From: Levon Sargsyan Date: Fri, 6 Dec 2019 11:21:40 +0100 Subject: QDoc: remove dead/unreachable code reported via coverity This patch removes structuraly and logically dead code, reported via coverity scan and reported to appropriate categories of "dead code". Coverity-Id: 11018 Coverity-Id: 226101 Coverity-Id: 226127 Change-Id: I1930299c57ff10875c5b7e2df51895d9dee42fac Reviewed-by: Paul Wicking Reviewed-by: Levon Sargsyan --- src/qdoc/htmlgenerator.cpp | 23 +---------------------- src/qdoc/node.cpp | 1 - 2 files changed, 1 insertion(+), 23 deletions(-) diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 5bfa2daeb..b994dfeea 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -580,12 +580,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark // now widely used to write teletype text. As a result, text marked // with the \c command is not passed to a code marker. out() << formattingLeftMap()[ATOM_FORMATTING_TELETYPE]; - if (inLink_) { - out() << protectEnc(plainCode(atom->string())); - } - else { - out() << protectEnc(plainCode(atom->string())); - } + out() << protectEnc(plainCode(atom->string())); out() << formattingRightMap()[ATOM_FORMATTING_TELETYPE]; break; case Atom::CaptionLeft: @@ -939,23 +934,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark QString target = qdb_->getNewLinkTarget(relative, node, outFileName(), text); out() << ""; } - /* - mws saw this on 17/10/2014. - Is this correct? Setting node to 0 means the - following test always fails. Did we decide to - no longer warn about linking to obsolete things? - */ node = nullptr; - if (node && node->isObsolete()) { - if ((relative->parent() != node) && !relative->isObsolete()) { - inObsoleteLink = true; - if (obsoleteLinks) { - relative->doc().location().warning(tr("Link to obsolete item '%1' in %2") - .arg(atom->string()) - .arg(relative->plainFullName())); - } - } - } } beginLink(link, node, relative); skipAhead = 1; diff --git a/src/qdoc/node.cpp b/src/qdoc/node.cpp index bba1bd582..0f3098a04 100644 --- a/src/qdoc/node.cpp +++ b/src/qdoc/node.cpp @@ -4231,7 +4231,6 @@ QString FunctionNode::metanessString() const default: return "plain"; } - return QString(); } /*! -- cgit v1.2.3 From ee87edebe6f934ec915b7cb4a0f5a28f73e9f221 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 26 Nov 2019 09:27:26 +0100 Subject: Qt Designer: Migrate from QList to QVector Change-Id: I75f6f4b7157616ba86bf520e1936536571a66ba5 Reviewed-by: Jarek Kobus --- .../taskmenuextension/tictactoetaskmenu.cpp | 4 +- .../designer/taskmenuextension/tictactoetaskmenu.h | 2 +- .../src/components/formeditor/formeditor.cpp | 2 +- .../src/components/formeditor/formwindow.cpp | 4 +- .../src/components/formeditor/formwindow.h | 2 +- .../components/formeditor/formwindow_widgetstack.h | 2 +- .../components/formeditor/formwindowmanager.cpp | 2 +- .../src/components/formeditor/formwindowmanager.h | 4 +- .../components/formeditor/qdesigner_resource.cpp | 14 ++-- .../src/components/formeditor/qdesigner_resource.h | 6 +- .../formeditor/qmainwindow_container.cpp | 2 +- .../objectinspector/objectinspectormodel_p.h | 4 +- .../propertyeditor/designerpropertymanager.cpp | 8 +-- .../propertyeditor/designerpropertymanager.h | 50 +++++++------- .../propertyeditor/fontpropertymanager.h | 2 +- .../components/propertyeditor/propertyeditor.cpp | 8 +-- .../src/components/propertyeditor/propertyeditor.h | 8 +-- .../signalsloteditor/signalslot_utils_p.h | 2 +- .../src/components/taskmenu/button_taskmenu.cpp | 8 +-- .../src/components/taskmenu/button_taskmenu.h | 8 +-- .../src/components/taskmenu/combobox_taskmenu.cpp | 2 +- .../src/components/taskmenu/combobox_taskmenu.h | 4 +- .../taskmenu/containerwidget_taskmenu.cpp | 6 +- .../components/taskmenu/containerwidget_taskmenu.h | 10 +-- .../src/components/taskmenu/groupbox_taskmenu.cpp | 2 +- .../src/components/taskmenu/groupbox_taskmenu.h | 4 +- .../src/components/taskmenu/itemlisteditor.h | 4 +- .../src/components/taskmenu/label_taskmenu.cpp | 2 +- .../src/components/taskmenu/label_taskmenu.h | 4 +- .../src/components/taskmenu/layouttaskmenu.cpp | 6 +- .../src/components/taskmenu/layouttaskmenu.h | 4 +- .../src/components/taskmenu/lineedit_taskmenu.cpp | 2 +- .../src/components/taskmenu/lineedit_taskmenu.h | 4 +- .../components/taskmenu/listwidget_taskmenu.cpp | 2 +- .../src/components/taskmenu/listwidget_taskmenu.h | 4 +- .../src/components/taskmenu/menutaskmenu.cpp | 6 +- .../src/components/taskmenu/menutaskmenu.h | 4 +- .../components/taskmenu/tablewidget_taskmenu.cpp | 2 +- .../src/components/taskmenu/tablewidget_taskmenu.h | 4 +- .../src/components/taskmenu/textedit_taskmenu.cpp | 2 +- .../src/components/taskmenu/textedit_taskmenu.h | 4 +- .../src/components/taskmenu/toolbar_taskmenu.cpp | 6 +- .../src/components/taskmenu/toolbar_taskmenu.h | 4 +- .../components/taskmenu/treewidget_taskmenu.cpp | 2 +- .../src/components/taskmenu/treewidget_taskmenu.h | 4 +- .../src/components/taskmenu/treewidgeteditor.cpp | 4 +- .../src/components/widgetbox/widgetbox.cpp | 4 +- src/designer/src/components/widgetbox/widgetbox.h | 2 +- .../widgetbox/widgetboxcategorylistview.h | 2 +- .../components/widgetbox/widgetboxtreewidget.cpp | 2 +- .../src/components/widgetbox/widgetboxtreewidget.h | 2 +- ...ols_designer_src_lib_sdk_abstractformwindow.cpp | 2 +- .../doc/snippets/plugins/doc_src_qtdesigner.cpp | 8 +-- src/designer/src/designer/mainwindow.cpp | 2 +- src/designer/src/designer/preferencesdialog.h | 2 +- src/designer/src/designer/qdesigner_actions.cpp | 4 +- src/designer/src/designer/qdesigner_workbench.cpp | 2 +- src/designer/src/lib/extension/qextensionmanager.h | 2 +- src/designer/src/lib/sdk/abstractformeditor.cpp | 6 +- src/designer/src/lib/sdk/abstractformeditor.h | 4 +- src/designer/src/lib/sdk/abstractformwindow.cpp | 2 +- src/designer/src/lib/sdk/abstractformwindow.h | 2 +- .../src/lib/sdk/abstractformwindowmanager.cpp | 2 +- .../src/lib/sdk/abstractformwindowmanager.h | 2 +- src/designer/src/lib/sdk/abstractmetadatabase.cpp | 6 +- src/designer/src/lib/sdk/abstractmetadatabase.h | 6 +- .../src/lib/sdk/abstractpromotioninterface.cpp | 2 +- .../src/lib/sdk/abstractpromotioninterface.h | 4 +- src/designer/src/lib/sdk/abstractwidgetbox.cpp | 2 +- src/designer/src/lib/sdk/abstractwidgetbox.h | 6 +- .../src/lib/sdk/abstractwidgetdatabase.cpp | 4 +- src/designer/src/lib/sdk/abstractwidgetdatabase.h | 6 +- src/designer/src/lib/sdk/layoutdecoration.h | 2 +- src/designer/src/lib/sdk/layoutdecoration.qdoc | 2 +- src/designer/src/lib/sdk/membersheet.h | 4 +- src/designer/src/lib/sdk/membersheet.qdoc | 4 +- src/designer/src/lib/sdk/taskmenu.h | 2 +- src/designer/src/lib/sdk/taskmenu.qdoc | 2 +- src/designer/src/lib/shared/actioneditor_p.h | 2 +- src/designer/src/lib/shared/actionrepository_p.h | 6 +- src/designer/src/lib/shared/formlayoutmenu_p.h | 2 +- src/designer/src/lib/shared/formwindowbase.cpp | 2 +- src/designer/src/lib/shared/formwindowbase_p.h | 2 +- src/designer/src/lib/shared/morphmenu_p.h | 2 +- src/designer/src/lib/shared/pluginmanager.cpp | 4 +- src/designer/src/lib/shared/pluginmanager_p.h | 2 +- src/designer/src/lib/shared/promotionmodel.cpp | 2 +- src/designer/src/lib/shared/promotiontaskmenu_p.h | 4 +- src/designer/src/lib/shared/qdesigner_dnditem_p.h | 2 +- .../src/lib/shared/qdesigner_formbuilder.cpp | 2 +- .../src/lib/shared/qdesigner_formbuilder_p.h | 2 +- .../src/lib/shared/qdesigner_membersheet.cpp | 17 ++--- .../src/lib/shared/qdesigner_membersheet_p.h | 4 +- src/designer/src/lib/shared/qdesigner_menubar.cpp | 2 +- src/designer/src/lib/shared/qdesigner_menubar_p.h | 2 +- .../src/lib/shared/qdesigner_promotion.cpp | 2 +- .../src/lib/shared/qdesigner_promotion_p.h | 2 +- .../src/lib/shared/qdesigner_promotiondialog.cpp | 2 +- .../src/lib/shared/qdesigner_propertycommand_p.h | 8 +-- .../src/lib/shared/qdesigner_propertysheet.cpp | 2 +- src/designer/src/lib/shared/qdesigner_taskmenu.cpp | 4 +- src/designer/src/lib/shared/qdesigner_taskmenu_p.h | 2 +- src/designer/src/lib/shared/qdesigner_toolbar.cpp | 2 +- src/designer/src/lib/shared/qdesigner_toolbar_p.h | 2 +- src/designer/src/lib/shared/qlayout_widget.cpp | 4 +- src/designer/src/lib/shared/qsimpleresource_p.h | 2 +- .../src/lib/shared/qtresourceeditordialog.cpp | 32 ++++----- src/designer/src/lib/shared/qtresourcemodel.cpp | 4 +- src/designer/src/lib/shared/qtresourcemodel_p.h | 2 +- src/designer/src/lib/shared/widgetdatabase.cpp | 10 +-- src/designer/src/lib/shared/widgetdatabase_p.h | 10 +-- src/designer/src/lib/uilib/abstractformbuilder.cpp | 50 +++++++------- src/designer/src/lib/uilib/abstractformbuilder.h | 6 +- src/designer/src/lib/uilib/formbuilder.cpp | 6 +- src/designer/src/lib/uilib/formbuilder.h | 4 +- src/designer/src/lib/uilib/formbuilderextra_p.h | 4 +- .../src/plugins/activeqt/qaxwidgetextrainfo.cpp | 2 +- .../src/plugins/activeqt/qaxwidgettaskmenu.cpp | 2 +- .../src/plugins/activeqt/qaxwidgettaskmenu.h | 4 +- src/designer/src/uiplugin/customwidget.h | 2 +- src/designer/src/uiplugin/customwidget.qdoc | 2 +- src/designer/src/uitools/quiloader.cpp | 4 +- src/shared/deviceskin/deviceskin.h | 2 +- src/shared/fontpanel/fontpanel.cpp | 2 +- src/shared/qtgradienteditor/qtcolorline.cpp | 2 +- .../qtgradienteditor/qtgradientstopsmodel.cpp | 2 +- src/shared/qtgradienteditor/qtgradientstopsmodel.h | 2 +- .../qtgradienteditor/qtgradientstopswidget.cpp | 8 +-- .../qtpropertybrowser/qtbuttonpropertybrowser.cpp | 8 +-- src/shared/qtpropertybrowser/qteditorfactory.cpp | 2 +- .../qtgroupboxpropertybrowser.cpp | 6 +- src/shared/qtpropertybrowser/qtpropertybrowser.cpp | 28 ++++---- src/shared/qtpropertybrowser/qtpropertybrowser.h | 10 +-- src/shared/qtpropertybrowser/qtpropertymanager.cpp | 8 +-- src/shared/qttoolbardialog/qttoolbardialog.cpp | 76 +++++++++++----------- src/shared/qttoolbardialog/qttoolbardialog.h | 2 +- 136 files changed, 369 insertions(+), 372 deletions(-) diff --git a/examples/designer/taskmenuextension/tictactoetaskmenu.cpp b/examples/designer/taskmenuextension/tictactoetaskmenu.cpp index 75d1f625c..4ea54e3ae 100644 --- a/examples/designer/taskmenuextension/tictactoetaskmenu.cpp +++ b/examples/designer/taskmenuextension/tictactoetaskmenu.cpp @@ -81,9 +81,9 @@ QAction *TicTacToeTaskMenu::preferredEditAction() const //! [2] //! [3] -QList TicTacToeTaskMenu::taskActions() const +QVector TicTacToeTaskMenu::taskActions() const { - return QList{editStateAction}; + return {editStateAction}; } //! [3] diff --git a/examples/designer/taskmenuextension/tictactoetaskmenu.h b/examples/designer/taskmenuextension/tictactoetaskmenu.h index a57ded625..8f0f9ce8a 100644 --- a/examples/designer/taskmenuextension/tictactoetaskmenu.h +++ b/examples/designer/taskmenuextension/tictactoetaskmenu.h @@ -70,7 +70,7 @@ public: explicit TicTacToeTaskMenu(TicTacToe *tic, QObject *parent); QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private slots: void editState(); diff --git a/src/designer/src/components/formeditor/formeditor.cpp b/src/designer/src/components/formeditor/formeditor.cpp index 05e7fc4ee..0e1db2501 100644 --- a/src/designer/src/components/formeditor/formeditor.cpp +++ b/src/designer/src/components/formeditor/formeditor.cpp @@ -142,7 +142,7 @@ FormEditor::FormEditor(QObject *parent) connect(resourceModel, &QtResourceModel::qrcFileModifiedExternally, this, &FormEditor::slotQrcFileChangedExternally); - QList optionsPages; + QVector optionsPages; optionsPages << new TemplateOptionsPage(this) << new FormEditorOptionsPage(this) << new EmbeddedOptionsPage(this); setOptionsPages(optionsPages); diff --git a/src/designer/src/components/formeditor/formwindow.cpp b/src/designer/src/components/formeditor/formwindow.cpp index 84e065bcb..8285d84c5 100644 --- a/src/designer/src/components/formeditor/formwindow.cpp +++ b/src/designer/src/components/formeditor/formwindow.cpp @@ -723,7 +723,7 @@ bool FormWindow::handleMouseMoveEvent(QWidget *, QWidget *, QMouseEvent *e) sel.prepend(current); } - QList item_list; + QVector item_list; const QPoint globalPos = mapToGlobal(m_startPos); const QDesignerDnDItemInterface::DropType dropType = (mouseFlags(e->modifiers()) & CopyDragModifier) ? QDesignerDnDItemInterface::CopyDrop : QDesignerDnDItemInterface::MoveDrop; @@ -2827,7 +2827,7 @@ bool FormWindow::dropDockWidget(QDesignerDnDItemInterface *item, const QPoint &g return true; } -bool FormWindow::dropWidgets(const QList &item_list, QWidget *target, +bool FormWindow::dropWidgets(const QVector &item_list, QWidget *target, const QPoint &global_mouse_pos) { diff --git a/src/designer/src/components/formeditor/formwindow.h b/src/designer/src/components/formeditor/formwindow.h index abecc8252..cb5019d35 100644 --- a/src/designer/src/components/formeditor/formwindow.h +++ b/src/designer/src/components/formeditor/formwindow.h @@ -189,7 +189,7 @@ public: void resizeWidget(QWidget *widget, const QRect &geometry); bool dropDockWidget(QDesignerDnDItemInterface *item, const QPoint &global_mouse_pos); - bool dropWidgets(const QList &item_list, QWidget *target, + bool dropWidgets(const QVector &item_list, QWidget *target, const QPoint &global_mouse_pos) override; QWidget *findContainer(QWidget *w, bool excludeLayout) const override; diff --git a/src/designer/src/components/formeditor/formwindow_widgetstack.h b/src/designer/src/components/formeditor/formwindow_widgetstack.h index 01ee921fd..e1a5dd161 100644 --- a/src/designer/src/components/formeditor/formwindow_widgetstack.h +++ b/src/designer/src/components/formeditor/formwindow_widgetstack.h @@ -76,7 +76,7 @@ protected: QWidget *defaultEditor() const; private: - QList m_tools; + QVector m_tools; QWidget *m_formContainer; QStackedLayout *m_formContainerLayout; QStackedLayout *m_layout; diff --git a/src/designer/src/components/formeditor/formwindowmanager.cpp b/src/designer/src/components/formeditor/formwindowmanager.cpp index 692b20c54..ce3db6583 100644 --- a/src/designer/src/components/formeditor/formwindowmanager.cpp +++ b/src/designer/src/components/formeditor/formwindowmanager.cpp @@ -955,7 +955,7 @@ void FormWindowManager::deviceProfilesChanged() // DnD stuff -void FormWindowManager::dragItems(const QList &item_list) +void FormWindowManager::dragItems(const QVector &item_list) { QDesignerMimeData::execDrag(item_list, m_core->topLevel()); } diff --git a/src/designer/src/components/formeditor/formwindowmanager.h b/src/designer/src/components/formeditor/formwindowmanager.h index d9723cea6..cae24e407 100644 --- a/src/designer/src/components/formeditor/formwindowmanager.h +++ b/src/designer/src/components/formeditor/formwindowmanager.h @@ -77,7 +77,7 @@ public: bool eventFilter(QObject *o, QEvent *e) override; - void dragItems(const QList &item_list) override; + void dragItems(const QVector &item_list) override; QUndoGroup *undoGroup() const; @@ -122,7 +122,7 @@ private: QDesignerFormEditorInterface *m_core; FormWindow *m_activeFormWindow; - QList m_formWindows; + QVector m_formWindows; PreviewManager *m_previewManager; diff --git a/src/designer/src/components/formeditor/qdesigner_resource.cpp b/src/designer/src/components/formeditor/qdesigner_resource.cpp index ff4a42744..0725f9d1e 100644 --- a/src/designer/src/components/formeditor/qdesigner_resource.cpp +++ b/src/designer/src/components/formeditor/qdesigner_resource.cpp @@ -108,7 +108,7 @@ Q_DECLARE_METATYPE(QWidgetList) QT_BEGIN_NAMESPACE namespace { - using DomPropertyList = QList; + using DomPropertyList = QVector; } static const char *currentUiVersion = "4.0"; @@ -939,7 +939,7 @@ static bool readDomEnumerationValue(const DomProperty *p, return false; } -void QDesignerResource::applyProperties(QObject *o, const QList &properties) +void QDesignerResource::applyProperties(QObject *o, const QVector &properties) { if (properties.isEmpty()) return; @@ -1387,7 +1387,7 @@ DomWidget *QDesignerResource::saveWidget(QTabWidget *widget, DomWidget *ui_paren designerWarning(msgUnmanagedPage(core(), widget, i, page)); continue; } - QList ui_attribute_list; + QVector ui_attribute_list; const QFormBuilderStrings &strings = QFormBuilderStrings::instance(); // attribute `icon' @@ -1456,7 +1456,7 @@ DomWidget *QDesignerResource::saveWidget(QToolBox *widget, DomWidget *ui_parentW } // attribute `label' - QList ui_attribute_list; + QVector ui_attribute_list; const QFormBuilderStrings &strings = QFormBuilderStrings::instance(); @@ -1889,13 +1889,13 @@ bool QDesignerResource::canCompressSpacings(QObject *object) const return false; } -QList QDesignerResource::computeProperties(QObject *object) +QVector QDesignerResource::computeProperties(QObject *object) { - QList properties; + QVector properties; if (QDesignerPropertySheetExtension *sheet = qt_extension(core()->extensionManager(), object)) { QDesignerDynamicPropertySheetExtension *dynamicSheet = qt_extension(core()->extensionManager(), object); const int count = sheet->count(); - QList spacingProperties; + QVector spacingProperties; const bool compressSpacings = canCompressSpacings(object); for (int index = 0; index < count; ++index) { if (!sheet->isChanged(index) && (!dynamicSheet || !dynamicSheet->isDynamicProperty(index))) diff --git a/src/designer/src/components/formeditor/qdesigner_resource.h b/src/designer/src/components/formeditor/qdesigner_resource.h index d667f1372..78e4bacb6 100644 --- a/src/designer/src/components/formeditor/qdesigner_resource.h +++ b/src/designer/src/components/formeditor/qdesigner_resource.h @@ -90,8 +90,8 @@ protected: QWidget *create(DomWidget *ui_widget, QWidget *parentWidget) override; QLayout *create(DomLayout *ui_layout, QLayout *layout, QWidget *parentWidget) override; QLayoutItem *create(DomLayoutItem *ui_layoutItem, QLayout *layout, QWidget *parentWidget) override; - void applyProperties(QObject *o, const QList &properties) override; - QList computeProperties(QObject *obj) override; + void applyProperties(QObject *o, const QVector &properties) override; + QVector computeProperties(QObject *obj) override; DomProperty *createProperty(QObject *object, const QString &propertyName, const QVariant &value) override; QWidget *createWidget(const QString &widgetName, QWidget *parentWidget, const QString &name) override; @@ -145,7 +145,7 @@ private: QStringList mergeWithLoadedPaths(const QStringList &paths) const; void applyAttributesToPropertySheet(const DomWidget *ui_widget, QWidget *widget); - using DomCustomWidgetList = QList; + using DomCustomWidgetList = QVector; void addCustomWidgetsToWidgetDatabase(DomCustomWidgetList& list); FormWindow *m_formWindow; bool m_isMainWidget; diff --git a/src/designer/src/components/formeditor/qmainwindow_container.cpp b/src/designer/src/components/formeditor/qmainwindow_container.cpp index 180c38e79..37b376115 100644 --- a/src/designer/src/components/formeditor/qmainwindow_container.cpp +++ b/src/designer/src/components/formeditor/qmainwindow_container.cpp @@ -92,7 +92,7 @@ Qt::DockWidgetArea dockWidgetArea(QDockWidget *me) if (const QMainWindow *mw = qobject_cast(me->parentWidget())) { // Make sure that me is actually managed by mw, otherwise // QMainWindow::dockWidgetArea() will be VERY upset - QList candidates; + QVector candidates; if (mw->layout()) { candidates.append(mw->layout()); candidates += mw->layout()->findChildren(); diff --git a/src/designer/src/components/objectinspector/objectinspectormodel_p.h b/src/designer/src/components/objectinspector/objectinspectormodel_p.h index 14bcf78cb..35446cc49 100644 --- a/src/designer/src/components/objectinspector/objectinspectormodel_p.h +++ b/src/designer/src/components/objectinspector/objectinspectormodel_p.h @@ -76,7 +76,7 @@ namespace qdesigner_internal { ExtensionContainer // QTabWidget and the like, container extension }; - using StandardItemList = QList; + using StandardItemList = QVector; explicit ObjectData(QObject *parent, QObject *object, const ModelRecursionContext &ctx); ObjectData(); @@ -121,7 +121,7 @@ namespace qdesigner_internal { // internally for its updates. class ObjectInspectorModel : public QStandardItemModel { public: - using StandardItemList = QList; + using StandardItemList = QVector; enum { ObjectNameColumn, ClassNameColumn, NumColumns }; explicit ObjectInspectorModel(QObject *parent); diff --git a/src/designer/src/components/propertyeditor/designerpropertymanager.cpp b/src/designer/src/components/propertyeditor/designerpropertymanager.cpp index 27d265696..94853da86 100644 --- a/src/designer/src/components/propertyeditor/designerpropertymanager.cpp +++ b/src/designer/src/components/propertyeditor/designerpropertymanager.cpp @@ -1291,7 +1291,7 @@ void DesignerPropertyManager::setAttribute(QtProperty *property, } pfit.value().clear(); - QList values; + QVector values; for (const QPair &pair : flags) { const QString flagName = pair.first; @@ -2040,7 +2040,7 @@ void DesignerPropertyManager::initializeProperty(QtProperty *property) default: if (type == designerFlagTypeId()) { m_flagValues[property] = FlagData(); - m_propertyToFlags[property] = QList(); + m_propertyToFlags[property] = QVector(); } else if (type == designerAlignmentTypeId()) { const uint align = Qt::AlignLeft | Qt::AlignVCenter; m_alignValues[property] = align; @@ -2266,7 +2266,7 @@ void DesignerEditorFactory::disconnectPropertyManager(QtVariantPropertyManager * } // A helper that calls a setter with a value on a pointer list of editor objects. -// Could use QList instead of EditorContainer/Editor, but that crashes VS 6. +// Could use QVector instead of EditorContainer/Editor, but that crashes VS 6. template static inline void applyToEditors(const EditorContainer &list, void (Editor::*setter)(SetterParameter), const Value &value) { @@ -2544,7 +2544,7 @@ QWidget *DesignerEditorFactory::createEditor(QtVariantPropertyManager *manager, template bool removeEditor(QObject *object, - QMap > *propertyToEditors, + QMap > *propertyToEditors, QMap *editorToProperty) { if (!propertyToEditors) diff --git a/src/designer/src/components/propertyeditor/designerpropertymanager.h b/src/designer/src/components/propertyeditor/designerpropertymanager.h index abc6e385c..85c183a31 100644 --- a/src/designer/src/components/propertyeditor/designerpropertymanager.h +++ b/src/designer/src/components/propertyeditor/designerpropertymanager.h @@ -44,7 +44,7 @@ QT_BEGIN_NAMESPACE typedef QPair DesignerIntPair; -using DesignerFlagList = QList; +using DesignerFlagList = QVector; class QDesignerFormEditorInterface; class QLineEdit; @@ -80,7 +80,7 @@ private slots: void slotPropertyChanged(QtProperty *property); void slotEditorDestroyed(QObject *object); private: - QMap > m_createdResetWidgets; + QMap > m_createdResetWidgets; QMap m_resetWidgetToProperty; int m_spacing; const QDesignerFormEditorInterface *m_core; @@ -180,11 +180,11 @@ private: { uint val{0}; DesignerFlagList flags; - QList values; + QVector values; }; typedef QMap PropertyFlagDataMap; PropertyFlagDataMap m_flagValues; - typedef QMap > PropertyToPropertyListMap; + typedef QMap > PropertyToPropertyListMap; PropertyToPropertyListMap m_propertyToFlags; QMap m_flagToProperty; @@ -290,28 +290,28 @@ private: int m_spacing; - QMap > m_stringPropertyToEditors; - QMap m_editorToStringProperty; - QMap > m_keySequencePropertyToEditors; + QMap > m_stringPropertyToEditors; + QMap m_editorToStringProperty; + QMap > m_keySequencePropertyToEditors; QMap m_editorToKeySequenceProperty; - QMap > m_palettePropertyToEditors; - QMap m_editorToPaletteProperty; - QMap > m_pixmapPropertyToEditors; - QMap m_editorToPixmapProperty; - QMap > m_iconPropertyToEditors; - QMap m_editorToIconProperty; - QMap > m_uintPropertyToEditors; - QMap m_editorToUintProperty; - QMap > m_longLongPropertyToEditors; - QMap m_editorToLongLongProperty; - QMap > m_uLongLongPropertyToEditors; - QMap m_editorToULongLongProperty; - QMap > m_urlPropertyToEditors; - QMap m_editorToUrlProperty; - QMap > m_byteArrayPropertyToEditors; - QMap m_editorToByteArrayProperty; - QMap > m_stringListPropertyToEditors; - QMap m_editorToStringListProperty; + QMap > m_palettePropertyToEditors; + QMap m_editorToPaletteProperty; + QMap > m_pixmapPropertyToEditors; + QMap m_editorToPixmapProperty; + QMap > m_iconPropertyToEditors; + QMap m_editorToIconProperty; + QMap > m_uintPropertyToEditors; + QMap m_editorToUintProperty; + QMap > m_longLongPropertyToEditors; + QMap m_editorToLongLongProperty; + QMap > m_uLongLongPropertyToEditors; + QMap m_editorToULongLongProperty; + QMap > m_urlPropertyToEditors; + QMap m_editorToUrlProperty; + QMap > m_byteArrayPropertyToEditors; + QMap m_editorToByteArrayProperty; + QMap > m_stringListPropertyToEditors; + QMap m_editorToStringListProperty; }; } // namespace qdesigner_internal diff --git a/src/designer/src/components/propertyeditor/fontpropertymanager.h b/src/designer/src/components/propertyeditor/fontpropertymanager.h index 1041cd357..fd6c5186f 100644 --- a/src/designer/src/components/propertyeditor/fontpropertymanager.h +++ b/src/designer/src/components/propertyeditor/fontpropertymanager.h @@ -81,7 +81,7 @@ public: private: using PropertyToPropertyMap = QMap; - using PropertyList = QList; + using PropertyList = QVector; using PropertyToSubPropertiesMap = QMap; void removeAntialiasingProperty(QtProperty *); diff --git a/src/designer/src/components/propertyeditor/propertyeditor.cpp b/src/designer/src/components/propertyeditor/propertyeditor.cpp index 392f1c3f5..70bbcdb34 100644 --- a/src/designer/src/components/propertyeditor/propertyeditor.cpp +++ b/src/designer/src/components/propertyeditor/propertyeditor.cpp @@ -432,7 +432,7 @@ bool PropertyEditor::isItemVisible(QtBrowserItem *item) const * - Anything below (properties) is assumed to be collapsed * That is, the map is required, the state cannot be stored in a set */ -void PropertyEditor::storePropertiesExpansionState(const QList &items) +void PropertyEditor::storePropertiesExpansionState(const QVector &items) { const QChar bar = QLatin1Char('|'); for (QtBrowserItem *propertyItem : items) { @@ -475,7 +475,7 @@ void PropertyEditor::collapseAll() setExpanded(group, false); } -void PropertyEditor::applyPropertiesExpansionState(const QList &items) +void PropertyEditor::applyPropertiesExpansionState(const QVector &items) { const QChar bar = QLatin1Char('|'); for (QtBrowserItem *propertyItem : items) { @@ -516,7 +516,7 @@ void PropertyEditor::applyExpansionState() } } -int PropertyEditor::applyPropertiesFilter(const QList &items) +int PropertyEditor::applyPropertiesFilter(const QVector &items) { int showCount = 0; const bool matchAll = m_filterPattern.isEmpty(); @@ -1011,7 +1011,7 @@ void PropertyEditor::setObject(QObject *object) m_updatingBrowser = false; } else if (type == DesignerPropertyManager::designerFlagTypeId()) { const PropertySheetFlagValue f = qvariant_cast(value); - QList > flags; + QVector > flags; for (const QString &name : f.metaFlags.keys()) { const uint val = f.metaFlags.keyToValue(name); flags.append(qMakePair(name, val)); diff --git a/src/designer/src/components/propertyeditor/propertyeditor.h b/src/designer/src/components/propertyeditor/propertyeditor.h index 993c4418d..0d5ade2d2 100644 --- a/src/designer/src/components/propertyeditor/propertyeditor.h +++ b/src/designer/src/components/propertyeditor/propertyeditor.h @@ -108,10 +108,10 @@ private: QString realClassName(QObject *object) const; void storeExpansionState(); void applyExpansionState(); - void storePropertiesExpansionState(const QList &items); - void applyPropertiesExpansionState(const QList &items); + void storePropertiesExpansionState(const QVector &items); + void applyPropertiesExpansionState(const QVector &items); void applyFilter(); - int applyPropertiesFilter(const QList &items); + int applyPropertiesFilter(const QVector &items); void setExpanded(QtBrowserItem *item, bool expanded); bool isExpanded(QtBrowserItem *item) const; void setItemVisible(QtBrowserItem *item, bool visible); @@ -157,7 +157,7 @@ private: QMap m_nameToProperty; QMap m_propertyToGroup; QMap m_nameToGroup; - QList m_groups; + QVector m_groups; QtProperty *m_dynamicGroup = nullptr; QString m_recentlyAddedDynamicProperty; bool m_updatingBrowser = false; diff --git a/src/designer/src/components/signalsloteditor/signalslot_utils_p.h b/src/designer/src/components/signalsloteditor/signalslot_utils_p.h index 7ab98c3d4..ef0c52a80 100644 --- a/src/designer/src/components/signalsloteditor/signalslot_utils_p.h +++ b/src/designer/src/components/signalsloteditor/signalslot_utils_p.h @@ -71,7 +71,7 @@ struct ClassMemberFunctions QStringList m_memberList; }; -using ClassesMemberFunctions = QList; +using ClassesMemberFunctions = QVector; // Return classes and members in reverse class order to // populate of the combo of the ToolWindow. diff --git a/src/designer/src/components/taskmenu/button_taskmenu.cpp b/src/designer/src/components/taskmenu/button_taskmenu.cpp index 80e9d45c3..9940fcfdc 100644 --- a/src/designer/src/components/taskmenu/button_taskmenu.cpp +++ b/src/designer/src/components/taskmenu/button_taskmenu.cpp @@ -56,8 +56,8 @@ namespace qdesigner_internal { enum { debugButtonMenu = 0 }; -using ButtonList = QList; -using ButtonGroupList = QList; +using ButtonList = QVector; +using ButtonGroupList = QVector; // ButtonGroupCommand: Base for commands handling button groups and button lists // addButtonsToGroup() and removeButtonsFromGroup() are low-level helpers for @@ -363,7 +363,7 @@ QAction *ButtonGroupTaskMenu::preferredEditAction() const return m_menu.selectGroupAction(); } -QList ButtonGroupTaskMenu::taskActions() const +QVector ButtonGroupTaskMenu::taskActions() const { m_menu.initialize(QDesignerFormWindowInterface::findFormWindow(m_buttonGroup), m_buttonGroup); return m_taskActions; @@ -509,7 +509,7 @@ bool ButtonTaskMenu::refreshAssignMenu(const QDesignerFormWindowInterface *fw, i return !m_assignGroupSubMenu->isEmpty(); } -QList ButtonTaskMenu::taskActions() const +QVector ButtonTaskMenu::taskActions() const { ButtonTaskMenu *ncThis = const_cast(this); QButtonGroup *buttonGroup = nullptr; diff --git a/src/designer/src/components/taskmenu/button_taskmenu.h b/src/designer/src/components/taskmenu/button_taskmenu.h index ab58c0630..6123543a7 100644 --- a/src/designer/src/components/taskmenu/button_taskmenu.h +++ b/src/designer/src/components/taskmenu/button_taskmenu.h @@ -84,11 +84,11 @@ public: explicit ButtonGroupTaskMenu(QButtonGroup *buttonGroup, QObject *parent = nullptr); QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private: QButtonGroup *m_buttonGroup; - QList m_taskActions; + QVector m_taskActions; mutable ButtonGroupMenu m_menu; }; @@ -102,7 +102,7 @@ public: ~ButtonTaskMenu() override; QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; QAbstractButton *button() const; @@ -125,7 +125,7 @@ private: bool refreshAssignMenu(const QDesignerFormWindowInterface *fw, int buttonCount, SelectionType st, QButtonGroup *currentGroup); QMenu *createGroupSelectionMenu(const QDesignerFormWindowInterface *fw); - QList m_taskActions; + QVector m_taskActions; mutable ButtonGroupMenu m_groupMenu; QMenu *m_assignGroupSubMenu; QActionGroup *m_assignActionGroup; diff --git a/src/designer/src/components/taskmenu/combobox_taskmenu.cpp b/src/designer/src/components/taskmenu/combobox_taskmenu.cpp index 6d96e9795..dbf367529 100644 --- a/src/designer/src/components/taskmenu/combobox_taskmenu.cpp +++ b/src/designer/src/components/taskmenu/combobox_taskmenu.cpp @@ -68,7 +68,7 @@ QAction *ComboBoxTaskMenu::preferredEditAction() const return m_editItemsAction; } -QList ComboBoxTaskMenu::taskActions() const +QVector ComboBoxTaskMenu::taskActions() const { return m_taskActions + QDesignerTaskMenu::taskActions(); } diff --git a/src/designer/src/components/taskmenu/combobox_taskmenu.h b/src/designer/src/components/taskmenu/combobox_taskmenu.h index 8ff36c1a8..6bb97398f 100644 --- a/src/designer/src/components/taskmenu/combobox_taskmenu.h +++ b/src/designer/src/components/taskmenu/combobox_taskmenu.h @@ -51,7 +51,7 @@ public: ~ComboBoxTaskMenu() override; QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private slots: void editItems(); @@ -61,7 +61,7 @@ private: QComboBox *m_comboBox; QPointer m_formWindow; QPointer m_editor; - mutable QList m_taskActions; + mutable QVector m_taskActions; QAction *m_editItemsAction; }; diff --git a/src/designer/src/components/taskmenu/containerwidget_taskmenu.cpp b/src/designer/src/components/taskmenu/containerwidget_taskmenu.cpp index b4cd1cb2b..47d03e794 100644 --- a/src/designer/src/components/taskmenu/containerwidget_taskmenu.cpp +++ b/src/designer/src/components/taskmenu/containerwidget_taskmenu.cpp @@ -145,7 +145,7 @@ QString ContainerWidgetTaskMenu::pageMenuText(ContainerType ct, int index, int c return tr("Page %1 of %2").arg(index + 1).arg(count); } -QList ContainerWidgetTaskMenu::taskActions() const +QVector ContainerWidgetTaskMenu::taskActions() const { const QDesignerContainerExtension *ce = containerExtension(); const int index = ce->currentIndex(); @@ -231,7 +231,7 @@ WizardContainerWidgetTaskMenu::WizardContainerWidgetTaskMenu(QWizard *w, QObject l.push_front(createSeparator()); } -QList WizardContainerWidgetTaskMenu::taskActions() const +QVector WizardContainerWidgetTaskMenu::taskActions() const { // Enable const QDesignerContainerExtension *ce = containerExtension(); @@ -269,7 +269,7 @@ void MdiContainerWidgetTaskMenu::initializeActions() l.push_front(createSeparator()); } -QList MdiContainerWidgetTaskMenu::taskActions() const +QVector MdiContainerWidgetTaskMenu::taskActions() const { const auto rc = ContainerWidgetTaskMenu::taskActions(); // Enable diff --git a/src/designer/src/components/taskmenu/containerwidget_taskmenu.h b/src/designer/src/components/taskmenu/containerwidget_taskmenu.h index b0f4127ee..5a96cf9ac 100644 --- a/src/designer/src/components/taskmenu/containerwidget_taskmenu.h +++ b/src/designer/src/components/taskmenu/containerwidget_taskmenu.h @@ -60,7 +60,7 @@ public: ~ContainerWidgetTaskMenu() override; QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private slots: void removeCurrentPage(); @@ -69,7 +69,7 @@ private slots: protected: QDesignerContainerExtension *containerExtension() const; - QList &containerActions() { return m_taskActions; } + QVector &containerActions() { return m_taskActions; } int pageCount() const; private: @@ -85,7 +85,7 @@ private: PromotionTaskMenu *m_pagePromotionTaskMenu; QAction *m_pageMenuAction; QMenu *m_pageMenu; - QList m_taskActions; + QVector m_taskActions; QAction *m_actionInsertPageAfter; QAction *m_actionInsertPage; QAction *m_actionDeletePage; @@ -99,7 +99,7 @@ class WizardContainerWidgetTaskMenu : public ContainerWidgetTaskMenu { public: explicit WizardContainerWidgetTaskMenu(QWizard *w, QObject *parent = nullptr); - QList taskActions() const override; + QVector taskActions() const override; private: QAction *m_nextAction; @@ -114,7 +114,7 @@ class MdiContainerWidgetTaskMenu : public ContainerWidgetTaskMenu { public: explicit MdiContainerWidgetTaskMenu(QMdiArea *m, QObject *parent = nullptr); - QList taskActions() const override; + QVector taskActions() const override; private: void initializeActions(); diff --git a/src/designer/src/components/taskmenu/groupbox_taskmenu.cpp b/src/designer/src/components/taskmenu/groupbox_taskmenu.cpp index 3b7629908..c40f77468 100644 --- a/src/designer/src/components/taskmenu/groupbox_taskmenu.cpp +++ b/src/designer/src/components/taskmenu/groupbox_taskmenu.cpp @@ -78,7 +78,7 @@ GroupBoxTaskMenu::GroupBoxTaskMenu(QGroupBox *groupbox, QObject *parent) m_taskActions.append(sep); } -QList GroupBoxTaskMenu::taskActions() const +QVector GroupBoxTaskMenu::taskActions() const { return m_taskActions + QDesignerTaskMenu::taskActions(); } diff --git a/src/designer/src/components/taskmenu/groupbox_taskmenu.h b/src/designer/src/components/taskmenu/groupbox_taskmenu.h index e09a883a0..d963e44a8 100644 --- a/src/designer/src/components/taskmenu/groupbox_taskmenu.h +++ b/src/designer/src/components/taskmenu/groupbox_taskmenu.h @@ -49,11 +49,11 @@ public: explicit GroupBoxTaskMenu(QGroupBox *groupbox, QObject *parent = nullptr); QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private: QAction *m_editTitleAction; - QList m_taskActions; + QVector m_taskActions; }; typedef ExtensionFactory GroupBoxTaskMenuFactory; diff --git a/src/designer/src/components/taskmenu/itemlisteditor.h b/src/designer/src/components/taskmenu/itemlisteditor.h index 97bcb19d9..ebdfa37b4 100644 --- a/src/designer/src/components/taskmenu/itemlisteditor.h +++ b/src/designer/src/components/taskmenu/itemlisteditor.h @@ -99,8 +99,8 @@ protected: DesignerEditorFactory *m_editorFactory; QSplitter *m_propertySplitter = nullptr; QtTreePropertyBrowser *m_propertyBrowser; - QList m_properties; - QList m_rootProperties; + QVector m_properties; + QVector m_rootProperties; QHash m_propertyToRole; bool m_updatingBrowser = false; }; diff --git a/src/designer/src/components/taskmenu/label_taskmenu.cpp b/src/designer/src/components/taskmenu/label_taskmenu.cpp index b46a2a64e..c446e5ab1 100644 --- a/src/designer/src/components/taskmenu/label_taskmenu.cpp +++ b/src/designer/src/components/taskmenu/label_taskmenu.cpp @@ -90,7 +90,7 @@ QAction *LabelTaskMenu::preferredEditAction() const return Qt::mightBeRichText(m_label->text()) ? m_editRichTextAction : m_editPlainTextAction; } -QList LabelTaskMenu::taskActions() const +QVector LabelTaskMenu::taskActions() const { return m_taskActions + QDesignerTaskMenu::taskActions(); } diff --git a/src/designer/src/components/taskmenu/label_taskmenu.h b/src/designer/src/components/taskmenu/label_taskmenu.h index a1744b583..394243916 100644 --- a/src/designer/src/components/taskmenu/label_taskmenu.h +++ b/src/designer/src/components/taskmenu/label_taskmenu.h @@ -48,14 +48,14 @@ public: explicit LabelTaskMenu(QLabel *button, QObject *parent = nullptr); QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private slots: void editRichText(); private: QLabel *m_label; - QList m_taskActions; + QVector m_taskActions; QAction *m_editRichTextAction; QAction *m_editPlainTextAction; }; diff --git a/src/designer/src/components/taskmenu/layouttaskmenu.cpp b/src/designer/src/components/taskmenu/layouttaskmenu.cpp index b69051212..82a1a9687 100644 --- a/src/designer/src/components/taskmenu/layouttaskmenu.cpp +++ b/src/designer/src/components/taskmenu/layouttaskmenu.cpp @@ -51,9 +51,9 @@ QAction *LayoutWidgetTaskMenu::preferredEditAction() const return m_formLayoutMenu->preferredEditAction(m_widget, m_widget->formWindow()); } -QList LayoutWidgetTaskMenu::taskActions() const +QVector LayoutWidgetTaskMenu::taskActions() const { - QList rc; + QVector rc; QDesignerFormWindowInterface *fw = m_widget->formWindow(); m_morphMenu->populate(m_widget, fw, rc); m_formLayoutMenu->populate(m_widget, fw, rc); @@ -71,7 +71,7 @@ QAction *SpacerTaskMenu::preferredEditAction() const return nullptr; } -QList SpacerTaskMenu::taskActions() const +QVector SpacerTaskMenu::taskActions() const { return {}; } diff --git a/src/designer/src/components/taskmenu/layouttaskmenu.h b/src/designer/src/components/taskmenu/layouttaskmenu.h index afd1afe0f..523477719 100644 --- a/src/designer/src/components/taskmenu/layouttaskmenu.h +++ b/src/designer/src/components/taskmenu/layouttaskmenu.h @@ -51,7 +51,7 @@ public: explicit LayoutWidgetTaskMenu(QLayoutWidget *w, QObject *parent = nullptr); QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private: QLayoutWidget *m_widget; @@ -68,7 +68,7 @@ public: explicit SpacerTaskMenu(Spacer *bar, QObject *parent = nullptr); QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; }; diff --git a/src/designer/src/components/taskmenu/lineedit_taskmenu.cpp b/src/designer/src/components/taskmenu/lineedit_taskmenu.cpp index cbe2f3e2f..5315f59d8 100644 --- a/src/designer/src/components/taskmenu/lineedit_taskmenu.cpp +++ b/src/designer/src/components/taskmenu/lineedit_taskmenu.cpp @@ -80,7 +80,7 @@ QAction *LineEditTaskMenu::preferredEditAction() const return m_editTextAction; } -QList LineEditTaskMenu::taskActions() const +QVector LineEditTaskMenu::taskActions() const { return m_taskActions + QDesignerTaskMenu::taskActions(); } diff --git a/src/designer/src/components/taskmenu/lineedit_taskmenu.h b/src/designer/src/components/taskmenu/lineedit_taskmenu.h index e28ab7336..4c67c4884 100644 --- a/src/designer/src/components/taskmenu/lineedit_taskmenu.h +++ b/src/designer/src/components/taskmenu/lineedit_taskmenu.h @@ -46,10 +46,10 @@ public: explicit LineEditTaskMenu(QLineEdit *button, QObject *parent = nullptr); QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private: - QList m_taskActions; + QVector m_taskActions; QAction *m_editTextAction; }; diff --git a/src/designer/src/components/taskmenu/listwidget_taskmenu.cpp b/src/designer/src/components/taskmenu/listwidget_taskmenu.cpp index 74bff711d..323b3da7a 100644 --- a/src/designer/src/components/taskmenu/listwidget_taskmenu.cpp +++ b/src/designer/src/components/taskmenu/listwidget_taskmenu.cpp @@ -67,7 +67,7 @@ QAction *ListWidgetTaskMenu::preferredEditAction() const return m_editItemsAction; } -QList ListWidgetTaskMenu::taskActions() const +QVector ListWidgetTaskMenu::taskActions() const { return m_taskActions + QDesignerTaskMenu::taskActions(); } diff --git a/src/designer/src/components/taskmenu/listwidget_taskmenu.h b/src/designer/src/components/taskmenu/listwidget_taskmenu.h index 63708be61..f28df59de 100644 --- a/src/designer/src/components/taskmenu/listwidget_taskmenu.h +++ b/src/designer/src/components/taskmenu/listwidget_taskmenu.h @@ -50,7 +50,7 @@ public: ~ListWidgetTaskMenu() override; QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private slots: void editItems(); @@ -60,7 +60,7 @@ private: QListWidget *m_listWidget; QPointer m_formWindow; QPointer m_editor; - mutable QList m_taskActions; + mutable QVector m_taskActions; QAction *m_editItemsAction; }; diff --git a/src/designer/src/components/taskmenu/menutaskmenu.cpp b/src/designer/src/components/taskmenu/menutaskmenu.cpp index 105c3eabd..73efae9d2 100644 --- a/src/designer/src/components/taskmenu/menutaskmenu.cpp +++ b/src/designer/src/components/taskmenu/menutaskmenu.cpp @@ -51,9 +51,9 @@ namespace qdesigner_internal { return nullptr; } - QList MenuTaskMenu::taskActions() const + QVector MenuTaskMenu::taskActions() const { - QList rc; + QVector rc; rc.push_back(m_removeAction); m_promotionTaskMenu->addActions(PromotionTaskMenu::LeadingSeparator, rc); return rc; @@ -84,7 +84,7 @@ namespace qdesigner_internal { return nullptr; } - QList MenuBarTaskMenu::taskActions() const + QVector MenuBarTaskMenu::taskActions() const { return m_bar->contextMenuActions(); } diff --git a/src/designer/src/components/taskmenu/menutaskmenu.h b/src/designer/src/components/taskmenu/menutaskmenu.h index 935836896..fa9e8ad32 100644 --- a/src/designer/src/components/taskmenu/menutaskmenu.h +++ b/src/designer/src/components/taskmenu/menutaskmenu.h @@ -55,7 +55,7 @@ public: explicit MenuTaskMenu(QDesignerMenu *menu, QObject *parent = nullptr); QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private slots: void removeMenu(); @@ -77,7 +77,7 @@ public: explicit MenuBarTaskMenu(QDesignerMenuBar *bar, QObject *parent = nullptr); QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private: QDesignerMenuBar *m_bar; diff --git a/src/designer/src/components/taskmenu/tablewidget_taskmenu.cpp b/src/designer/src/components/taskmenu/tablewidget_taskmenu.cpp index 25bc6ce40..aad9aede0 100644 --- a/src/designer/src/components/taskmenu/tablewidget_taskmenu.cpp +++ b/src/designer/src/components/taskmenu/tablewidget_taskmenu.cpp @@ -66,7 +66,7 @@ QAction *TableWidgetTaskMenu::preferredEditAction() const return m_editItemsAction; } -QList TableWidgetTaskMenu::taskActions() const +QVector TableWidgetTaskMenu::taskActions() const { return m_taskActions + QDesignerTaskMenu::taskActions(); } diff --git a/src/designer/src/components/taskmenu/tablewidget_taskmenu.h b/src/designer/src/components/taskmenu/tablewidget_taskmenu.h index b4d5462f2..c68dd4afa 100644 --- a/src/designer/src/components/taskmenu/tablewidget_taskmenu.h +++ b/src/designer/src/components/taskmenu/tablewidget_taskmenu.h @@ -50,7 +50,7 @@ public: ~TableWidgetTaskMenu() override; QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private slots: void editItems(); @@ -60,7 +60,7 @@ private: QTableWidget *m_tableWidget; QPointer m_formWindow; QPointer m_editor; - mutable QList m_taskActions; + mutable QVector m_taskActions; QAction *m_editItemsAction; }; diff --git a/src/designer/src/components/taskmenu/textedit_taskmenu.cpp b/src/designer/src/components/taskmenu/textedit_taskmenu.cpp index ca5d5d526..b2c6f8e10 100644 --- a/src/designer/src/components/taskmenu/textedit_taskmenu.cpp +++ b/src/designer/src/components/taskmenu/textedit_taskmenu.cpp @@ -76,7 +76,7 @@ QAction *TextEditTaskMenu::preferredEditAction() const return m_editTextAction; } -QList TextEditTaskMenu::taskActions() const +QVector TextEditTaskMenu::taskActions() const { return m_taskActions + QDesignerTaskMenu::taskActions(); } diff --git a/src/designer/src/components/taskmenu/textedit_taskmenu.h b/src/designer/src/components/taskmenu/textedit_taskmenu.h index 2e50b8ca1..77517c8da 100644 --- a/src/designer/src/components/taskmenu/textedit_taskmenu.h +++ b/src/designer/src/components/taskmenu/textedit_taskmenu.h @@ -51,7 +51,7 @@ public: ~TextEditTaskMenu() override; QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private slots: void editText(); @@ -63,7 +63,7 @@ private: const QString m_property; const QString m_windowTitle; - mutable QList m_taskActions; + mutable QVector m_taskActions; QAction *m_editTextAction; }; diff --git a/src/designer/src/components/taskmenu/toolbar_taskmenu.cpp b/src/designer/src/components/taskmenu/toolbar_taskmenu.cpp index 42f3b271a..6ac558546 100644 --- a/src/designer/src/components/taskmenu/toolbar_taskmenu.cpp +++ b/src/designer/src/components/taskmenu/toolbar_taskmenu.cpp @@ -54,7 +54,7 @@ namespace qdesigner_internal { return nullptr; } - QList ToolBarTaskMenu::taskActions() const + QVector ToolBarTaskMenu::taskActions() const { if (ToolBarEventFilter *ef = ToolBarEventFilter::eventFilterOf(m_toolBar)) return ef->contextMenuActions(); @@ -76,9 +76,9 @@ namespace qdesigner_internal { return nullptr; } - QList StatusBarTaskMenu::taskActions() const + QVector StatusBarTaskMenu::taskActions() const { - QList rc; + QVector rc; rc.push_back(m_removeAction); m_promotionTaskMenu->addActions(PromotionTaskMenu::LeadingSeparator, rc); return rc; diff --git a/src/designer/src/components/taskmenu/toolbar_taskmenu.h b/src/designer/src/components/taskmenu/toolbar_taskmenu.h index 3e8d5909b..0c3f5592f 100644 --- a/src/designer/src/components/taskmenu/toolbar_taskmenu.h +++ b/src/designer/src/components/taskmenu/toolbar_taskmenu.h @@ -50,7 +50,7 @@ public: explicit ToolBarTaskMenu(QToolBar *tb, QObject *parent = nullptr); QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private: QToolBar *m_toolBar; @@ -65,7 +65,7 @@ public: explicit StatusBarTaskMenu(QStatusBar *tb, QObject *parent = nullptr); QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private slots: void removeStatusBar(); diff --git a/src/designer/src/components/taskmenu/treewidget_taskmenu.cpp b/src/designer/src/components/taskmenu/treewidget_taskmenu.cpp index c4ffd4ca5..e0c14a4bc 100644 --- a/src/designer/src/components/taskmenu/treewidget_taskmenu.cpp +++ b/src/designer/src/components/taskmenu/treewidget_taskmenu.cpp @@ -65,7 +65,7 @@ QAction *TreeWidgetTaskMenu::preferredEditAction() const return m_editItemsAction; } -QList TreeWidgetTaskMenu::taskActions() const +QVector TreeWidgetTaskMenu::taskActions() const { return m_taskActions + QDesignerTaskMenu::taskActions(); } diff --git a/src/designer/src/components/taskmenu/treewidget_taskmenu.h b/src/designer/src/components/taskmenu/treewidget_taskmenu.h index 9a9c882df..b64401d76 100644 --- a/src/designer/src/components/taskmenu/treewidget_taskmenu.h +++ b/src/designer/src/components/taskmenu/treewidget_taskmenu.h @@ -50,7 +50,7 @@ public: ~TreeWidgetTaskMenu() override; QAction *preferredEditAction() const override; - QList taskActions() const override; + QVector taskActions() const override; private slots: void editItems(); @@ -60,7 +60,7 @@ private: QTreeWidget *m_treeWidget; QPointer m_formWindow; QPointer m_editor; - mutable QList m_taskActions; + mutable QVector m_taskActions; QAction *m_editItemsAction; }; diff --git a/src/designer/src/components/taskmenu/treewidgeteditor.cpp b/src/designer/src/components/taskmenu/treewidgeteditor.cpp index 5e77939e5..8a70a7d33 100644 --- a/src/designer/src/components/taskmenu/treewidgeteditor.cpp +++ b/src/designer/src/components/taskmenu/treewidgeteditor.cpp @@ -153,7 +153,7 @@ TreeWidgetContents TreeWidgetEditor::fillContentsFromTreeWidget(QTreeWidget *tre treeCont.m_headerItem.applyToListWidget(m_columnEditor->listWidget(), iconCache(), true); m_columnEditor->setupEditor(treeWidget, treeHeaderPropList); - QList rootProperties; + QVector rootProperties; rootProperties.append(setupPropertyGroup(tr("Per column properties"), treeItemColumnPropList)); rootProperties.append(setupPropertyGroup(tr("Common properties"), treeItemCommonPropList)); m_rootProperties = rootProperties; @@ -498,7 +498,7 @@ void TreeWidgetEditor::moveColumnItems(const PropertyDefinition *propList, { BoolBlocker block(m_updatingBrowser); - QList saveCol; + QVector saveCol; for (int j = 0; propList[j].name; j++) saveCol.append(item->data(toColumn, propList[j].role)); QVariant editVariant = item->data(toColumn, Qt::EditRole); diff --git a/src/designer/src/components/widgetbox/widgetbox.cpp b/src/designer/src/components/widgetbox/widgetbox.cpp index 4415c4dbe..70c5923aa 100644 --- a/src/designer/src/components/widgetbox/widgetbox.cpp +++ b/src/designer/src/components/widgetbox/widgetbox.cpp @@ -132,7 +132,7 @@ void WidgetBox::handleMousePress(const QString &name, const QString &xml, const DomUI *ui = xmlToUi(name, xml, true); if (ui == nullptr) return; - QList item_list; + QVector item_list; item_list.append(new WidgetBoxDnDItem(core(), ui, global_mouse_pos)); m_core->formWindowManager()->dragItems(item_list); } @@ -177,7 +177,7 @@ void WidgetBox::removeWidget(int cat_idx, int wgt_idx) m_view->removeWidget(cat_idx, wgt_idx); } -void WidgetBox::dropWidgets(const QList &item_list, const QPoint&) +void WidgetBox::dropWidgets(const QVector &item_list, const QPoint&) { m_view->dropWidgets(item_list); } diff --git a/src/designer/src/components/widgetbox/widgetbox.h b/src/designer/src/components/widgetbox/widgetbox.h index 27e1b461a..aa687498e 100644 --- a/src/designer/src/components/widgetbox/widgetbox.h +++ b/src/designer/src/components/widgetbox/widgetbox.h @@ -61,7 +61,7 @@ public: void addWidget(int cat_idx, const Widget &wgt) override; void removeWidget(int cat_idx, int wgt_idx) override; - void dropWidgets(const QList &item_list, const QPoint &global_mouse_pos) override; + void dropWidgets(const QVector &item_list, const QPoint &global_mouse_pos) override; void setFileName(const QString &file_name) override; QString fileName() const override; diff --git a/src/designer/src/components/widgetbox/widgetboxcategorylistview.h b/src/designer/src/components/widgetbox/widgetboxcategorylistview.h index 657dad148..16e651dc2 100644 --- a/src/designer/src/components/widgetbox/widgetboxcategorylistview.h +++ b/src/designer/src/components/widgetbox/widgetboxcategorylistview.h @@ -58,7 +58,7 @@ public: explicit WidgetBoxCategoryListView(QDesignerFormEditorInterface *core, QWidget *parent = nullptr); void setViewMode(ViewMode vm); - void dropWidgets(const QList &item_list); + void dropWidgets(const QVector &item_list); using QListView::contentsSize; diff --git a/src/designer/src/components/widgetbox/widgetboxtreewidget.cpp b/src/designer/src/components/widgetbox/widgetboxtreewidget.cpp index 054d622a0..fc28aa222 100644 --- a/src/designer/src/components/widgetbox/widgetboxtreewidget.cpp +++ b/src/designer/src/components/widgetbox/widgetboxtreewidget.cpp @@ -900,7 +900,7 @@ void WidgetBoxTreeWidget::contextMenuEvent(QContextMenuEvent *e) menu.exec(mapToGlobal(e->pos())); } -void WidgetBoxTreeWidget::dropWidgets(const QList &item_list) +void WidgetBoxTreeWidget::dropWidgets(const QVector &item_list) { QTreeWidgetItem *scratch_item = nullptr; WidgetBoxCategoryListView *categoryView = nullptr; diff --git a/src/designer/src/components/widgetbox/widgetboxtreewidget.h b/src/designer/src/components/widgetbox/widgetboxtreewidget.h index 0961e658d..2262b50bd 100644 --- a/src/designer/src/components/widgetbox/widgetboxtreewidget.h +++ b/src/designer/src/components/widgetbox/widgetboxtreewidget.h @@ -72,7 +72,7 @@ public: void addWidget(int cat_idx, const Widget &wgt); void removeWidget(int cat_idx, int wgt_idx); - void dropWidgets(const QList &item_list); + void dropWidgets(const QVector &item_list); void setFileName(const QString &file_name); QString fileName() const; diff --git a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformwindow.cpp b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformwindow.cpp index 259eb4668..03e1a96bd 100644 --- a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformwindow.cpp +++ b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformwindow.cpp @@ -55,7 +55,7 @@ //! [1] - QList forms; + QVector forms; QDesignerFormWindowInterface *formWindow; QDesignerFormWindowManagerInterface *manager = formEditor->formWindowManager(); diff --git a/src/designer/src/designer/doc/snippets/plugins/doc_src_qtdesigner.cpp b/src/designer/src/designer/doc/snippets/plugins/doc_src_qtdesigner.cpp index 1f76bc71d..f7d789ed6 100644 --- a/src/designer/src/designer/doc/snippets/plugins/doc_src_qtdesigner.cpp +++ b/src/designer/src/designer/doc/snippets/plugins/doc_src_qtdesigner.cpp @@ -183,7 +183,7 @@ public: MyTaskMenuExtension(MyCustomWidget *widget, QObject *parent); QAction *preferredEditAction() const; - QList taskActions() const; + QVector taskActions() const; private slots: void mySlot(); @@ -246,10 +246,10 @@ class MyCustomWidgets: public QObject, public QDesignerCustomWidgetCollectionInt public: MyCustomWidgets(QObject *parent = 0); - QList customWidgets() const override; + QVector customWidgets() const override; private: - QList widgets; + QVector widgets; }; //! [12] @@ -263,7 +263,7 @@ MyCustomWidgets::MyCustomWidgets(QObject *parent) widgets.append(new CustomWidgetThreeInterface(this)); } -QList MyCustomWidgets::customWidgets() const +QVector MyCustomWidgets::customWidgets() const { return widgets; } diff --git a/src/designer/src/designer/mainwindow.cpp b/src/designer/src/designer/mainwindow.cpp index dba96fd86..8e2e4dc0f 100644 --- a/src/designer/src/designer/mainwindow.cpp +++ b/src/designer/src/designer/mainwindow.cpp @@ -56,7 +56,7 @@ static const char *uriListMimeFormatC = "text/uri-list"; QT_BEGIN_NAMESPACE -using ActionList = QList; +using ActionList = QVector; // Helpers for creating toolbars and menu diff --git a/src/designer/src/designer/preferencesdialog.h b/src/designer/src/designer/preferencesdialog.h index 654e93388..b7b20d90e 100644 --- a/src/designer/src/designer/preferencesdialog.h +++ b/src/designer/src/designer/preferencesdialog.h @@ -61,7 +61,7 @@ private: Ui::PreferencesDialog *m_ui; QDesignerFormEditorInterface *m_core; - QList m_optionsPages; + QVector m_optionsPages; }; QT_END_NAMESPACE diff --git a/src/designer/src/designer/qdesigner_actions.cpp b/src/designer/src/designer/qdesigner_actions.cpp index ea296fc27..cfb9e5cac 100644 --- a/src/designer/src/designer/qdesigner_actions.cpp +++ b/src/designer/src/designer/qdesigner_actions.cpp @@ -120,7 +120,7 @@ static QActionGroup *createActionGroup(QObject *parent, bool exclusive = false) return rc; } -static void fixActionContext(const QList &actions) +static void fixActionContext(const QVector &actions) { for (QAction *a : actions) a->setShortcutContext(Qt::ApplicationShortcut); @@ -315,7 +315,7 @@ QDesignerActions::QDesignerActions(QDesignerWorkbench *workbench) // m_editWidgetsAction->setCheckable(true); - QList shortcuts; + QVector shortcuts; shortcuts.append(QKeySequence(Qt::Key_F3)); shortcuts.append(QKeySequence(Qt::Key_Escape)); m_editWidgetsAction->setShortcuts(shortcuts); diff --git a/src/designer/src/designer/qdesigner_workbench.cpp b/src/designer/src/designer/qdesigner_workbench.cpp index d18d2a179..b3b14d1c0 100644 --- a/src/designer/src/designer/qdesigner_workbench.cpp +++ b/src/designer/src/designer/qdesigner_workbench.cpp @@ -72,7 +72,7 @@ QT_BEGIN_NAMESPACE static const char *appFontPrefixC = "AppFonts"; -using ActionList = QList; +using ActionList = QVector; static QMdiSubWindow *mdiSubWindowOf(const QWidget *w) { diff --git a/src/designer/src/lib/extension/qextensionmanager.h b/src/designer/src/lib/extension/qextensionmanager.h index 49dd56224..b0cef39d5 100644 --- a/src/designer/src/lib/extension/qextensionmanager.h +++ b/src/designer/src/lib/extension/qextensionmanager.h @@ -51,7 +51,7 @@ public: QObject *extension(QObject *object, const QString &iid) const override; private: - using FactoryList = QList; + using FactoryList = QVector; typedef QHash FactoryMap; FactoryMap m_extensions; FactoryList m_globalExtension; diff --git a/src/designer/src/lib/sdk/abstractformeditor.cpp b/src/designer/src/lib/sdk/abstractformeditor.cpp index 2d4b20812..0b62e6d1a 100644 --- a/src/designer/src/lib/sdk/abstractformeditor.cpp +++ b/src/designer/src/lib/sdk/abstractformeditor.cpp @@ -96,7 +96,7 @@ public: QDesignerDialogGuiInterface *m_dialogGui = nullptr; QPointer m_resourceModel; QPointer m_gradientManager; // instantiated and deleted by designer_integration - QList m_optionsPages; + QVector m_optionsPages; }; QDesignerFormEditorInterfacePrivate::QDesignerFormEditorInterfacePrivate() = default; @@ -399,7 +399,7 @@ void QDesignerFormEditorInterface::setIntegration(QDesignerIntegrationInterface \since 4.5 Returns the list of options pages that allow the user to configure \QD components. */ -QList QDesignerFormEditorInterface::optionsPages() const +QVector QDesignerFormEditorInterface::optionsPages() const { return d->m_optionsPages; } @@ -409,7 +409,7 @@ QList QDesignerFormEditorInterface::optionsPages \since 4.5 Sets the list of options pages that allow the user to configure \QD components. */ -void QDesignerFormEditorInterface::setOptionsPages(const QList &optionsPages) +void QDesignerFormEditorInterface::setOptionsPages(const QVector &optionsPages) { d->m_optionsPages = optionsPages; } diff --git a/src/designer/src/lib/sdk/abstractformeditor.h b/src/designer/src/lib/sdk/abstractformeditor.h index 39f5054cc..05d503403 100644 --- a/src/designer/src/lib/sdk/abstractformeditor.h +++ b/src/designer/src/lib/sdk/abstractformeditor.h @@ -88,7 +88,7 @@ public: QString resourceLocation() const; QtResourceModel *resourceModel() const; QtGradientManager *gradientManager() const; - QList optionsPages() const; + QVector optionsPages() const; void setTopLevel(QWidget *topLevel); void setWidgetBox(QDesignerWidgetBoxInterface *widgetBox); @@ -102,7 +102,7 @@ public: void setSettingsManager(QDesignerSettingsInterface *settingsManager); void setResourceModel(QtResourceModel *model); void setGradientManager(QtGradientManager *manager); - void setOptionsPages(const QList &optionsPages); + void setOptionsPages(const QVector &optionsPages); QObjectList pluginInstances() const; diff --git a/src/designer/src/lib/sdk/abstractformwindow.cpp b/src/designer/src/lib/sdk/abstractformwindow.cpp index 0b24920aa..f1b2f335f 100644 --- a/src/designer/src/lib/sdk/abstractformwindow.cpp +++ b/src/designer/src/lib/sdk/abstractformwindow.cpp @@ -609,7 +609,7 @@ void QDesignerFormWindowInterface::activateResourceFilePaths(const QStringList & */ /*! - \fn virtual void QDesignerFormWindowInterface::simplifySelection(QList *widgets) const + \fn virtual void QDesignerFormWindowInterface::simplifySelection(QVector *widgets) const Simplifies the selection of widgets specified by \a widgets. diff --git a/src/designer/src/lib/sdk/abstractformwindow.h b/src/designer/src/lib/sdk/abstractformwindow.h index 63aeaada8..de23917a7 100644 --- a/src/designer/src/lib/sdk/abstractformwindow.h +++ b/src/designer/src/lib/sdk/abstractformwindow.h @@ -133,7 +133,7 @@ public: virtual void beginCommand(const QString &description) = 0; virtual void endCommand() = 0; - virtual void simplifySelection(QList *widgets) const = 0; + virtual void simplifySelection(QVector *widgets) const = 0; // notifications virtual void emitSelectionChanged() = 0; diff --git a/src/designer/src/lib/sdk/abstractformwindowmanager.cpp b/src/designer/src/lib/sdk/abstractformwindowmanager.cpp index 387f0665c..2ae2711a5 100644 --- a/src/designer/src/lib/sdk/abstractformwindowmanager.cpp +++ b/src/designer/src/lib/sdk/abstractformwindowmanager.cpp @@ -505,7 +505,7 @@ QAction *QDesignerFormWindowManagerInterface::actionRedo() const */ /*! - \fn void QDesignerFormWindowManagerInterface::dragItems(const QList &item_list) + \fn void QDesignerFormWindowManagerInterface::dragItems(const QVector &item_list) \internal */ diff --git a/src/designer/src/lib/sdk/abstractformwindowmanager.h b/src/designer/src/lib/sdk/abstractformwindowmanager.h index eddba7387..b6fd734c4 100644 --- a/src/designer/src/lib/sdk/abstractformwindowmanager.h +++ b/src/designer/src/lib/sdk/abstractformwindowmanager.h @@ -120,7 +120,7 @@ public: virtual QDesignerFormEditorInterface *core() const = 0; - virtual void dragItems(const QList &item_list) = 0; + virtual void dragItems(const QVector &item_list) = 0; virtual QPixmap createPreviewPixmap() const = 0; diff --git a/src/designer/src/lib/sdk/abstractmetadatabase.cpp b/src/designer/src/lib/sdk/abstractmetadatabase.cpp index 3ba2d5804..df28d91b6 100644 --- a/src/designer/src/lib/sdk/abstractmetadatabase.cpp +++ b/src/designer/src/lib/sdk/abstractmetadatabase.cpp @@ -71,7 +71,7 @@ QDesignerMetaDataBaseInterface::~QDesignerMetaDataBaseInterface() = default; */ /*! - \fn QList QDesignerMetaDataBaseInterface::objects() const + \fn QVector QDesignerMetaDataBaseInterface::objects() const Returns the list of objects that have corresponding items in the meta database. */ @@ -119,7 +119,7 @@ QDesignerMetaDataBaseInterface::~QDesignerMetaDataBaseInterface() = default; */ /*! - \fn QList QDesignerMetaDataBaseItemInterface::tabOrder() const + \fn QVector QDesignerMetaDataBaseItemInterface::tabOrder() const Returns a list of widgets in the order defined by the form's tab order. @@ -128,7 +128,7 @@ QDesignerMetaDataBaseInterface::~QDesignerMetaDataBaseInterface() = default; /*! - \fn void QDesignerMetaDataBaseItemInterface::setTabOrder(const QList &tabOrder) + \fn void QDesignerMetaDataBaseItemInterface::setTabOrder(const QVector &tabOrder) Sets the tab order in the form using the list of widgets defined by \a tabOrder. diff --git a/src/designer/src/lib/sdk/abstractmetadatabase.h b/src/designer/src/lib/sdk/abstractmetadatabase.h index adeb6c7ee..17e0ac160 100644 --- a/src/designer/src/lib/sdk/abstractmetadatabase.h +++ b/src/designer/src/lib/sdk/abstractmetadatabase.h @@ -53,8 +53,8 @@ public: virtual QString name() const = 0; virtual void setName(const QString &name) = 0; - virtual QList tabOrder() const = 0; - virtual void setTabOrder(const QList &tabOrder) = 0; + virtual QVector tabOrder() const = 0; + virtual void setTabOrder(const QVector &tabOrder) = 0; virtual bool enabled() const = 0; virtual void setEnabled(bool b) = 0; @@ -72,7 +72,7 @@ public: virtual void add(QObject *object) = 0; virtual void remove(QObject *object) = 0; - virtual QList objects() const = 0; + virtual QVector objects() const = 0; virtual QDesignerFormEditorInterface *core() const = 0; diff --git a/src/designer/src/lib/sdk/abstractpromotioninterface.cpp b/src/designer/src/lib/sdk/abstractpromotioninterface.cpp index a8e8ecdb6..d59c7fb3d 100644 --- a/src/designer/src/lib/sdk/abstractpromotioninterface.cpp +++ b/src/designer/src/lib/sdk/abstractpromotioninterface.cpp @@ -91,7 +91,7 @@ QT_BEGIN_NAMESPACE with an error message in \a errorMessage on failure. */ -/*! \fn virtual QList QDesignerPromotionInterface::promotionBaseClasses() const +/*! \fn virtual QVector QDesignerPromotionInterface::promotionBaseClasses() const Return a list of base classes that are suitable for promotion. */ diff --git a/src/designer/src/lib/sdk/abstractpromotioninterface.h b/src/designer/src/lib/sdk/abstractpromotioninterface.h index 3ec2a3038..d709c8f03 100644 --- a/src/designer/src/lib/sdk/abstractpromotioninterface.h +++ b/src/designer/src/lib/sdk/abstractpromotioninterface.h @@ -53,7 +53,7 @@ public: QDesignerWidgetDataBaseItemInterface *promotedItem; }; - using PromotedClasses = QList; + using PromotedClasses = QVector; virtual PromotedClasses promotedClasses() const = 0; @@ -70,7 +70,7 @@ public: virtual bool setPromotedClassIncludeFile(const QString &className, const QString &includeFile, QString *errorMessage) = 0; - virtual QList promotionBaseClasses() const = 0; + virtual QVector promotionBaseClasses() const = 0; }; QT_END_NAMESPACE diff --git a/src/designer/src/lib/sdk/abstractwidgetbox.cpp b/src/designer/src/lib/sdk/abstractwidgetbox.cpp index 9bdef3c5b..39dad6ec5 100644 --- a/src/designer/src/lib/sdk/abstractwidgetbox.cpp +++ b/src/designer/src/lib/sdk/abstractwidgetbox.cpp @@ -158,7 +158,7 @@ int QDesignerWidgetBoxInterface::findOrInsertCategory(const QString &categoryNam /*! \internal - \fn void QDesignerWidgetBoxInterface::dropWidgets(const QList &item_list, const QPoint &global_mouse_pos) + \fn void QDesignerWidgetBoxInterface::dropWidgets(const QVector &item_list, const QPoint &global_mouse_pos) */ diff --git a/src/designer/src/lib/sdk/abstractwidgetbox.h b/src/designer/src/lib/sdk/abstractwidgetbox.h index 6d038fc6a..846fb8b3d 100644 --- a/src/designer/src/lib/sdk/abstractwidgetbox.h +++ b/src/designer/src/lib/sdk/abstractwidgetbox.h @@ -72,7 +72,7 @@ public: QSharedDataPointer m_data; }; - using WidgetList = QList; + using WidgetList = QVector; class Category { @@ -99,7 +99,7 @@ public: WidgetList m_widget_list; }; - using CategoryList = QList; + using CategoryList = QVector; explicit QDesignerWidgetBoxInterface(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()); virtual ~QDesignerWidgetBoxInterface(); @@ -116,7 +116,7 @@ public: int findOrInsertCategory(const QString &categoryName); - virtual void dropWidgets(const QList &item_list, + virtual void dropWidgets(const QVector &item_list, const QPoint &global_mouse_pos) = 0; virtual void setFileName(const QString &file_name) = 0; diff --git a/src/designer/src/lib/sdk/abstractwidgetdatabase.cpp b/src/designer/src/lib/sdk/abstractwidgetdatabase.cpp index a348580ea..581fd464d 100644 --- a/src/designer/src/lib/sdk/abstractwidgetdatabase.cpp +++ b/src/designer/src/lib/sdk/abstractwidgetdatabase.cpp @@ -333,13 +333,13 @@ bool QDesignerWidgetDataBaseInterface::isCustom(QObject *object, bool resolveNam */ /*! - \fn virtual void QDesignerWidgetDataBaseItemInterface::setDefaultPropertyValues(const QList &list) = 0 + \fn virtual void QDesignerWidgetDataBaseItemInterface::setDefaultPropertyValues(const QVector &list) = 0 Sets the default property values for the widget to the given \a list. */ /*! - \fn virtual QList QDesignerWidgetDataBaseItemInterface::defaultPropertyValues() const = 0 + \fn virtual QVector QDesignerWidgetDataBaseItemInterface::defaultPropertyValues() const = 0 Returns a list of default values to be used as properties for the item. */ diff --git a/src/designer/src/lib/sdk/abstractwidgetdatabase.h b/src/designer/src/lib/sdk/abstractwidgetdatabase.h index c162039fc..3320018cd 100644 --- a/src/designer/src/lib/sdk/abstractwidgetdatabase.h +++ b/src/designer/src/lib/sdk/abstractwidgetdatabase.h @@ -85,8 +85,8 @@ public: virtual QString extends() const = 0; virtual void setExtends(const QString &s) = 0; - virtual void setDefaultPropertyValues(const QList &list) = 0; - virtual QList defaultPropertyValues() const = 0; + virtual void setDefaultPropertyValues(const QVector &list) = 0; + virtual QVector defaultPropertyValues() const = 0; }; class QDESIGNER_SDK_EXPORT QDesignerWidgetDataBaseInterface: public QObject @@ -115,7 +115,7 @@ Q_SIGNALS: void changed(); protected: - QList m_items; + QVector m_items; }; QT_END_NAMESPACE diff --git a/src/designer/src/lib/sdk/layoutdecoration.h b/src/designer/src/lib/sdk/layoutdecoration.h index e893d1947..91f8c06b1 100644 --- a/src/designer/src/lib/sdk/layoutdecoration.h +++ b/src/designer/src/lib/sdk/layoutdecoration.h @@ -57,7 +57,7 @@ public: QDesignerLayoutDecorationExtension() = default; virtual ~QDesignerLayoutDecorationExtension() = default; - virtual QList widgets(QLayout *layout) const = 0; + virtual QVector widgets(QLayout *layout) const = 0; virtual QRect itemInfo(int index) const = 0; virtual int indexOf(QWidget *widget) const = 0; diff --git a/src/designer/src/lib/sdk/layoutdecoration.qdoc b/src/designer/src/lib/sdk/layoutdecoration.qdoc index 04beec341..16cd44830 100644 --- a/src/designer/src/lib/sdk/layoutdecoration.qdoc +++ b/src/designer/src/lib/sdk/layoutdecoration.qdoc @@ -49,7 +49,7 @@ */ /*! - \fn virtual QList QDesignerLayoutDecorationExtension::widgets(QLayout *layout) const + \fn virtual QVector QDesignerLayoutDecorationExtension::widgets(QLayout *layout) const Returns the widgets that are managed by the given \a layout. diff --git a/src/designer/src/lib/sdk/membersheet.h b/src/designer/src/lib/sdk/membersheet.h index a3a927538..f4d67a9f7 100644 --- a/src/designer/src/lib/sdk/membersheet.h +++ b/src/designer/src/lib/sdk/membersheet.h @@ -65,8 +65,8 @@ public: virtual QString declaredInClass(int index) const = 0; virtual QString signature(int index) const = 0; - virtual QList parameterTypes(int index) const = 0; - virtual QList parameterNames(int index) const = 0; + virtual QVector parameterTypes(int index) const = 0; + virtual QVector parameterNames(int index) const = 0; }; Q_DECLARE_EXTENSION_INTERFACE(QDesignerMemberSheetExtension, "org.qt-project.Qt.Designer.MemberSheet") diff --git a/src/designer/src/lib/sdk/membersheet.qdoc b/src/designer/src/lib/sdk/membersheet.qdoc index 39fc0caa0..7ad66e38d 100644 --- a/src/designer/src/lib/sdk/membersheet.qdoc +++ b/src/designer/src/lib/sdk/membersheet.qdoc @@ -231,7 +231,7 @@ */ /*! - \fn QList QDesignerMemberSheetExtension::parameterTypes(int index) const + \fn QVector QDesignerMemberSheetExtension::parameterTypes(int index) const Returns the parameter types of the member function with the given \a index, as a QByteArray list. @@ -240,7 +240,7 @@ */ /*! - \fn QList QDesignerMemberSheetExtension::parameterNames(int index) const + \fn QVector QDesignerMemberSheetExtension::parameterNames(int index) const Returns the parameter names of the member function with the given \a index, as a QByteArray list. diff --git a/src/designer/src/lib/sdk/taskmenu.h b/src/designer/src/lib/sdk/taskmenu.h index fd588baf1..9147f8b3d 100644 --- a/src/designer/src/lib/sdk/taskmenu.h +++ b/src/designer/src/lib/sdk/taskmenu.h @@ -45,7 +45,7 @@ public: virtual QAction *preferredEditAction() const; - virtual QList taskActions() const = 0; + virtual QVector taskActions() const = 0; }; Q_DECLARE_EXTENSION_INTERFACE(QDesignerTaskMenuExtension, "org.qt-project.Qt.Designer.TaskMenu") diff --git a/src/designer/src/lib/sdk/taskmenu.qdoc b/src/designer/src/lib/sdk/taskmenu.qdoc index b768fc5b2..aec98be51 100644 --- a/src/designer/src/lib/sdk/taskmenu.qdoc +++ b/src/designer/src/lib/sdk/taskmenu.qdoc @@ -128,7 +128,7 @@ */ /*! - \fn QList QDesignerTaskMenuExtension::taskActions() const + \fn QVector QDesignerTaskMenuExtension::taskActions() const Returns the task menu extension as a list of actions which will be included in \QD's task menu when a plugin with the specified diff --git a/src/designer/src/lib/shared/actioneditor_p.h b/src/designer/src/lib/shared/actioneditor_p.h index 2f78887ba..73c70ed2a 100644 --- a/src/designer/src/lib/shared/actioneditor_p.h +++ b/src/designer/src/lib/shared/actioneditor_p.h @@ -122,7 +122,7 @@ signals: void contextMenuRequested(QMenu *menu, QAction *item); private: - using ActionList = QList; + using ActionList = QVector; void deleteActions(QDesignerFormWindowInterface *formWindow, const ActionList &); #if QT_CONFIG(clipboard) void copyActions(QDesignerFormWindowInterface *formWindow, const ActionList &); diff --git a/src/designer/src/lib/shared/actionrepository_p.h b/src/designer/src/lib/shared/actionrepository_p.h index 333093a09..38ca6a7b7 100644 --- a/src/designer/src/lib/shared/actionrepository_p.h +++ b/src/designer/src/lib/shared/actionrepository_p.h @@ -98,7 +98,7 @@ signals: void resourceImageDropped(const QString &path, QAction *action); private: - using QStandardItemList = QList; + using QStandardItemList = QVector; void initializeHeaders(); static void setItems(QDesignerFormEditorInterface *core, QAction *a, @@ -203,7 +203,7 @@ public: QAction *currentAction() const; void setCurrentIndex(const QModelIndex &index); - using ActionList = QList; + using ActionList = QVector; ActionList selectedActions() const; QItemSelection selection() const; @@ -232,7 +232,7 @@ class QDESIGNER_SHARED_EXPORT ActionRepositoryMimeData: public QMimeData { Q_OBJECT public: - using ActionList = QList; + using ActionList = QVector; ActionRepositoryMimeData(const ActionList &, Qt::DropAction dropAction); ActionRepositoryMimeData(QAction *, Qt::DropAction dropAction); diff --git a/src/designer/src/lib/shared/formlayoutmenu_p.h b/src/designer/src/lib/shared/formlayoutmenu_p.h index d4b56ac96..9d88d8ced 100644 --- a/src/designer/src/lib/shared/formlayoutmenu_p.h +++ b/src/designer/src/lib/shared/formlayoutmenu_p.h @@ -61,7 +61,7 @@ class QDESIGNER_SHARED_EXPORT FormLayoutMenu : public QObject Q_DISABLE_COPY_MOVE(FormLayoutMenu) Q_OBJECT public: - using ActionList = QList; + using ActionList = QVector; explicit FormLayoutMenu(QObject *parent); diff --git a/src/designer/src/lib/shared/formwindowbase.cpp b/src/designer/src/lib/shared/formwindowbase.cpp index 6814cd04f..7f2dd4d55 100644 --- a/src/designer/src/lib/shared/formwindowbase.cpp +++ b/src/designer/src/lib/shared/formwindowbase.cpp @@ -460,7 +460,7 @@ void FormWindowBase::deleteWidgetList(const QWidgetList &widget_list) QMenu *FormWindowBase::createExtensionTaskMenu(QDesignerFormWindowInterface *fw, QObject *o, bool trailingSeparator) { - using ActionList = QList; + using ActionList = QVector; ActionList actions; // 1) Standard public extension QExtensionManager *em = fw->core()->extensionManager(); diff --git a/src/designer/src/lib/shared/formwindowbase_p.h b/src/designer/src/lib/shared/formwindowbase_p.h index b240aa521..c18ee0021 100644 --- a/src/designer/src/lib/shared/formwindowbase_p.h +++ b/src/designer/src/lib/shared/formwindowbase_p.h @@ -108,7 +108,7 @@ public: // Helper to create a basic popup menu from task menu extensions (internal/public) static QMenu *createExtensionTaskMenu(QDesignerFormWindowInterface *fw, QObject *o, bool trailingSeparator = true); - virtual bool dropWidgets(const QList &item_list, QWidget *target, + virtual bool dropWidgets(const QVector &item_list, QWidget *target, const QPoint &global_mouse_pos) = 0; // Helper to find the widget at the mouse position with some flags. diff --git a/src/designer/src/lib/shared/morphmenu_p.h b/src/designer/src/lib/shared/morphmenu_p.h index eba1bdf3a..58ade96d0 100644 --- a/src/designer/src/lib/shared/morphmenu_p.h +++ b/src/designer/src/lib/shared/morphmenu_p.h @@ -55,7 +55,7 @@ class QDESIGNER_SHARED_EXPORT MorphMenu : public QObject { Q_DISABLE_COPY_MOVE(MorphMenu) Q_OBJECT public: - using ActionList = QList; + using ActionList = QVector; explicit MorphMenu(QObject *parent = nullptr); diff --git a/src/designer/src/lib/shared/pluginmanager.cpp b/src/designer/src/lib/shared/pluginmanager.cpp index 88b581862..c1b601836 100644 --- a/src/designer/src/lib/shared/pluginmanager.cpp +++ b/src/designer/src/lib/shared/pluginmanager.cpp @@ -476,8 +476,8 @@ class QDesignerPluginManagerPrivate { // Synced lists of custom widgets and their data. Note that the list // must be ordered for collections to appear in order. - QList m_customWidgets; - QList m_customWidgetData; + QVector m_customWidgets; + QVector m_customWidgetData; QStringList defaultPluginPaths() const; diff --git a/src/designer/src/lib/shared/pluginmanager_p.h b/src/designer/src/lib/shared/pluginmanager_p.h index 373d0fe51..df264ad02 100644 --- a/src/designer/src/lib/shared/pluginmanager_p.h +++ b/src/designer/src/lib/shared/pluginmanager_p.h @@ -99,7 +99,7 @@ class QDESIGNER_SHARED_EXPORT QDesignerPluginManager: public QObject { Q_OBJECT public: - using CustomWidgetList = QList; + using CustomWidgetList = QVector; explicit QDesignerPluginManager(QDesignerFormEditorInterface *core); ~QDesignerPluginManager() override; diff --git a/src/designer/src/lib/shared/promotionmodel.cpp b/src/designer/src/lib/shared/promotionmodel.cpp index 37136ced6..ec7ac25d9 100644 --- a/src/designer/src/lib/shared/promotionmodel.cpp +++ b/src/designer/src/lib/shared/promotionmodel.cpp @@ -39,7 +39,7 @@ QT_BEGIN_NAMESPACE namespace { - using StandardItemList = QList; + using StandardItemList = QVector; // Model columns. enum { ClassNameColumn, IncludeFileColumn, IncludeTypeColumn, ReferencedColumn, NumColumns }; diff --git a/src/designer/src/lib/shared/promotiontaskmenu_p.h b/src/designer/src/lib/shared/promotiontaskmenu_p.h index 641efa9b3..3f02ed380 100644 --- a/src/designer/src/lib/shared/promotiontaskmenu_p.h +++ b/src/designer/src/lib/shared/promotiontaskmenu_p.h @@ -83,7 +83,7 @@ public: // Defaults to "Demote to %1".arg(class). void setDemoteLabel(const QString &demoteLabel); - using ActionList = QList; + using ActionList = QVector; enum AddFlags { LeadingSeparator = 1, TrailingSeparator = 2, SuppressGlobalEdit = 4}; @@ -120,7 +120,7 @@ private: QPointer m_widget; // Per-Widget actions - QList m_promotionActions; + QVector m_promotionActions; QAction *m_globalEditAction; QAction *m_EditPromoteToAction; diff --git a/src/designer/src/lib/shared/qdesigner_dnditem_p.h b/src/designer/src/lib/shared/qdesigner_dnditem_p.h index 36419389b..26aa62c4a 100644 --- a/src/designer/src/lib/shared/qdesigner_dnditem_p.h +++ b/src/designer/src/lib/shared/qdesigner_dnditem_p.h @@ -91,7 +91,7 @@ class QDESIGNER_SHARED_EXPORT QDesignerMimeData : public QMimeData { Q_OBJECT public: - using QDesignerDnDItems = QList; + using QDesignerDnDItems = QVector; ~QDesignerMimeData() override; diff --git a/src/designer/src/lib/shared/qdesigner_formbuilder.cpp b/src/designer/src/lib/shared/qdesigner_formbuilder.cpp index 3b25125af..4c8282ca1 100644 --- a/src/designer/src/lib/shared/qdesigner_formbuilder.cpp +++ b/src/designer/src/lib/shared/qdesigner_formbuilder.cpp @@ -224,7 +224,7 @@ static bool readDomEnumerationValue(const DomProperty *p, return false; } -void QDesignerFormBuilder::applyProperties(QObject *o, const QList &properties) +void QDesignerFormBuilder::applyProperties(QObject *o, const QVector &properties) { if (properties.isEmpty()) return; diff --git a/src/designer/src/lib/shared/qdesigner_formbuilder_p.h b/src/designer/src/lib/shared/qdesigner_formbuilder_p.h index ceaf1b395..da1f75eb7 100644 --- a/src/designer/src/lib/shared/qdesigner_formbuilder_p.h +++ b/src/designer/src/lib/shared/qdesigner_formbuilder_p.h @@ -111,7 +111,7 @@ protected: virtual QIcon nameToIcon(const QString &filePath, const QString &qrcPath); virtual QPixmap nameToPixmap(const QString &filePath, const QString &qrcPath); - void applyProperties(QObject *o, const QList &properties) override; + void applyProperties(QObject *o, const QVector &properties) override; void loadExtraInfo(DomWidget *ui_widget, QWidget *widget, QWidget *parentWidget) override; diff --git a/src/designer/src/lib/shared/qdesigner_membersheet.cpp b/src/designer/src/lib/shared/qdesigner_membersheet.cpp index 2e62aab7f..f0295601a 100644 --- a/src/designer/src/lib/shared/qdesigner_membersheet.cpp +++ b/src/designer/src/lib/shared/qdesigner_membersheet.cpp @@ -34,14 +34,11 @@ #include QT_BEGIN_NAMESPACE -static QList stringListToByteArray(const QStringList &l) -{ - if (l.isEmpty()) - return QList(); - QList rc; - const QStringList::const_iterator cend = l.constEnd(); - for (QStringList::const_iterator it = l.constBegin(); it != cend; ++it) - rc += it->toUtf8(); +static QVector stringListToByteArray(const QStringList &l) +{ + QVector rc; + for (const QString &s : l) + rc.append(s.toUtf8()); return rc; } @@ -187,12 +184,12 @@ bool QDesignerMemberSheet::inheritedFromWidget(int index) const } -QList QDesignerMemberSheet::parameterTypes(int index) const +QVector QDesignerMemberSheet::parameterTypes(int index) const { return stringListToByteArray(d->m_meta->method(index)->parameterTypes()); } -QList QDesignerMemberSheet::parameterNames(int index) const +QVector QDesignerMemberSheet::parameterNames(int index) const { return stringListToByteArray(d->m_meta->method(index)->parameterNames()); } diff --git a/src/designer/src/lib/shared/qdesigner_membersheet_p.h b/src/designer/src/lib/shared/qdesigner_membersheet_p.h index b67ad3792..eac3d6383 100644 --- a/src/designer/src/lib/shared/qdesigner_membersheet_p.h +++ b/src/designer/src/lib/shared/qdesigner_membersheet_p.h @@ -80,8 +80,8 @@ public: QString declaredInClass(int index) const override; QString signature(int index) const override; - QList parameterTypes(int index) const override; - QList parameterNames(int index) const override; + QVector parameterTypes(int index) const override; + QVector parameterNames(int index) const override; private: QDesignerMemberSheetPrivate *d; diff --git a/src/designer/src/lib/shared/qdesigner_menubar.cpp b/src/designer/src/lib/shared/qdesigner_menubar.cpp index 287a2fc3c..84bc8e365 100644 --- a/src/designer/src/lib/shared/qdesigner_menubar.cpp +++ b/src/designer/src/lib/shared/qdesigner_menubar.cpp @@ -56,7 +56,7 @@ Q_DECLARE_METATYPE(QAction*) QT_BEGIN_NAMESPACE -using ActionList = QList; +using ActionList = QVector; using namespace qdesigner_internal; diff --git a/src/designer/src/lib/shared/qdesigner_menubar_p.h b/src/designer/src/lib/shared/qdesigner_menubar_p.h index 5ec5132ab..bd86b809f 100644 --- a/src/designer/src/lib/shared/qdesigner_menubar_p.h +++ b/src/designer/src/lib/shared/qdesigner_menubar_p.h @@ -90,7 +90,7 @@ public: void moveDown(); // Helpers for MenuTaskMenu/MenuBarTaskMenu extensions - QList contextMenuActions(); + QVector contextMenuActions(); void deleteMenuAction(QAction *action); private slots: diff --git a/src/designer/src/lib/shared/qdesigner_promotion.cpp b/src/designer/src/lib/shared/qdesigner_promotion.cpp index 08b2848fd..448fab314 100644 --- a/src/designer/src/lib/shared/qdesigner_promotion.cpp +++ b/src/designer/src/lib/shared/qdesigner_promotion.cpp @@ -164,7 +164,7 @@ namespace qdesigner_internal { return true; } - QList QDesignerPromotion::promotionBaseClasses() const + QVector QDesignerPromotion::promotionBaseClasses() const { using SortedDatabaseItemMap = QMap; SortedDatabaseItemMap sortedDatabaseItemMap; diff --git a/src/designer/src/lib/shared/qdesigner_promotion_p.h b/src/designer/src/lib/shared/qdesigner_promotion_p.h index 3448fd999..c88e7130c 100644 --- a/src/designer/src/lib/shared/qdesigner_promotion_p.h +++ b/src/designer/src/lib/shared/qdesigner_promotion_p.h @@ -70,7 +70,7 @@ namespace qdesigner_internal { bool setPromotedClassIncludeFile(const QString &className, const QString &includeFile, QString *errorMessage) override; - QList promotionBaseClasses() const override; + QVector promotionBaseClasses() const override; private: bool canBePromoted(const QDesignerWidgetDataBaseItemInterface *) const; diff --git a/src/designer/src/lib/shared/qdesigner_promotiondialog.cpp b/src/designer/src/lib/shared/qdesigner_promotiondialog.cpp index 1ec5cd9ae..e2dd81509 100644 --- a/src/designer/src/lib/shared/qdesigner_promotiondialog.cpp +++ b/src/designer/src/lib/shared/qdesigner_promotiondialog.cpp @@ -288,7 +288,7 @@ namespace qdesigner_internal { } const QStringList &QDesignerPromotionDialog::baseClassNames(const QDesignerPromotionInterface *promotion) { - using WidgetDataBaseItemList = QList; + using WidgetDataBaseItemList = QVector; static QStringList rc; if (rc.isEmpty()) { // Convert the item list into a string list. diff --git a/src/designer/src/lib/shared/qdesigner_propertycommand_p.h b/src/designer/src/lib/shared/qdesigner_propertycommand_p.h index 2ee57ad2c..ab7662f2a 100644 --- a/src/designer/src/lib/shared/qdesigner_propertycommand_p.h +++ b/src/designer/src/lib/shared/qdesigner_propertycommand_p.h @@ -148,7 +148,7 @@ public: protected: using PropertyHelperPtr = QSharedPointer; - using PropertyHelperList = QList; + using PropertyHelperList = QVector; // add an object bool add(QObject *object, const QString &propertyName); @@ -259,14 +259,14 @@ class QDESIGNER_SHARED_EXPORT AddDynamicPropertyCommand: public QDesignerFormWin public: explicit AddDynamicPropertyCommand(QDesignerFormWindowInterface *formWindow); - bool init(const QList &selection, QObject *current, const QString &propertyName, const QVariant &value); + bool init(const QVector &selection, QObject *current, const QString &propertyName, const QVariant &value); virtual void redo(); virtual void undo(); private: void setDescription(); QString m_propertyName; - QList m_selection; + QVector m_selection; QVariant m_value; }; @@ -276,7 +276,7 @@ class QDESIGNER_SHARED_EXPORT RemoveDynamicPropertyCommand: public QDesignerForm public: explicit RemoveDynamicPropertyCommand(QDesignerFormWindowInterface *formWindow); - bool init(const QList &selection, QObject *current, const QString &propertyName); + bool init(const QVector &selection, QObject *current, const QString &propertyName); virtual void redo(); virtual void undo(); diff --git a/src/designer/src/lib/shared/qdesigner_propertysheet.cpp b/src/designer/src/lib/shared/qdesigner_propertysheet.cpp index c142ee7b1..e815dd4c0 100644 --- a/src/designer/src/lib/shared/qdesigner_propertysheet.cpp +++ b/src/designer/src/lib/shared/qdesigner_propertysheet.cpp @@ -692,7 +692,7 @@ QDesignerPropertySheet::QDesignerPropertySheet(QObject *object, QObject *parent) createFakeProperty(QStringLiteral("floating")); } - using ByteArrayList = QList; + using ByteArrayList = QVector; const ByteArrayList names = object->dynamicPropertyNames(); if (!names.isEmpty()) { const ByteArrayList::const_iterator cend = names.constEnd(); diff --git a/src/designer/src/lib/shared/qdesigner_taskmenu.cpp b/src/designer/src/lib/shared/qdesigner_taskmenu.cpp index 3168eae73..f2a399752 100644 --- a/src/designer/src/lib/shared/qdesigner_taskmenu.cpp +++ b/src/designer/src/lib/shared/qdesigner_taskmenu.cpp @@ -464,14 +464,14 @@ void QDesignerTaskMenu::removeStatusBar() } } -QList QDesignerTaskMenu::taskActions() const +QVector QDesignerTaskMenu::taskActions() const { QDesignerFormWindowInterface *formWindow = QDesignerFormWindowInterface::findFormWindow(widget()); Q_ASSERT(formWindow); const bool isMainContainer = formWindow->mainContainer() == widget(); - QList actions; + QVector actions; if (const QMainWindow *mw = qobject_cast(formWindow->mainContainer())) { if (isMainContainer || mw->centralWidget() == widget()) { diff --git a/src/designer/src/lib/shared/qdesigner_taskmenu_p.h b/src/designer/src/lib/shared/qdesigner_taskmenu_p.h index b4bc23da4..99d64a5ef 100644 --- a/src/designer/src/lib/shared/qdesigner_taskmenu_p.h +++ b/src/designer/src/lib/shared/qdesigner_taskmenu_p.h @@ -68,7 +68,7 @@ public: QWidget *widget() const; - QList taskActions() const override; + QVector taskActions() const override; enum PropertyMode { CurrentWidgetMode, MultiSelectionMode }; diff --git a/src/designer/src/lib/shared/qdesigner_toolbar.cpp b/src/designer/src/lib/shared/qdesigner_toolbar.cpp index 08723c2ff..83637eedc 100644 --- a/src/designer/src/lib/shared/qdesigner_toolbar.cpp +++ b/src/designer/src/lib/shared/qdesigner_toolbar.cpp @@ -55,7 +55,7 @@ Q_DECLARE_METATYPE(QAction*) QT_BEGIN_NAMESPACE -using ActionList = QList; +using ActionList = QVector; namespace qdesigner_internal { // ------------------- ToolBarEventFilter diff --git a/src/designer/src/lib/shared/qdesigner_toolbar_p.h b/src/designer/src/lib/shared/qdesigner_toolbar_p.h index 97d957c0c..c9fef9fec 100644 --- a/src/designer/src/lib/shared/qdesigner_toolbar_p.h +++ b/src/designer/src/lib/shared/qdesigner_toolbar_p.h @@ -85,7 +85,7 @@ public: bool eventFilter (QObject *watched, QEvent *event) override; // Helper for task menu extension - QList contextMenuActions(const QPoint &globalPos = QPoint(-1, -1)); + QVector contextMenuActions(const QPoint &globalPos = QPoint(-1, -1)); static ToolBarEventFilter *eventFilterOf(const QToolBar *tb); diff --git a/src/designer/src/lib/shared/qlayout_widget.cpp b/src/designer/src/lib/shared/qlayout_widget.cpp index d87874105..5e4de4bc1 100644 --- a/src/designer/src/lib/shared/qlayout_widget.cpp +++ b/src/designer/src/lib/shared/qlayout_widget.cpp @@ -608,7 +608,7 @@ QRect LayoutHelper::itemInfo(QLayout *lt, const QWidget *widget) const // Figure out states of a cell and return as a flat vector of // [column1, column2,...] (address as row * columnCount + col) - static CellStates cellStates(const QList &rects, int numRows, int numColumns); + static CellStates cellStates(const QVector &rects, int numRows, int numColumns); typedef QMap WidgetItemMap; typedef QMap WidgetAlignmentMap; @@ -635,7 +635,7 @@ QRect LayoutHelper::itemInfo(QLayout *lt, const QWidget *widget) const return str; } - GridLayoutState::CellStates GridLayoutState::cellStates(const QList &rects, int numRows, int numColumns) + GridLayoutState::CellStates GridLayoutState::cellStates(const QVector &rects, int numRows, int numColumns) { CellStates rc = CellStates(numRows * numColumns, CellState(Free, Free)); for (const auto &rect : rects) { diff --git a/src/designer/src/lib/shared/qsimpleresource_p.h b/src/designer/src/lib/shared/qsimpleresource_p.h index e2dccaa53..ad8dfb989 100644 --- a/src/designer/src/lib/shared/qsimpleresource_p.h +++ b/src/designer/src/lib/shared/qsimpleresource_p.h @@ -101,7 +101,7 @@ private: // Contents of clipboard for formbuilder copy and paste operations // (Actions and widgets) struct QDESIGNER_SHARED_EXPORT FormBuilderClipboard { - using ActionList = QList; + using ActionList = QVector; FormBuilderClipboard() = default; FormBuilderClipboard(QWidget *w); diff --git a/src/designer/src/lib/shared/qtresourceeditordialog.cpp b/src/designer/src/lib/shared/qtresourceeditordialog.cpp index a1c15e708..5c7d27f32 100644 --- a/src/designer/src/lib/shared/qtresourceeditordialog.cpp +++ b/src/designer/src/lib/shared/qtresourceeditordialog.cpp @@ -82,7 +82,7 @@ struct QtResourceFileData { struct QtResourcePrefixData { QString prefix; QString language; - QList resourceFileList; + QVector resourceFileList; bool operator==(const QtResourcePrefixData &other) const { return prefix == other.prefix && language == other.language @@ -92,7 +92,7 @@ struct QtResourcePrefixData { struct QtQrcFileData { QString qrcPath; - QList resourceList; + QVector resourceList; bool operator==(const QtQrcFileData &other) const { return qrcPath == other.qrcPath && resourceList == other.resourceList; } }; @@ -230,13 +230,13 @@ public: QString prefix() const { return m_prefix; } QString language() const { return m_language; } - QList resourceFiles() const { return m_resourceFiles; } + QVector resourceFiles() const { return m_resourceFiles; } private: QtResourcePrefix() = default; QString m_prefix; QString m_language; - QList m_resourceFiles; + QVector m_resourceFiles; }; // ------------------- QtQrcFile @@ -246,7 +246,7 @@ public: QString path() const { return m_path; } QString fileName() const { return m_fileName; } - QList resourcePrefixList() const { return m_resourcePrefixes; } + QVector resourcePrefixList() const { return m_resourcePrefixes; } QtQrcFileData initialState() const { return m_initialState; } private: @@ -260,7 +260,7 @@ private: QString m_path; QString m_fileName; - QList m_resourcePrefixes; + QVector m_resourcePrefixes; QtQrcFileData m_initialState; }; @@ -272,7 +272,7 @@ public: QtQrcManager(QObject *parent = nullptr); ~QtQrcManager() override; - QList qrcFiles() const; + QVector qrcFiles() const; // helpers QtQrcFile *qrcFileOf(const QString &path) const; @@ -332,12 +332,12 @@ signals: void resourceFileRemoved(QtResourceFile *resourceFile); private: - QList m_qrcFiles; + QVector m_qrcFiles; QMap m_pathToQrc; QMap m_qrcFileToExists; QMap m_prefixToQrc; QMap m_fileToPrefix; - QMap > m_fullPathToResourceFiles; + QMap > m_fullPathToResourceFiles; QMap m_fullPathToIcon; QMap m_fullPathToExists; }; @@ -353,7 +353,7 @@ QtQrcManager::~QtQrcManager() clear(); } -QList QtQrcManager::qrcFiles() const +QVector QtQrcManager::qrcFiles() const { return m_qrcFiles; } @@ -397,11 +397,11 @@ void QtQrcManager::exportQrcFile(QtQrcFile *qrcFile, QtQrcFileData *qrcFileData) QtQrcFileData &data = *qrcFileData; - QList resourceList; + QVector resourceList; const auto resourcePrefixes = qrcFile->resourcePrefixList(); for (const QtResourcePrefix *prefix : resourcePrefixes) { - QList resourceFileList; + QVector resourceFileList; const auto resourceFiles = prefix->resourceFiles(); for (QtResourceFile *file : resourceFiles) { QtResourceFileData fileData; @@ -857,7 +857,7 @@ public: QtResourceModel *m_resourceModel = nullptr; QDesignerDialogGuiInterface *m_dlgGui = nullptr; QtQrcManager *m_qrcManager = nullptr; - QList m_initialState; + QVector m_initialState; QMap m_qrcFileToItem; QMap m_itemToQrcFile; @@ -983,7 +983,7 @@ QStandardItem *QtResourceEditorDialogPrivate::insertResourcePrefix(QtResourcePre QStandardItem *prefixItem = new QStandardItem(); QStandardItem *languageItem = new QStandardItem(); - QList items; + QVector items; items << prefixItem; items << languageItem; m_treeModel->insertRow(row, items); @@ -1087,7 +1087,7 @@ void QtResourceEditorDialogPrivate::slotResourceFileInserted(QtResourceFile *res QStandardItem *pathItem = new QStandardItem(resourceFile->path()); QStandardItem *aliasItem = new QStandardItem(); QStandardItem *parentItem = m_resourcePrefixToPrefixItem.value(resourcePrefix); - QList items; + QVector items; items << pathItem; items << aliasItem; @@ -2094,7 +2094,7 @@ void QtResourceEditorDialog::displayResourceFailures(const QString &logOutput, Q void QtResourceEditorDialog::accept() { QStringList newQrcPaths; - QList currentState; + QVector currentState; const auto qrcFiles = d_ptr->m_qrcManager->qrcFiles(); for (QtQrcFile *qrcFile : qrcFiles) { diff --git a/src/designer/src/lib/shared/qtresourcemodel.cpp b/src/designer/src/lib/shared/qtresourcemodel.cpp index fec22a015..f853e13c2 100644 --- a/src/designer/src/lib/shared/qtresourcemodel.cpp +++ b/src/designer/src/lib/shared/qtresourcemodel.cpp @@ -79,7 +79,7 @@ public: // then later when that resource set is activated it needs to be reregistered) QMap m_newlyCreated; // all created but not activated yet // (if was active at some point and it's not now it will not be on that map) - QMap > m_pathToResourceSet; + QMap > m_pathToResourceSet; QtResourceSet *m_currentResourceSet = nullptr; typedef QMap PathDataMap; @@ -487,7 +487,7 @@ void QtResourceModel::setModified(const QString &path) d_ptr->m_resourceSetToReload.insert(rs, true); } -QList QtResourceModel::resourceSets() const +QVector QtResourceModel::resourceSets() const { return d_ptr->m_resourceSetToPaths.keys(); } diff --git a/src/designer/src/lib/shared/qtresourcemodel_p.h b/src/designer/src/lib/shared/qtresourcemodel_p.h index 65d615f52..e6da05351 100644 --- a/src/designer/src/lib/shared/qtresourcemodel_p.h +++ b/src/designer/src/lib/shared/qtresourcemodel_p.h @@ -91,7 +91,7 @@ public: bool isModified(const QString &path) const; // only for paths which are on loadedQrcFiles() list void setModified(const QString &path); // only for paths which are on loadedQrcPaths() list - QList resourceSets() const; + QVector resourceSets() const; QtResourceSet *currentResourceSet() const; void setCurrentResourceSet(QtResourceSet *resourceSet, int *errorCount = nullptr, QString *errorMessages = nullptr); diff --git a/src/designer/src/lib/shared/widgetdatabase.cpp b/src/designer/src/lib/shared/widgetdatabase.cpp index 6b63ac7b4..bb1590af4 100644 --- a/src/designer/src/lib/shared/widgetdatabase.cpp +++ b/src/designer/src/lib/shared/widgetdatabase.cpp @@ -188,12 +188,12 @@ void WidgetDataBaseItem::setExtends(const QString &s) m_extends = s; } -void WidgetDataBaseItem::setDefaultPropertyValues(const QList &list) +void WidgetDataBaseItem::setDefaultPropertyValues(const QVector &list) { m_defaultPropertyValues = list; } -QList WidgetDataBaseItem::defaultPropertyValues() const +QVector WidgetDataBaseItem::defaultPropertyValues() const { return m_defaultPropertyValues; } @@ -348,7 +348,7 @@ static WidgetDataBaseItem *createCustomWidgetItem(const QDesignerCustomWidgetInt void WidgetDataBase::loadPlugins() { typedef QMap NameIndexMap; - using ItemList = QList; + using ItemList = QVector; using NameSet = QSet; // 1) create a map of existing custom classes NameIndexMap existingCustomClasses; @@ -417,7 +417,7 @@ void WidgetDataBase::remove(int index) delete m_items.takeAt(index); } -QList WidgetDataBase::defaultPropertyValues(const QString &name) +QVector WidgetDataBase::defaultPropertyValues(const QString &name) { WidgetFactory *factory = qobject_cast(m_core->widgetFactory()); Q_ASSERT(factory); @@ -537,7 +537,7 @@ QStringList WidgetDataBase::customFormWidgetClasses(const QDesignerFormEditorInt // properties to be suitable for new forms static QString xmlFromWidgetBox(const QDesignerFormEditorInterface *core, const QString &className, const QString &objectName) { - using PropertyList = QList; + using PropertyList = QVector; QDesignerWidgetBoxInterface::Widget widget; const bool found = QDesignerWidgetBox::findWidget(core->widgetBox(), className, QString(), &widget); diff --git a/src/designer/src/lib/shared/widgetdatabase_p.h b/src/designer/src/lib/shared/widgetdatabase_p.h index 73f00b6b6..8a591ec6a 100644 --- a/src/designer/src/lib/shared/widgetdatabase_p.h +++ b/src/designer/src/lib/shared/widgetdatabase_p.h @@ -101,8 +101,8 @@ public: QString extends() const override; void setExtends(const QString &s) override; - void setDefaultPropertyValues(const QList &list) override; - QList defaultPropertyValues() const override; + void setDefaultPropertyValues(const QVector &list) override; + QVector defaultPropertyValues() const override; static WidgetDataBaseItem *clone(const QDesignerWidgetDataBaseItemInterface *item); @@ -129,7 +129,7 @@ private: uint m_container: 1; uint m_custom: 1; uint m_promoted: 1; - QList m_defaultPropertyValues; + QVector m_defaultPropertyValues; QStringList m_fakeSlots; QStringList m_fakeSignals; }; @@ -170,7 +170,7 @@ public slots: void loadPlugins(); private: - QList defaultPropertyValues(const QString &name); + QVector defaultPropertyValues(const QString &name); QDesignerFormEditorInterface *m_core; }; @@ -184,7 +184,7 @@ QDESIGNER_SHARED_EXPORT QDesignerWidgetDataBaseItemInterface bool promoted, bool custom); -using WidgetDataBaseItemList = QList; +using WidgetDataBaseItemList = QVector; QDESIGNER_SHARED_EXPORT WidgetDataBaseItemList promotionCandidates(const QDesignerWidgetDataBaseInterface *db, diff --git a/src/designer/src/lib/uilib/abstractformbuilder.cpp b/src/designer/src/lib/uilib/abstractformbuilder.cpp index 4d39cdb5d..5e275a707 100644 --- a/src/designer/src/lib/uilib/abstractformbuilder.cpp +++ b/src/designer/src/lib/uilib/abstractformbuilder.cpp @@ -918,7 +918,7 @@ QLayoutItem *QAbstractFormBuilder::create(DomLayoutItem *ui_layoutItem, QLayout /*! \internal */ -void QAbstractFormBuilder::applyProperties(QObject *o, const QList &properties) +void QAbstractFormBuilder::applyProperties(QObject *o, const QVector &properties) { for (DomProperty *p : properties) { const QVariant v = toVariant(o->metaObject(), p); @@ -1266,9 +1266,9 @@ void FormBuilderSaveLayoutEntry::setAlignment(Qt::Alignment al) } // Create list from standard box layout -static QList saveLayoutEntries(const QLayout *layout) +static QVector saveLayoutEntries(const QLayout *layout) { - QList rc; + QVector rc; if (const int count = layout->count()) { rc.reserve(count); for (int idx = 0; idx < count; ++idx) { @@ -1282,9 +1282,9 @@ static QList saveLayoutEntries(const QLayout *layout } // Create list from grid layout -static QList saveGridLayoutEntries(QGridLayout *gridLayout) +static QVector saveGridLayoutEntries(QGridLayout *gridLayout) { - QList rc; + QVector rc; if (const int count = gridLayout->count()) { rc.reserve(count); for (int idx = 0; idx < count; ++idx) { @@ -1300,9 +1300,9 @@ static QList saveGridLayoutEntries(QGridLayout *grid #if QT_CONFIG(formlayout) // Create list from form layout -static QList saveFormLayoutEntries(const QFormLayout *formLayout) +static QVector saveFormLayoutEntries(const QFormLayout *formLayout) { - QList rc; + QVector rc; if (const int count = formLayout->count()) { rc.reserve(count); for (int idx = 0; idx < count; ++idx) { @@ -1343,7 +1343,7 @@ DomLayout *QAbstractFormBuilder::createDom(QLayout *layout, DomLayout *ui_layout lay->setAttributeName(objectName); lay->setElementProperty(computeProperties(layout)); - QList newList; + QVector newList; if (QGridLayout *gridLayout = qobject_cast(layout)) { newList = saveGridLayoutEntries(gridLayout); #if QT_CONFIG(formlayout) @@ -1405,7 +1405,7 @@ DomSpacer *QAbstractFormBuilder::createDom(QSpacerItem *spacer, DomLayout *ui_la Q_UNUSED(ui_parentWidget); DomSpacer *ui_spacer = new DomSpacer(); - QList properties; + QVector properties; DomProperty *prop = nullptr; const QFormBuilderStrings &strings = QFormBuilderStrings::instance(); @@ -1441,9 +1441,9 @@ DomProperty *QAbstractFormBuilder::createProperty(QObject *obj, const QString &p /*! \internal */ -QList QAbstractFormBuilder::computeProperties(QObject *obj) +QVector QAbstractFormBuilder::computeProperties(QObject *obj) { - QList lst; + QVector lst; const QMetaObject *meta = obj->metaObject(); @@ -1505,7 +1505,7 @@ QList QAbstractFormBuilder::computeProperties(QObject *obj) /*! \internal */ -QAbstractFormBuilder::DomPropertyHash QAbstractFormBuilder::propertyMap(const QList &properties) +QAbstractFormBuilder::DomPropertyHash QAbstractFormBuilder::propertyMap(const QVector &properties) { DomPropertyHash map; @@ -1618,7 +1618,7 @@ public: }; template -static void storeItemFlags(const T *item, QList *properties) +static void storeItemFlags(const T *item, QVector *properties) { static const QFormBuilderStrings &strings = QFormBuilderStrings::instance(); static const Qt::ItemFlags defaultFlags = T().flags(); @@ -1634,7 +1634,7 @@ static void storeItemFlags(const T *item, QList *properties) template static void storeItemProps(QAbstractFormBuilder *abstractFormBuilder, const T *item, - QList *properties) + QVector *properties) { static const QFormBuilderStrings &strings = QFormBuilderStrings::instance(); FriendlyFB * const formBuilder = static_cast(abstractFormBuilder); @@ -1659,7 +1659,7 @@ static void storeItemProps(QAbstractFormBuilder *abstractFormBuilder, const T *i template static void storeItemPropsNFlags(QAbstractFormBuilder *abstractFormBuilder, const T *item, - QList *properties) + QVector *properties) { storeItemProps(abstractFormBuilder, item, properties); storeItemFlags(item, properties); @@ -1725,7 +1725,7 @@ void QAbstractFormBuilder::saveTreeWidgetExtraInfo(QTreeWidget *treeWidget, DomW for (int c = 0; ccolumnCount(); ++c) { DomColumn *column = new DomColumn; - QList properties; + QVector properties; for (const QFormBuilderStrings::TextRoleNName &it : strings.itemTextRoles) { p = saveText(it.second, treeWidget->headerItem()->data(c, it.first.second)); @@ -1769,7 +1769,7 @@ void QAbstractFormBuilder::saveTreeWidgetExtraInfo(QTreeWidget *treeWidget, DomW DomItem *currentDomItem = new DomItem; - QList properties; + QVector properties; for (int c = 0; c < treeWidget->columnCount(); c++) { for (const QFormBuilderStrings::TextRoleNName &it : strings.itemTextRoles) if ((p = saveText(it.second, item->data(c, it.first.second)))) @@ -1810,7 +1810,7 @@ void QAbstractFormBuilder::saveTableWidgetExtraInfo(QTableWidget *tableWidget, D // save the horizontal header QVector columns; for (int c = 0; c < tableWidget->columnCount(); c++) { - QList properties; + QVector properties; QTableWidgetItem *item = tableWidget->horizontalHeaderItem(c); if (item) storeItemProps(this, item, &properties); @@ -1824,7 +1824,7 @@ void QAbstractFormBuilder::saveTableWidgetExtraInfo(QTableWidget *tableWidget, D // save the vertical header QVector rows; for (int r = 0; r < tableWidget->rowCount(); r++) { - QList properties; + QVector properties; QTableWidgetItem *item = tableWidget->verticalHeaderItem(r); if (item) storeItemProps(this, item, &properties); @@ -1840,7 +1840,7 @@ void QAbstractFormBuilder::saveTableWidgetExtraInfo(QTableWidget *tableWidget, D for (int c = 0; c < tableWidget->columnCount(); c++) { QTableWidgetItem *item = tableWidget->item(r, c); if (item) { - QList properties; + QVector properties; storeItemPropsNFlags(this, item, &properties); DomItem *domItem = new DomItem; @@ -1863,7 +1863,7 @@ void QAbstractFormBuilder::saveListWidgetExtraInfo(QListWidget *listWidget, DomW auto ui_items = ui_widget->elementItem(); for (int i=0; icount(); ++i) { - QList properties; + QVector properties; storeItemPropsNFlags(this, listWidget->item(i), &properties); DomItem *ui_item = new DomItem(); @@ -1890,7 +1890,7 @@ void QAbstractFormBuilder::saveComboBoxExtraInfo(QComboBox *comboBox, DomWidget comboBox->itemData(i, Qt::DisplayPropertyRole)); DomProperty *iconProperty = saveResource(comboBox->itemData(i, Qt::DecorationPropertyRole)); if (textProperty || iconProperty) { - QList properties; + QVector properties; if (textProperty) properties.push_back(textProperty); if (iconProperty) @@ -1912,7 +1912,7 @@ void QAbstractFormBuilder::saveComboBoxExtraInfo(QComboBox *comboBox, DomWidget void QAbstractFormBuilder::saveButtonExtraInfo(const QAbstractButton *widget, DomWidget *ui_widget, DomWidget *) { - using DomPropertyList = QList; + using DomPropertyList = QVector; if (const QButtonGroup *buttonGroup = widget->group()) { DomPropertyList attributes = ui_widget->elementAttribute(); DomString *domString = new DomString(); @@ -2326,7 +2326,7 @@ void QAbstractFormBuilder::loadItemViewExtraInfo(DomWidget *ui_widget, QAbstract if (QTreeView *treeView = qobject_cast(itemView)) { const auto &allAttributes = ui_widget->elementAttribute(); - QList headerProperties; + QVector headerProperties; for (const QString &realPropertyName : realPropertyNames) { const QString upperPropertyName = realPropertyName.at(0).toUpper() + realPropertyName.mid(1); @@ -2346,7 +2346,7 @@ void QAbstractFormBuilder::loadItemViewExtraInfo(DomWidget *ui_widget, QAbstract const auto &allAttributes = ui_widget->elementAttribute(); for (const QString &headerPrefix : headerPrefixes) { - QList headerProperties; + QVector headerProperties; for (const QString &realPropertyName : realPropertyNames) { const QString upperPropertyName = realPropertyName.at(0).toUpper() + realPropertyName.mid(1); diff --git a/src/designer/src/lib/uilib/abstractformbuilder.h b/src/designer/src/lib/uilib/abstractformbuilder.h index 0e23c7de6..9e6a89e34 100644 --- a/src/designer/src/lib/uilib/abstractformbuilder.h +++ b/src/designer/src/lib/uilib/abstractformbuilder.h @@ -146,7 +146,7 @@ protected: virtual QActionGroup *create(DomActionGroup *ui_action_group, QObject *parent); virtual void addMenuAction(QAction *action); - virtual void applyProperties(QObject *o, const QList &properties); + virtual void applyProperties(QObject *o, const QVector &properties); bool applyPropertyInternally(QObject *o, const QString &propertyName, const QVariant &value); virtual void applyTabStops(QWidget *widget, DomTabStops *tabStops); @@ -186,7 +186,7 @@ protected: virtual DomTabStops *saveTabStops(); virtual DomResources *saveResources(); DomButtonGroups *saveButtonGroups(const QWidget *mainContainer); - virtual QList computeProperties(QObject *obj); + virtual QVector computeProperties(QObject *obj); virtual bool checkProperty(QObject *obj, const QString &prop) const; virtual DomProperty *createProperty(QObject *object, const QString &propertyName, const QVariant &value); @@ -221,7 +221,7 @@ protected: static QString toString(const DomString *str); using DomPropertyHash = QHash; - static DomPropertyHash propertyMap(const QList &properties); + static DomPropertyHash propertyMap(const QVector &properties); void setupColorGroup(QPalette &palette, QPalette::ColorGroup colorGroup, DomColorGroup *group); DomColorGroup *saveColorGroup(const QPalette &palette); diff --git a/src/designer/src/lib/uilib/formbuilder.cpp b/src/designer/src/lib/uilib/formbuilder.cpp index 4230e27f7..9f94490a7 100644 --- a/src/designer/src/lib/uilib/formbuilder.cpp +++ b/src/designer/src/lib/uilib/formbuilder.cpp @@ -501,11 +501,11 @@ void QFormBuilder::updateCustomWidgets() } /*! - \fn QList QFormBuilder::customWidgets() const + \fn QVector QFormBuilder::customWidgets() const Returns a list of the available plugins. */ -QList QFormBuilder::customWidgets() const +QVector QFormBuilder::customWidgets() const { return d->m_customWidgets.values(); } @@ -514,7 +514,7 @@ QList QFormBuilder::customWidgets() const \internal */ -void QFormBuilder::applyProperties(QObject *o, const QList &properties) +void QFormBuilder::applyProperties(QObject *o, const QVector &properties) { if (properties.isEmpty()) diff --git a/src/designer/src/lib/uilib/formbuilder.h b/src/designer/src/lib/uilib/formbuilder.h index 522c6df78..7a004b23a 100644 --- a/src/designer/src/lib/uilib/formbuilder.h +++ b/src/designer/src/lib/uilib/formbuilder.h @@ -80,7 +80,7 @@ public: void addPluginPath(const QString &pluginPath); void setPluginPath(const QStringList &pluginPaths); - QList customWidgets() const; + QVector customWidgets() const; protected: QWidget *create(DomUI *ui, QWidget *parentWidget) override; @@ -99,7 +99,7 @@ protected: bool addItem(DomWidget *ui_widget, QWidget *widget, QWidget *parentWidget) override; virtual void updateCustomWidgets(); - void applyProperties(QObject *o, const QList &properties) override; + void applyProperties(QObject *o, const QVector &properties) override; static QWidget *widgetByName(QWidget *topLevel, const QString &name); diff --git a/src/designer/src/lib/uilib/formbuilderextra_p.h b/src/designer/src/lib/uilib/formbuilderextra_p.h index b0239f6b1..ee7ed50bb 100644 --- a/src/designer/src/lib/uilib/formbuilderextra_p.h +++ b/src/designer/src/lib/uilib/formbuilderextra_p.h @@ -272,14 +272,14 @@ struct QDESIGNER_UILIB_EXPORT QFormBuilderStrings { const QString scriptChildWidgetsVariable; using RoleNName = QPair; - QList itemRoles; + QVector itemRoles; QHash treeItemRoleHash; // first.first is primary role, first.second is shadow role. // Shadow is used for either the translation source or the designer // representation of the string value. using TextRoleNName = QPair, QString>; - QList itemTextRoles; + QVector itemTextRoles; QHash > treeItemTextRoleHash; }; #ifdef QFORMINTERNAL_NAMESPACE diff --git a/src/designer/src/plugins/activeqt/qaxwidgetextrainfo.cpp b/src/designer/src/plugins/activeqt/qaxwidgetextrainfo.cpp index 299fb466c..989c47482 100644 --- a/src/designer/src/plugins/activeqt/qaxwidgetextrainfo.cpp +++ b/src/designer/src/plugins/activeqt/qaxwidgetextrainfo.cpp @@ -65,7 +65,7 @@ bool QAxWidgetExtraInfo::saveWidgetExtraInfo(DomWidget *ui_widget) /* Turn off standard setters and make sure "control" is in front, * otherwise, previews will not work as the properties are not applied via * the caching property sheet, them. */ - typedef QList DomPropertyList; + typedef QVector DomPropertyList; DomPropertyList props = ui_widget->elementProperty(); const int size = props.size(); const QString controlProperty = QLatin1String(QAxWidgetPropertySheet::controlPropertyName); diff --git a/src/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp b/src/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp index 4e34f3872..bcf792771 100644 --- a/src/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp +++ b/src/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp @@ -117,7 +117,7 @@ QAxWidgetTaskMenu::~QAxWidgetTaskMenu() { } -QList QAxWidgetTaskMenu::taskActions() const +QVector QAxWidgetTaskMenu::taskActions() const { const bool loaded = m_axwidget->loaded(); m_setAction->setEnabled(!loaded); diff --git a/src/designer/src/plugins/activeqt/qaxwidgettaskmenu.h b/src/designer/src/plugins/activeqt/qaxwidgettaskmenu.h index e1cf40af6..02bc4b8b6 100644 --- a/src/designer/src/plugins/activeqt/qaxwidgettaskmenu.h +++ b/src/designer/src/plugins/activeqt/qaxwidgettaskmenu.h @@ -43,7 +43,7 @@ class QAxWidgetTaskMenu: public QObject, public QDesignerTaskMenuExtension public: explicit QAxWidgetTaskMenu(QDesignerAxWidget *object, QObject *parent = 0); virtual ~QAxWidgetTaskMenu(); - QList taskActions() const override; + QVector taskActions() const override; private slots: void setActiveXControl(); @@ -53,7 +53,7 @@ private: QDesignerAxWidget *m_axwidget; QAction *m_setAction; QAction *m_resetAction; - QList m_taskActions; + QVector m_taskActions; }; typedef qdesigner_internal::ExtensionFactory ActiveXTaskMenuFactory; diff --git a/src/designer/src/uiplugin/customwidget.h b/src/designer/src/uiplugin/customwidget.h index efb392009..1ba6ad33a 100644 --- a/src/designer/src/uiplugin/customwidget.h +++ b/src/designer/src/uiplugin/customwidget.h @@ -75,7 +75,7 @@ class QDesignerCustomWidgetCollectionInterface public: virtual ~QDesignerCustomWidgetCollectionInterface() {} - virtual QList customWidgets() const = 0; + virtual QVector customWidgets() const = 0; }; #define QDesignerCustomWidgetCollectionInterface_iid "org.qt-project.Qt.QDesignerCustomWidgetCollectionInterface" diff --git a/src/designer/src/uiplugin/customwidget.qdoc b/src/designer/src/uiplugin/customwidget.qdoc index a63e0db7c..a49253c72 100644 --- a/src/designer/src/uiplugin/customwidget.qdoc +++ b/src/designer/src/uiplugin/customwidget.qdoc @@ -287,7 +287,7 @@ */ /*! - \fn QList QDesignerCustomWidgetCollectionInterface::customWidgets() const + \fn QVector QDesignerCustomWidgetCollectionInterface::customWidgets() const Returns a list of interfaces to the collection's custom widgets. */ diff --git a/src/designer/src/uitools/quiloader.cpp b/src/designer/src/uitools/quiloader.cpp index d1d4c5a73..2b02b9fde 100644 --- a/src/designer/src/uitools/quiloader.cpp +++ b/src/designer/src/uitools/quiloader.cpp @@ -400,7 +400,7 @@ public: return nullptr; } - void applyProperties(QObject *o, const QList &properties) override; + void applyProperties(QObject *o, const QVector &properties) override; QWidget *create(DomUI *ui, QWidget *parentWidget) override; QWidget *create(DomWidget *ui_widget, QWidget *parentWidget) override; bool addItem(DomWidget *ui_widget, QWidget *widget, QWidget *parentWidget) override; @@ -431,7 +431,7 @@ static QString convertTranslatable(const DomProperty *p, const QByteArray &class return strVal->translate(className, idBased); } -void FormBuilderPrivate::applyProperties(QObject *o, const QList &properties) +void FormBuilderPrivate::applyProperties(QObject *o, const QVector &properties) { QFormBuilder::applyProperties(o, properties); diff --git a/src/shared/deviceskin/deviceskin.h b/src/shared/deviceskin/deviceskin.h index 348119d96..7f15b7f7f 100644 --- a/src/shared/deviceskin/deviceskin.h +++ b/src/shared/deviceskin/deviceskin.h @@ -91,7 +91,7 @@ struct DeviceSkinParameters { int screenDepth; QPoint cursorHot; QVector buttonAreas; - QList toggleAreaList; + QVector toggleAreaList; int joystick; QString prefix; diff --git a/src/shared/fontpanel/fontpanel.cpp b/src/shared/fontpanel/fontpanel.cpp index 2645d992e..fd403dfcf 100644 --- a/src/shared/fontpanel/fontpanel.cpp +++ b/src/shared/fontpanel/fontpanel.cpp @@ -118,7 +118,7 @@ void FontPanel::setSelectedFont(const QFont &f) m_familyComboBox->setCurrentFont(f); if (m_familyComboBox->currentIndex() < 0) { // family not in writing system - find the corresponding one? - QList familyWritingSystems = m_fontDatabase.writingSystems(f.family()); + QVector familyWritingSystems = m_fontDatabase.writingSystems(f.family()); if (familyWritingSystems.isEmpty()) return; diff --git a/src/shared/qtgradienteditor/qtcolorline.cpp b/src/shared/qtgradienteditor/qtcolorline.cpp index 3c48cdfcb..8b9ad0b30 100644 --- a/src/shared/qtgradienteditor/qtcolorline.cpp +++ b/src/shared/qtgradienteditor/qtcolorline.cpp @@ -421,7 +421,7 @@ QPixmap QtColorLinePrivate::hueGradientPixmap(int size, Qt::Orientation orientat gradW = 0; w = 1; } - QList colorList; + QVector colorList; colorList << QColor::fromHsv(0, saturation, value, alpha); colorList << QColor::fromHsv(60, saturation, value, alpha); colorList << QColor::fromHsv(120, saturation, value, alpha); diff --git a/src/shared/qtgradienteditor/qtgradientstopsmodel.cpp b/src/shared/qtgradienteditor/qtgradientstopsmodel.cpp index 0afbf49bb..2e3a00f34 100644 --- a/src/shared/qtgradienteditor/qtgradientstopsmodel.cpp +++ b/src/shared/qtgradienteditor/qtgradientstopsmodel.cpp @@ -162,7 +162,7 @@ QColor QtGradientStopsModel::color(qreal pos) const return newColor; } -QList QtGradientStopsModel::selectedStops() const +QVector QtGradientStopsModel::selectedStops() const { return d_ptr->m_selection.keys(); } diff --git a/src/shared/qtgradienteditor/qtgradientstopsmodel.h b/src/shared/qtgradienteditor/qtgradientstopsmodel.h index 71a8783e0..f955087cb 100644 --- a/src/shared/qtgradienteditor/qtgradientstopsmodel.h +++ b/src/shared/qtgradienteditor/qtgradientstopsmodel.h @@ -77,7 +77,7 @@ public: PositionStopMap stops() const; QtGradientStop *at(qreal pos) const; QColor color(qreal pos) const; // calculated between points - QList selectedStops() const; + QVector selectedStops() const; QtGradientStop *currentStop() const; bool isSelected(QtGradientStop *stop) const; QtGradientStop *firstSelected() const; diff --git a/src/shared/qtgradienteditor/qtgradientstopswidget.cpp b/src/shared/qtgradienteditor/qtgradientstopswidget.cpp index 49569869e..5ade1ef32 100644 --- a/src/shared/qtgradienteditor/qtgradientstopswidget.cpp +++ b/src/shared/qtgradienteditor/qtgradientstopswidget.cpp @@ -77,7 +77,7 @@ public: double fromViewport(int x) const; double toViewport(double x) const; QtGradientStop *stopAt(const QPoint &viewportPos) const; - QList stopsAt(const QPoint &viewportPos) const; + QVector stopsAt(const QPoint &viewportPos) const; void setupMove(QtGradientStop *stop, int x); void ensureVisible(double x); // x = stop position void ensureVisible(QtGradientStop *stop); @@ -105,7 +105,7 @@ public: QRubberBand *m_rubber; QPoint m_clickPos; - QList m_stops; + QVector m_stops; bool m_moving; int m_moveOffset; @@ -147,9 +147,9 @@ QtGradientStop *QtGradientStopsWidgetPrivate::stopAt(const QPoint &viewportPos) return 0; } -QList QtGradientStopsWidgetPrivate::stopsAt(const QPoint &viewportPos) const +QVector QtGradientStopsWidgetPrivate::stopsAt(const QPoint &viewportPos) const { - QList stops; + QVector stops; double posY = m_handleSize / 2; for (QtGradientStop *stop : m_stops) { double posX = toViewport(stop->position()); diff --git a/src/shared/qtpropertybrowser/qtbuttonpropertybrowser.cpp b/src/shared/qtpropertybrowser/qtbuttonpropertybrowser.cpp index 144d7bee0..afdf5aca6 100644 --- a/src/shared/qtpropertybrowser/qtbuttonpropertybrowser.cpp +++ b/src/shared/qtpropertybrowser/qtbuttonpropertybrowser.cpp @@ -75,7 +75,7 @@ public: QWidget *container{nullptr}; // container which is expanded when the button is clicked QGridLayout *layout{nullptr}; // layout in container WidgetItem *parent{nullptr}; - QList children; + QVector children; bool expanded{false}; }; private: @@ -93,8 +93,8 @@ private: QMap m_widgetToItem; QMap m_buttonToItem; QGridLayout *m_mainLayout; - QList m_children; - QList m_recreateQueue; + QVector m_children; + QVector m_recreateQueue; }; QToolButton *QtButtonPropertyBrowserPrivate::createButton(QWidget *parent) const @@ -116,7 +116,7 @@ QToolButton *QtButtonPropertyBrowserPrivate::createButton(QWidget *parent) const int QtButtonPropertyBrowserPrivate::gridRow(WidgetItem *item) const { - QList siblings; + QVector siblings; if (item->parent) siblings = item->parent->children; else diff --git a/src/shared/qtpropertybrowser/qteditorfactory.cpp b/src/shared/qtpropertybrowser/qteditorfactory.cpp index c83d20cfd..2bc3a241b 100644 --- a/src/shared/qtpropertybrowser/qteditorfactory.cpp +++ b/src/shared/qtpropertybrowser/qteditorfactory.cpp @@ -83,7 +83,7 @@ class EditorFactoryPrivate { public: - typedef QList EditorList; + typedef QVector EditorList; typedef QMap PropertyToEditorListMap; typedef QMap EditorToPropertyMap; diff --git a/src/shared/qtpropertybrowser/qtgroupboxpropertybrowser.cpp b/src/shared/qtpropertybrowser/qtgroupboxpropertybrowser.cpp index b7534e25b..ee1ab1c27 100644 --- a/src/shared/qtpropertybrowser/qtgroupboxpropertybrowser.cpp +++ b/src/shared/qtpropertybrowser/qtgroupboxpropertybrowser.cpp @@ -73,7 +73,7 @@ public: QGridLayout *layout{nullptr}; QFrame *line{nullptr}; WidgetItem *parent{nullptr}; - QList children; + QVector children; }; private: void updateLater(); @@ -87,8 +87,8 @@ private: QMap m_itemToIndex; QMap m_widgetToItem; QGridLayout *m_mainLayout; - QList m_children; - QList m_recreateQueue; + QVector m_children; + QVector m_recreateQueue; }; void QtGroupBoxPropertyBrowserPrivate::init(QWidget *parent) diff --git a/src/shared/qtpropertybrowser/qtpropertybrowser.cpp b/src/shared/qtpropertybrowser/qtpropertybrowser.cpp index 601fb854a..2fa9d752e 100644 --- a/src/shared/qtpropertybrowser/qtpropertybrowser.cpp +++ b/src/shared/qtpropertybrowser/qtpropertybrowser.cpp @@ -55,7 +55,7 @@ public: QtProperty *q_ptr; QSet m_parentItems; - QList m_subItems; + QVector m_subItems; QString m_valueToolTip; QString m_descriptionToolTip; @@ -181,7 +181,7 @@ QtProperty::~QtProperty() \sa insertSubProperty(), removeSubProperty() */ -QList QtProperty::subProperties() const +QVector QtProperty::subProperties() const { return d_ptr->m_subItems; } @@ -1100,7 +1100,7 @@ public: QtBrowserItem *q_ptr; - QList m_children; + QVector m_children; }; @@ -1176,7 +1176,7 @@ QtBrowserItem *QtBrowserItem::parent() const The \e childrenItems list represents the same list as \e childrenProperties. */ -QList QtBrowserItem::children() const +QVector QtBrowserItem::children() const { return d_ptr->m_children; } @@ -1206,7 +1206,7 @@ QtBrowserItem::~QtBrowserItem() typedef QMap > Map1; typedef QMap > > Map2; + QVector > > Map2; Q_GLOBAL_STATIC(Map1, m_viewToManagerToFactory) Q_GLOBAL_STATIC(Map2, m_managerToFactoryToViews) @@ -1233,13 +1233,13 @@ public: void slotPropertyDestroyed(QtProperty *property); void slotPropertyDataChanged(QtProperty *property); - QList m_subItems; - QMap > m_managerToProperties; - QMap > m_propertyToParents; + QVector m_subItems; + QMap > m_managerToProperties; + QMap > m_propertyToParents; QMap m_topLevelPropertyToIndex; - QList m_topLevelIndexes; - QMap > m_propertyToIndexes; + QVector m_topLevelIndexes; + QMap > m_propertyToIndexes; QtBrowserItem *m_currentItem; }; @@ -1373,7 +1373,7 @@ QtBrowserItem *QtAbstractPropertyBrowserPrivate::createBrowserIndex(QtProperty * void QtAbstractPropertyBrowserPrivate::removeBrowserIndexes(QtProperty *property, QtProperty *parentProperty) { - QList toRemove; + QVector toRemove; const auto it = m_propertyToIndexes.constFind(property); if (it == m_propertyToIndexes.constEnd()) return; @@ -1671,7 +1671,7 @@ QtAbstractPropertyBrowser::~QtAbstractPropertyBrowser() \sa addProperty(), insertProperty(), removeProperty() */ -QList QtAbstractPropertyBrowser::properties() const +QVector QtAbstractPropertyBrowser::properties() const { return d_ptr->m_subItems; } @@ -1685,7 +1685,7 @@ QList QtAbstractPropertyBrowser::properties() const \sa topLevelItem() */ -QList QtAbstractPropertyBrowser::items(QtProperty *property) const +QVector QtAbstractPropertyBrowser::items(QtProperty *property) const { return d_ptr->m_propertyToIndexes.value(property); } @@ -1710,7 +1710,7 @@ QtBrowserItem *QtAbstractPropertyBrowser::topLevelItem(QtProperty *property) con \sa topLevelItem() */ -QList QtAbstractPropertyBrowser::topLevelItems() const +QVector QtAbstractPropertyBrowser::topLevelItems() const { return d_ptr->m_topLevelIndexes; } diff --git a/src/shared/qtpropertybrowser/qtpropertybrowser.h b/src/shared/qtpropertybrowser/qtpropertybrowser.h index f85d622da..3781fdf58 100644 --- a/src/shared/qtpropertybrowser/qtpropertybrowser.h +++ b/src/shared/qtpropertybrowser/qtpropertybrowser.h @@ -53,7 +53,7 @@ class QtProperty public: virtual ~QtProperty(); - QList subProperties() const; + QVector subProperties() const; QtAbstractPropertyManager *propertyManager() const; @@ -224,7 +224,7 @@ class QtBrowserItem public: QtProperty *property() const; QtBrowserItem *parent() const; - QList children() const; + QVector children() const; QtAbstractPropertyBrowser *browser() const; private: explicit QtBrowserItem(QtAbstractPropertyBrowser *browser, QtProperty *property, QtBrowserItem *parent); @@ -243,10 +243,10 @@ public: explicit QtAbstractPropertyBrowser(QWidget *parent = 0); ~QtAbstractPropertyBrowser(); - QList properties() const; - QList items(QtProperty *property) const; + QVector properties() const; + QVector items(QtProperty *property) const; QtBrowserItem *topLevelItem(QtProperty *property) const; - QList topLevelItems() const; + QVector topLevelItems() const; void clear(); template diff --git a/src/shared/qtpropertybrowser/qtpropertymanager.cpp b/src/shared/qtpropertybrowser/qtpropertymanager.cpp index c1aeb624c..43bdcd542 100644 --- a/src/shared/qtpropertybrowser/qtpropertymanager.cpp +++ b/src/shared/qtpropertybrowser/qtpropertymanager.cpp @@ -406,7 +406,7 @@ private: QMetaEnum m_policyEnum; }; -static QList sortCountries(const QList &countries) +static QVector sortCountries(const QVector &countries) { QMultiMap nameToCountry; for (QLocale::Country country : countries) @@ -430,7 +430,7 @@ void QtMetaEnumProvider::initLocale() const auto languages = nameToLanguage.values(); for (QLocale::Language language : languages) { - QList countries; + QVector countries; countries = QLocale::countriesForLanguage(language); if (countries.isEmpty() && language == system.language()) countries << system.country(); @@ -4880,7 +4880,7 @@ public: QtBoolPropertyManager *m_boolPropertyManager; - QMap > m_propertyToFlags; + QMap > m_propertyToFlags; QMap m_flagToProperty; }; @@ -5165,7 +5165,7 @@ void QtFlagPropertyManager::initializeProperty(QtProperty *property) { d_ptr->m_values[property] = QtFlagPropertyManagerPrivate::Data(); - d_ptr->m_propertyToFlags[property] = QList(); + d_ptr->m_propertyToFlags[property] = QVector(); } /*! diff --git a/src/shared/qttoolbardialog/qttoolbardialog.cpp b/src/shared/qttoolbardialog/qttoolbardialog.cpp index 58f317fd3..3de21bd4e 100644 --- a/src/shared/qttoolbardialog/qttoolbardialog.cpp +++ b/src/shared/qttoolbardialog/qttoolbardialog.cpp @@ -67,7 +67,7 @@ public: void addCategory(const QString &category); bool hasCategory(const QString &category) const; QStringList categories() const; - QList categoryActions(const QString &category) const; + QVector categoryActions(const QString &category) const; QString actionCategory(QAction *action) const; // only non-separator @@ -86,18 +86,18 @@ public: void removeDefaultToolBar(QToolBar *toolBar); // NULL on action list means separator. - QMap > defaultToolBars() const; + QMap > defaultToolBars() const; bool isDefaultToolBar(QToolBar *toolBar) const; QToolBar *createToolBar(const QString &toolBarName); void deleteToolBar(QToolBar *toolBar); // only those which were created, not added - QList actions(QToolBar *toolBar) const; + QVector actions(QToolBar *toolBar) const; - void setToolBars(const QMap > &actions); - void setToolBar(QToolBar *toolBar, const QList &actions); + void setToolBars(const QMap > &actions); + void setToolBar(QToolBar *toolBar, const QVector &actions); - QMap > toolBarsActions() const; + QMap > toolBarsActions() const; QByteArray saveState(int version = 0) const; bool restoreState(const QByteArray &state, int version = 0); @@ -116,7 +116,7 @@ signals: that action. (Another approach may be that user first must call setToolBar without that action for old tool bar) */ - void toolBarChanged(QToolBar *toolBar, const QList &actions); + void toolBarChanged(QToolBar *toolBar, const QVector &actions); private: QScopedPointer d_ptr; @@ -132,7 +132,7 @@ class QtFullToolBarManagerPrivate public: QToolBar *toolBarWidgetAction(QAction *action) const; - void removeWidgetActions(const QMap > &actions); + void removeWidgetActions(const QMap > &actions); enum { VersionMarker = 0xff, @@ -147,18 +147,18 @@ public: QToolBar *toolBarByName(const QString &toolBarName) const; - QMap > categoryToActions; + QMap > categoryToActions; QMap actionToCategory; QSet allActions; QMap widgetActions; QSet regularActions; - QMap > actionToToolBars; + QMap > actionToToolBars; - QMap > toolBars; - QMap > toolBarsWithSeparators; - QMap > defaultToolBars; - QList customToolBars; + QMap > toolBars; + QMap > toolBarsWithSeparators; + QMap > defaultToolBars; + QVector customToolBars; QMainWindow *theMainWindow{nullptr}; }; @@ -170,7 +170,7 @@ QToolBar *QtFullToolBarManagerPrivate::toolBarWidgetAction(QAction *action) cons return 0; } -void QtFullToolBarManagerPrivate::removeWidgetActions(const QMap > +void QtFullToolBarManagerPrivate::removeWidgetActions(const QMap > &actions) { auto itToolBar = actions.constBegin(); @@ -179,7 +179,7 @@ void QtFullToolBarManagerPrivate::removeWidgetActions(const QMap removedActions; + QVector removedActions; const auto actionList = itToolBar.value(); for (QAction *action : actionList) { if (newActions.contains(action) && toolBarWidgetAction(action) == toolBar) { @@ -283,7 +283,7 @@ bool QtFullToolBarManagerPrivate::restoreState(QDataStream &stream) const stream >> objectName; int actionCount; stream >> actionCount; - QList actions; + QVector actions; for (int j = 0; j < actionCount; j++) { QString actionName; stream >> actionName; @@ -319,7 +319,7 @@ bool QtFullToolBarManagerPrivate::restoreState(QDataStream &stream) const stream >> objectName; stream >> toolBarName; stream >> actionCount; - QList actions; + QVector actions; for (int j = 0; j < actionCount; j++) { QString actionName; stream >> actionName; @@ -439,7 +439,7 @@ QMainWindow *QtFullToolBarManager::mainWindow() const void QtFullToolBarManager::addCategory(const QString &category) { - d_ptr->categoryToActions[category] = QList(); + d_ptr->categoryToActions[category] = QVector(); } bool QtFullToolBarManager::hasCategory(const QString &category) const @@ -452,7 +452,7 @@ QStringList QtFullToolBarManager::categories() const return d_ptr->categoryToActions.keys(); } -QList QtFullToolBarManager::categoryActions(const QString &category) const +QVector QtFullToolBarManager::categoryActions(const QString &category) const { const auto it = d_ptr->categoryToActions.constFind(category); if (it != d_ptr->categoryToActions.constEnd()) @@ -540,8 +540,8 @@ void QtFullToolBarManager::addDefaultToolBar(QToolBar *toolBar, const QString &c return; // could be also checked if toolBar belongs to mainwindow - QList newActionsWithSeparators; - QList newActions; + QVector newActionsWithSeparators; + QVector newActions; const auto actions = toolBar->actions(); for (QAction *action : actions) { addAction(action, category); @@ -566,7 +566,7 @@ void QtFullToolBarManager::removeDefaultToolBar(QToolBar *toolBar) return; const auto defaultActions = d_ptr->defaultToolBars[toolBar]; - setToolBar(toolBar, QList()); + setToolBar(toolBar, QVector()); for (QAction *action : defaultActions) removeAction(action); @@ -582,7 +582,7 @@ void QtFullToolBarManager::removeDefaultToolBar(QToolBar *toolBar) } } -QMap > QtFullToolBarManager::defaultToolBars() const +QMap > QtFullToolBarManager::defaultToolBars() const { return d_ptr->defaultToolBars; } @@ -607,8 +607,8 @@ QToolBar *QtFullToolBarManager::createToolBar(const QString &toolBarName) toolBar->setObjectName(name); mainWindow()->addToolBar(toolBar); d_ptr->customToolBars.append(toolBar); - d_ptr->toolBars.insert(toolBar, QList()); - d_ptr->toolBarsWithSeparators.insert(toolBar, QList()); + d_ptr->toolBars.insert(toolBar, QVector()); + d_ptr->toolBarsWithSeparators.insert(toolBar, QVector()); return toolBar; } @@ -618,21 +618,21 @@ void QtFullToolBarManager::deleteToolBar(QToolBar *toolBar) return; if (d_ptr->defaultToolBars.contains(toolBar)) return; - setToolBar(toolBar, QList()); + setToolBar(toolBar, QVector()); d_ptr->customToolBars.removeAll(toolBar); d_ptr->toolBars.remove(toolBar); d_ptr->toolBarsWithSeparators.remove(toolBar); delete toolBar; } -QList QtFullToolBarManager::actions(QToolBar *toolBar) const +QVector QtFullToolBarManager::actions(QToolBar *toolBar) const { if (d_ptr->toolBars.contains(toolBar)) return d_ptr->toolBars.value(toolBar); - return QList(); + return QVector(); } -void QtFullToolBarManager::setToolBars(const QMap > &actions) +void QtFullToolBarManager::setToolBars(const QMap > &actions) { auto it = actions.constBegin(); while (it != actions.constEnd()) { @@ -641,7 +641,7 @@ void QtFullToolBarManager::setToolBars(const QMap > } } -void QtFullToolBarManager::setToolBar(QToolBar *toolBar, const QList &actions) +void QtFullToolBarManager::setToolBar(QToolBar *toolBar, const QVector &actions) { if (!toolBar) return; @@ -651,9 +651,9 @@ void QtFullToolBarManager::setToolBar(QToolBar *toolBar, const QList if (actions == d_ptr->toolBars[toolBar]) return; - QMap > toRemove; + QMap > toRemove; - QList newActions; + QVector newActions; for (QAction *action : actions) { if (!action || (!newActions.contains(action) && d_ptr->allActions.contains(action))) newActions.append(action); @@ -680,7 +680,7 @@ void QtFullToolBarManager::setToolBar(QToolBar *toolBar, const QList d_ptr->actionToToolBars[action].removeAll(toolBar); } - QList newActionsWithSeparators; + QVector newActionsWithSeparators; for (QAction *action : qAsConst(newActions)) { QAction *newAction = 0; if (!action) @@ -696,7 +696,7 @@ void QtFullToolBarManager::setToolBar(QToolBar *toolBar, const QList d_ptr->toolBarsWithSeparators.insert(toolBar, newActionsWithSeparators); } -QMap > QtFullToolBarManager::toolBarsActions() const +QMap > QtFullToolBarManager::toolBarsActions() const { return d_ptr->toolBars; } @@ -877,7 +877,7 @@ void QtToolBarManager::removeToolBar(QToolBar *toolBar) /*! Returns the manager's toolbar list. */ -QList QtToolBarManager::toolBars() const +QVector QtToolBarManager::toolBars() const { return d_ptr->manager->toolBarsActions().keys(); } @@ -994,7 +994,7 @@ public: void clearOld(); void fillNew(); QtFullToolBarManager *toolBarManager; - QMap > currentState; + QMap > currentState; QMap toolBarItems; QSet createdItems; QSet removedItems; @@ -1189,7 +1189,7 @@ void QtToolBarDialogPrivate::newClicked() QString toolBarName = QtToolBarDialog::tr("Custom Toolbar"); // = QInputDialog::getString(); // produce unique name ToolBarItem *item = createItem(toolBarName); - currentState.insert(item, QList()); + currentState.insert(item, QVector()); createdItems.insert(item); QListWidgetItem *i = new QListWidgetItem(toolBarName, ui.toolBarList); i->setFlags(i->flags() | Qt::ItemIsEditable); diff --git a/src/shared/qttoolbardialog/qttoolbardialog.h b/src/shared/qttoolbardialog/qttoolbardialog.h index 1599d9da5..b6d0defe0 100644 --- a/src/shared/qttoolbardialog/qttoolbardialog.h +++ b/src/shared/qttoolbardialog/qttoolbardialog.h @@ -78,7 +78,7 @@ public: void addToolBar(QToolBar *toolBar, const QString &category); void removeToolBar(QToolBar *toolBar); - QList toolBars() const; + QVector toolBars() const; QByteArray saveState(int version = 0) const; bool restoreState(const QByteArray &state, int version = 0); -- cgit v1.2.3 From 824eae53c83f3e7eb13c589571d493675d6d0594 Mon Sep 17 00:00:00 2001 From: Levon Sargsyan Date: Mon, 9 Dec 2019 18:28:20 +0100 Subject: Fix wrong filename issue under windwows in webxml/index generation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The filename attribute section in the generated index/webxml has been taking redudant directory name under Windows platform. This patch fixes the issue by removing filename deduction code and replaces it with fileName() from QFileInfo class accordingly. Change-Id: If0ef2e88c94e837099fd5e669d2b7e96e7cd4280 Fixes: QTBUG-80641 Reviewed-by: Qt CI Bot Reviewed-by: Topi Reiniö --- src/qdoc/location.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qdoc/location.cpp b/src/qdoc/location.cpp index f10f53b65..2c088a5b5 100644 --- a/src/qdoc/location.cpp +++ b/src/qdoc/location.cpp @@ -215,8 +215,8 @@ void Location::pop() */ QString Location::fileName() const { - QString fp = filePath(); - return (fp.isEmpty() ? fp : fp.mid(fp.lastIndexOf('/') + 1)); + QFileInfo fi(filePath()); + return fi.fileName(); } -- cgit v1.2.3 From 0410ded7a798ad61ae517d94b8b99b5d28c941fb Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 10 Dec 2019 08:56:15 +0100 Subject: Qt Assistant: Fix startup crash Call the proper base implementation of QTextBrowser:doSetSource(). Amends 6b2f32f3dc9de965801927a4bc5d970028a318a6. Fixes: QTBUG-80650 Change-Id: Ief7a752ea6660e0d455aae2a11d4f54ac9797c2b Reviewed-by: Alexandru Croitor --- src/assistant/assistant/helpviewer_qtb.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assistant/assistant/helpviewer_qtb.cpp b/src/assistant/assistant/helpviewer_qtb.cpp index 85fe532b1..09e042062 100644 --- a/src/assistant/assistant/helpviewer_qtb.cpp +++ b/src/assistant/assistant/helpviewer_qtb.cpp @@ -160,7 +160,7 @@ void HelpViewer::doSetSource(const QUrl &url, QTextDocument::ResourceType type) bool helpOrAbout = (url.toString() == QLatin1String("help")); const QUrl resolvedUrl = (helpOrAbout ? LocalHelpFile : HelpEngineWrapper::instance().findFile(url)); - QTextBrowser::setSource(resolvedUrl); + QTextBrowser::doSetSource(resolvedUrl, type); if (!resolvedUrl.isValid()) { helpOrAbout = (url.toString() == QLatin1String("about:blank")); -- cgit v1.2.3 From 1c39ee57d151d3b06d9c6fda9c99b02ebf9d94d5 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 29 Nov 2019 09:54:30 +0100 Subject: QtHelp: add new useful methods This methods are going to be used in QtCreator help integration. Change-Id: If226ba3e612af013694afc8508527516e3e0daea Reviewed-by: Cristian Maureira-Fredes --- src/assistant/help/qhelpcollectionhandler.cpp | 6 ++-- src/assistant/help/qhelpcollectionhandler_p.h | 2 +- src/assistant/help/qhelpenginecore.cpp | 43 ++++++++++++++++++++++++--- src/assistant/help/qhelpenginecore.h | 2 ++ src/assistant/help/qhelpfilterengine.cpp | 41 +++++++++++++++++++++++++ src/assistant/help/qhelpfilterengine.h | 4 +++ 6 files changed, 90 insertions(+), 8 deletions(-) diff --git a/src/assistant/help/qhelpcollectionhandler.cpp b/src/assistant/help/qhelpcollectionhandler.cpp index a7bea5494..1ef0ffa9a 100644 --- a/src/assistant/help/qhelpcollectionhandler.cpp +++ b/src/assistant/help/qhelpcollectionhandler.cpp @@ -588,13 +588,13 @@ QStringList QHelpCollectionHandler::availableComponents() const return list; } -QStringList QHelpCollectionHandler::availableVersions() const +QList QHelpCollectionHandler::availableVersions() const { - QStringList list; + QList list; if (m_query) { m_query->exec(QLatin1String("SELECT DISTINCT Version FROM VersionTable ORDER BY Version")); while (m_query->next()) - list.append(m_query->value(0).toString()); + list.append(QVersionNumber::fromString(m_query->value(0).toString())); } return list; } diff --git a/src/assistant/help/qhelpcollectionhandler_p.h b/src/assistant/help/qhelpcollectionhandler_p.h index 7679fccf7..5c0170d8c 100644 --- a/src/assistant/help/qhelpcollectionhandler_p.h +++ b/src/assistant/help/qhelpcollectionhandler_p.h @@ -158,7 +158,7 @@ public: QStringList filters() const; QStringList availableComponents() const; - QStringList availableVersions() const; + QList availableVersions() const; QMap namespaceToComponent() const; QMap namespaceToVersion() const; QHelpFilterData filterData(const QString &filterName) const; diff --git a/src/assistant/help/qhelpenginecore.cpp b/src/assistant/help/qhelpenginecore.cpp index f61c2207d..c9fbde232 100644 --- a/src/assistant/help/qhelpenginecore.cpp +++ b/src/assistant/help/qhelpenginecore.cpp @@ -619,15 +619,31 @@ QByteArray QHelpEngineCore::fileData(const QUrl &url) const the current filter will be returned. */ QMap QHelpEngineCore::linksForIdentifier(const QString &id) const +{ + return linksForIdentifier(id, d->usesFilterEngine + ? d->filterEngine->activeFilter() + : d->currentFilter); +} + +/*! + \since 5.15 + + Returns a map of the documents found for the \a id, filtered by \a filterName. + The map contains the document titles and their URLs. The returned map contents depend on + the passed filter, and therefore only the identifiers registered for + this filter will be returned. If you want to get all results unfiltered, + pass empty string as \a filterName. +*/ +QMap QHelpEngineCore::linksForIdentifier(const QString &id, const QString &filterName) const { if (!d->setup()) return QMap(); if (d->usesFilterEngine) - return d->collectionHandler->linksForIdentifier(id, d->filterEngine->activeFilter()); + return d->collectionHandler->linksForIdentifier(id, filterName); // obsolete - return d->collectionHandler->linksForIdentifier(id, filterAttributes(d->currentFilter)); + return d->collectionHandler->linksForIdentifier(id, filterAttributes(filterName)); } /*! @@ -637,16 +653,35 @@ QMap QHelpEngineCore::linksForIdentifier(const QString &id) const the current filter will be returned. */ QMap QHelpEngineCore::linksForKeyword(const QString &keyword) const +{ + return linksForKeyword(keyword, d->usesFilterEngine + ? d->filterEngine->activeFilter() + : d->currentFilter); +} + +/*! + \since 5.15 + + Returns a map of the documents found for the \a keyword, filtered by \a filterName. + The map contains the document titles and their URLs. The returned map contents depend on + the passed filter, and therefore only the keywords registered for + this filter will be returned. If you want to get all results unfiltered, + pass empty string as \a filterName. + +*/ +QMap QHelpEngineCore::linksForKeyword(const QString &keyword, const QString &filterName) const { if (!d->setup()) return QMap(); if (d->usesFilterEngine) - return d->collectionHandler->linksForKeyword(keyword, d->filterEngine->activeFilter()); + return d->collectionHandler->linksForKeyword(keyword, filterName); - return d->collectionHandler->linksForKeyword(keyword, filterAttributes(d->currentFilter)); + // obsolete + return d->collectionHandler->linksForKeyword(keyword, filterAttributes(filterName)); } + /*! Removes the \a key from the settings section in the collection file. Returns true if the value was removed diff --git a/src/assistant/help/qhelpenginecore.h b/src/assistant/help/qhelpenginecore.h index 91950290e..cf0cf96c9 100644 --- a/src/assistant/help/qhelpenginecore.h +++ b/src/assistant/help/qhelpenginecore.h @@ -103,7 +103,9 @@ public: QUrl findFile(const QUrl &url) const; QMap linksForIdentifier(const QString &id) const; + QMap linksForIdentifier(const QString &id, const QString &filterName) const; QMap linksForKeyword(const QString &keyword) const; + QMap linksForKeyword(const QString &keyword, const QString &filterName) const; bool removeCustomValue(const QString &key); QVariant customValue(const QString &key, diff --git a/src/assistant/help/qhelpfilterengine.cpp b/src/assistant/help/qhelpfilterengine.cpp index a53be506e..a25976269 100644 --- a/src/assistant/help/qhelpfilterengine.cpp +++ b/src/assistant/help/qhelpfilterengine.cpp @@ -203,6 +203,19 @@ QStringList QHelpFilterEngine::availableComponents() const return d->m_collectionHandler->availableComponents(); } +/*! + \since 5.15 + + Returns the list of all available versions defined in all + registered documentation files. +*/ +QList QHelpFilterEngine::availableVersions() const +{ + if (!d->setup()) + return QList(); + return d->m_collectionHandler->availableVersions(); +} + /*! Returns the filter details associated with \a filterName. */ @@ -287,4 +300,32 @@ QStringList QHelpFilterEngine::namespacesForFilter(const QString &filterName) co return d->m_collectionHandler->namespacesForFilter(filterName); } +/*! + \since 5.15 + + Returns a sorted list of available indices. + The returned list contents depend on the active filter, and therefore only + the indices registered for the active filter will be returned. +*/ +QStringList QHelpFilterEngine::indices() const +{ + return indices(activeFilter()); +} + +/*! + \since 5.15 + + Returns a sorted list of available indices, filtered by \a filterName. + The returned list contents depend on the passed filter, and therefore only + the indices registered for this filter will be returned. + If you want to get all available indices unfiltered, + pass empty string as \a filterName. +*/ +QStringList QHelpFilterEngine::indices(const QString &filterName) const +{ + if (!d->setup()) + return QStringList(); + return d->m_collectionHandler->indicesForFilter(filterName); +} + QT_END_NAMESPACE diff --git a/src/assistant/help/qhelpfilterengine.h b/src/assistant/help/qhelpfilterengine.h index c4bd139f2..d06d18b04 100644 --- a/src/assistant/help/qhelpfilterengine.h +++ b/src/assistant/help/qhelpfilterengine.h @@ -68,6 +68,7 @@ public: bool setActiveFilter(const QString &filterName); QStringList availableComponents() const; + QList availableVersions() const; QHelpFilterData filterData(const QString &filterName) const; bool setFilterData(const QString &filterName, const QHelpFilterData &filterData); @@ -76,6 +77,9 @@ public: QStringList namespacesForFilter(const QString &filterName) const; + QStringList indices() const; + QStringList indices(const QString &filterName) const; + Q_SIGNALS: void filterActivated(const QString &newFilter); -- cgit v1.2.3 From 88b135fb74689484dfa60ee0efd378d85a9f0a75 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Mon, 9 Dec 2019 15:41:21 +0100 Subject: QDoc: Get rid of out-parameter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ifbd739510abd5bec4cc2b4fbac9b6667d9ae9281 Reviewed-by: Topi Reiniö --- src/qdoc/generator.cpp | 3 +-- src/qdoc/parameters.cpp | 4 +++- src/qdoc/parameters.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index f68fcf394..82d7c0127 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -918,8 +918,7 @@ void Generator::generateBody(const Node *node, CodeMarker *marker) } } else if (node->isFunction()) { const FunctionNode *fn = static_cast(node); - QSet declaredNames; - fn->parameters().getNames(declaredNames); + const QSet declaredNames = fn->parameters().getNames(); QSet documentedNames = fn->doc().parameterNames(); if (declaredNames != documentedNames) { QSet::const_iterator i = declaredNames.constBegin(); diff --git a/src/qdoc/parameters.cpp b/src/qdoc/parameters.cpp index 6ed5e8250..96a591a2a 100644 --- a/src/qdoc/parameters.cpp +++ b/src/qdoc/parameters.cpp @@ -507,13 +507,15 @@ void Parameters::set(const QString &signature) /*! Insert all the parameter names into names. */ -void Parameters::getNames(QSet &names) const +QSet Parameters::getNames() const { + QSet names; const auto params = parameters_; for (const auto ¶meter : params) { if (!parameter.name().isEmpty()) names.insert(parameter.name()); } + return names; } /*! diff --git a/src/qdoc/parameters.h b/src/qdoc/parameters.h index 9ab3db5e2..7e72d1689 100644 --- a/src/qdoc/parameters.h +++ b/src/qdoc/parameters.h @@ -97,7 +97,7 @@ public: QString signature(bool includeValues = false) const; QString rawSignature(bool names = false, bool values = false) const; void set(const QString &signature); - void getNames(QSet &names) const; + QSet getNames() const; QString generateTypeList() const; QString generateTypeAndNameList() const; bool match(const Parameters ¶meters) const; -- cgit v1.2.3 From 77f9699a7c336e67a2ae6d37b75411528954c705 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Mon, 9 Dec 2019 18:42:56 +0100 Subject: QDoc: Clean up loops with iterators MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Use ranged-based fors where applicable. - Use auto keyword for iterators. - Move a few variable declarations to where they're to be used. - Update docs where applicable. Fixes: QTBUG-80536 Change-Id: I859440b96428dec4ef108b01d391479d3f8dbd83 Reviewed-by: Topi Reiniö --- src/qdoc/clangcodeparser.cpp | 15 +- src/qdoc/codemarker.cpp | 39 ++-- src/qdoc/config.cpp | 200 ++++++---------- src/qdoc/cppcodemarker.cpp | 8 +- src/qdoc/cppcodeparser.cpp | 41 ++-- src/qdoc/doc.cpp | 34 ++- src/qdoc/editdistance.cpp | 10 +- src/qdoc/generator.cpp | 141 +++++------ src/qdoc/helpprojectwriter.cpp | 5 +- src/qdoc/htmlgenerator.cpp | 516 +++++++++++++++++------------------------ src/qdoc/main.cpp | 42 ++-- src/qdoc/node.cpp | 163 ++++++------- src/qdoc/qdocdatabase.cpp | 92 ++++---- src/qdoc/qdocindexfiles.cpp | 30 +-- src/qdoc/qmlcodemarker.cpp | 8 +- src/qdoc/qmlvisitor.cpp | 16 +- src/qdoc/quoter.cpp | 7 +- src/qdoc/sections.cpp | 148 +++++------- src/qdoc/tree.cpp | 192 +++++++-------- src/qdoc/webxmlgenerator.cpp | 3 +- 20 files changed, 692 insertions(+), 1018 deletions(-) diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp index 5d95c9c7e..605edeb86 100644 --- a/src/qdoc/clangcodeparser.cpp +++ b/src/qdoc/clangcodeparser.cpp @@ -1156,7 +1156,7 @@ void ClangCodeParser::getDefaultArgs() static QVector includePathsFromHeaders(const QHash &allHeaders) { QVector result; - for (auto it = allHeaders.cbegin(), end = allHeaders.cend(); it != end; ++it) { + for (auto it = allHeaders.cbegin(); it != allHeaders.cend(); ++it) { const QByteArray path = "-I" + it.value().toLatin1(); const QByteArray parent = "-I" + QDir::cleanPath(it.value() + QLatin1String("/../")).toLatin1(); @@ -1284,13 +1284,12 @@ void ClangCodeParser::buildPCH() if (tmpHeaderFile.open(QIODevice::Text | QIODevice::WriteOnly)) { QTextStream out(&tmpHeaderFile); if (header.isEmpty()) { - QList keys = allHeaders_.keys(); - QList values = allHeaders_.values(); - for (int i = 0; i < keys.size(); i++) { - if (!keys.at(i).endsWith(QLatin1String("_p.h")) && - !keys.at(i).startsWith(QLatin1String("moc_"))) { - QString line = QLatin1String("#include \"") + values.at(i) + - QLatin1String("/") + keys.at(i) + QLatin1String("\""); + for (auto it = allHeaders_.constKeyValueBegin(); + it != allHeaders_.constKeyValueEnd(); ++it) { + if (!(*it).first.endsWith(QLatin1String("_p.h")) && + !(*it).first.startsWith(QLatin1String("moc_"))) { + QString line = QLatin1String("#include \"") + (*it).second + + QLatin1String("/") + (*it).first + QLatin1String("\""); out << line << "\n"; } } diff --git a/src/qdoc/codemarker.cpp b/src/qdoc/codemarker.cpp index 7c8843c65..fc0f69470 100644 --- a/src/qdoc/codemarker.cpp +++ b/src/qdoc/codemarker.cpp @@ -85,11 +85,8 @@ void CodeMarker::terminateMarker() void CodeMarker::initialize(const Config &config) { defaultLang = config.getString(CONFIG_LANGUAGE); - QList::ConstIterator m = markers.constBegin(); - while (m != markers.constEnd()) { - (*m)->initializeMarker(config); - ++m; - } + for (const auto &marker : qAsConst(markers)) + marker->initializeMarker(config); } /*! @@ -97,11 +94,8 @@ void CodeMarker::initialize(const Config &config) */ void CodeMarker::terminate() { - QList::ConstIterator m = markers.constBegin(); - while (m != markers.constEnd()) { - (*m)->terminateMarker(); - ++m; - } + for (const auto &marker : qAsConst(markers)) + marker->terminateMarker(); } CodeMarker *CodeMarker::markerForCode(const QString &code) @@ -110,12 +104,11 @@ CodeMarker *CodeMarker::markerForCode(const QString &code) if (defaultMarker != nullptr && defaultMarker->recognizeCode(code)) return defaultMarker; - QList::ConstIterator m = markers.constBegin(); - while (m != markers.constEnd()) { - if ((*m)->recognizeCode(code)) - return *m; - ++m; + for (const auto &marker : qAsConst(markers)) { + if (marker->recognizeCode(code)) + return marker; } + return defaultMarker; } @@ -127,11 +120,9 @@ CodeMarker *CodeMarker::markerForFileName(const QString &fileName) QString ext = fileName.mid(dot + 1); if (defaultMarker != nullptr && defaultMarker->recognizeExtension(ext)) return defaultMarker; - QList::ConstIterator m = markers.constBegin(); - while (m != markers.constEnd()) { - if ((*m)->recognizeExtension(ext)) - return *m; - ++m; + for (const auto &marker : qAsConst(markers)) { + if (marker->recognizeExtension(ext)) + return marker; } --dot; } @@ -140,11 +131,9 @@ CodeMarker *CodeMarker::markerForFileName(const QString &fileName) CodeMarker *CodeMarker::markerForLanguage(const QString &lang) { - QList::ConstIterator m = markers.constBegin(); - while (m != markers.constEnd()) { - if ((*m)->recognizeLanguage(lang)) - return *m; - ++m; + for (const auto &marker : qAsConst(markers)) { + if (marker->recognizeLanguage(lang)) + return marker; } return nullptr; } diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp index 1ffcdd39a..ed80af464 100644 --- a/src/qdoc/config.cpp +++ b/src/qdoc/config.cpp @@ -200,18 +200,13 @@ void MetaStack::process(QChar ch, const Location &location) location.fatal(tr("Unexpected '}'")); top().close(); - QStringList suffixes = pop().accum; - QStringList prefixes = top().next; + const QStringList suffixes = pop().accum; + const QStringList prefixes = top().next; top().next.clear(); - QStringList::ConstIterator pre = prefixes.constBegin(); - while (pre != prefixes.constEnd()) { - QStringList::ConstIterator suf = suffixes.constBegin(); - while (suf != suffixes.constEnd()) { - top().next << (*pre + *suf); - ++suf; - } - ++pre; + for (const auto &prefix : prefixes) { + for (const auto &suffix: suffixes) + top().next << prefix + suffix; } } else if (ch == QLatin1Char(',') && count() > 1) { top().close(); @@ -220,11 +215,8 @@ void MetaStack::process(QChar ch, const Location &location) /* This is where all the processing is done. */ - QStringList::Iterator pre = top().next.begin(); - while (pre != top().next.end()) { - *pre += ch; - ++pre; - } + for (auto it = top().next.begin(); it != top().next.end(); ++it) + *it += ch; } } @@ -452,17 +444,13 @@ bool Config::getBool(const QString &var) const */ int Config::getInt(const QString &var) const { - QStringList strs = getStringList(var); + const QStringList strs = getStringList(var); if (strs.isEmpty()) return -1; - QStringList::ConstIterator s = strs.constBegin(); int sum = 0; - - while (s != strs.constEnd()) { - sum += (*s).toInt(); - ++s; - } + for (const auto &str : strs) + sum += str.toInt(); return sum; } @@ -655,16 +643,14 @@ QStringList Config::getCanonicalPathList(const QString &var, bool validate) cons QRegExp Config::getRegExp(const QString &var) const { QString pattern; - QList subRegExps = getRegExpList(var); - QList::ConstIterator s = subRegExps.constBegin(); + const QList subRegExps = getRegExpList(var); - while (s != subRegExps.constEnd()) { - if (!(*s).isValid()) - return *s; + for (const auto ®Exp : subRegExps) { + if (!regExp.isValid()) + return regExp; if (!pattern.isEmpty()) pattern += QLatin1Char('|'); - pattern += QLatin1String("(?:") + (*s).pattern() + QLatin1Char(')'); - ++s; + pattern += QLatin1String("(?:") + regExp.pattern() + QLatin1Char(')'); } if (pattern.isEmpty()) pattern = QLatin1String("$x"); // cannot match @@ -678,14 +664,10 @@ QRegExp Config::getRegExp(const QString &var) const */ QList Config::getRegExpList(const QString &var) const { - QStringList strs = getStringList(var); - QStringList::ConstIterator s = strs.constBegin(); + const QStringList strs = getStringList(var); QList regExps; - - while (s != strs.constEnd()) { - regExps += QRegExp(*s); - ++s; - } + for (const auto &str : strs) + regExps += QRegExp(str); return regExps; } @@ -699,17 +681,15 @@ QSet Config::subVars(const QString &var) const { QSet result; QString varDot = var + QLatin1Char('.'); - ConfigVarMultimap::ConstIterator i = configVars_.constBegin(); - while (i != configVars_.constEnd()) { - if (i.key().startsWith(varDot)) { - QString subVar = i.key().mid(varDot.length()); + for (auto it = configVars_.constBegin(); it != configVars_.constEnd(); ++it) { + if (it.key().startsWith(varDot)) { + QString subVar = it.key().mid(varDot.length()); int dot = subVar.indexOf(QLatin1Char('.')); if (dot != -1) subVar.truncate(dot); if (!result.contains(subVar)) result.insert(subVar); } - ++i; } return result; } @@ -722,16 +702,14 @@ QSet Config::subVars(const QString &var) const void Config::subVarsAndValues(const QString &var, ConfigVarMultimap &t) const { QString varDot = var + QLatin1Char('.'); - ConfigVarMultimap::ConstIterator v = configVars_.constBegin(); - while (v != configVars_.constEnd()) { - if (v.key().startsWith(varDot)) { - QString subVar = v.key().mid(varDot.length()); + for (auto it = configVars_.constBegin(); it != configVars_.constEnd(); ++it) { + if (it.key().startsWith(varDot)) { + QString subVar = it.key().mid(varDot.length()); int dot = subVar.indexOf(QLatin1Char('.')); if (dot != -1) subVar.truncate(dot); - t.insert(subVar,v.value()); + t.insert(subVar, it.value()); } - ++v; } } @@ -746,18 +724,15 @@ QString Config::getIncludeFilePath(const QString &fileName) const if (!includeFilesMap_.contains(ext)) { QSet t; QStringList result; - QStringList dirs = getCanonicalPathList(CONFIG_SOURCEDIRS); - QStringList::ConstIterator d = dirs.constBegin(); - while (d != dirs.constEnd()) { - result += getFilesHere(*d, ext, location(), t, t); - ++d; - } + const QStringList dirs = getCanonicalPathList(CONFIG_SOURCEDIRS); + for (const auto &dir : dirs) + result += getFilesHere(dir, ext, location(), t, t); includeFilesMap_.insert(ext, result); } const QStringList &paths = (*includeFilesMap_.find(ext)); - for (int i=0; i &excludedFiles) { QStringList result = getCanonicalPathList(filesVar, true); - QStringList dirs = getCanonicalPathList(dirsVar, true); + const QStringList dirs = getCanonicalPathList(dirsVar, true); - QString nameFilter = getString(filesVar + dot + CONFIG_FILEEXTENSIONS); + const QString nameFilter = getString(filesVar + dot + CONFIG_FILEEXTENSIONS); - QStringList::ConstIterator d = dirs.constBegin(); - while (d != dirs.constEnd()) { - result += getFilesHere(*d, nameFilter, location(), excludedDirs, excludedFiles); - ++d; - } + for (const auto &dir : dirs) + result += getFilesHere(dir, nameFilter, location(), excludedDirs, excludedFiles); return result; } @@ -793,14 +765,11 @@ QStringList Config::getExampleQdocFiles(const QSet &excludedDirs, const QSet &excludedFiles) { QStringList result; - QStringList dirs = getCanonicalPathList("exampledirs"); - QString nameFilter = " *.qdoc"; + const QStringList dirs = getCanonicalPathList("exampledirs"); + const QString nameFilter = " *.qdoc"; - QStringList::ConstIterator d = dirs.constBegin(); - while (d != dirs.constEnd()) { - result += getFilesHere(*d, nameFilter, location(), excludedDirs, excludedFiles); - ++d; - } + for (const auto &dir : dirs) + result += getFilesHere(dir, nameFilter, location(), excludedDirs, excludedFiles); return result; } @@ -808,14 +777,11 @@ QStringList Config::getExampleImageFiles(const QSet &excludedDirs, const QSet &excludedFiles) { QStringList result; - QStringList dirs = getCanonicalPathList("exampledirs"); - QString nameFilter = getString(CONFIG_EXAMPLES + dot + CONFIG_IMAGEEXTENSIONS); + const QStringList dirs = getCanonicalPathList("exampledirs"); + const QString nameFilter = getString(CONFIG_EXAMPLES + dot + CONFIG_IMAGEEXTENSIONS); - QStringList::ConstIterator d = dirs.constBegin(); - while (d != dirs.constEnd()) { - result += getFilesHere(*d, nameFilter, location(), excludedDirs, excludedFiles); - ++d; - } + for (const auto &dir : dirs) + result += getFilesHere(dir, nameFilter, location(), excludedDirs, excludedFiles); return result; } @@ -844,25 +810,21 @@ QString Config::findFile(const Location &location, QStringList components = fileName.split(QLatin1Char('?')); QString firstComponent = components.first(); - QStringList::ConstIterator f = files.constBegin(); - while (f != files.constEnd()) { - if (*f == firstComponent || - (*f).endsWith(QLatin1Char('/') + firstComponent)) { - fileInfo.setFile(*f); + for (const auto &file : files) { + if (file == firstComponent || + file.endsWith(QLatin1Char('/') + firstComponent)) { + fileInfo.setFile(file); if (!fileInfo.exists()) - location.fatal(tr("File '%1' does not exist").arg(*f)); + location.fatal(tr("File '%1' does not exist").arg(file)); break; } - ++f; } if (fileInfo.fileName().isEmpty()) { - QStringList::ConstIterator d = dirs.constBegin(); - while (d != dirs.constEnd()) { - fileInfo.setFile(QDir(*d), firstComponent); + for (const auto &dir : dirs) { + fileInfo.setFile(QDir(dir), firstComponent); if (fileInfo.exists()) break; - ++d; } } @@ -872,8 +834,7 @@ QString Config::findFile(const Location &location, return QString(); if (userFriendlyFilePath) { - QStringList::ConstIterator c = components.constBegin(); - for (;;) { + for (auto c = components.constBegin();;) { bool isArchive = (c != components.constEnd() - 1); userFriendlyFilePath->append(*c); @@ -900,16 +861,14 @@ QString Config::findFile(const Location &location, const QStringList &fileExtensions, QString *userFriendlyFilePath) { - QStringList::ConstIterator e = fileExtensions.constBegin(); - while (e != fileExtensions.constEnd()) { + for (const auto &extension : fileExtensions) { QString filePath = findFile(location, files, dirs, - fileBase + QLatin1Char('.') + *e, + fileBase + QLatin1Char('.') + extension, userFriendlyFilePath); if (!filePath.isEmpty()) return filePath; - ++e; } return findFile(location, files, dirs, fileBase, userFriendlyFilePath); } @@ -978,28 +937,25 @@ int Config::numParams(const QString &value) bool Config::removeDirContents(const QString &dir) { QDir dirInfo(dir); - QFileInfoList entries = dirInfo.entryInfoList(); + const QFileInfoList entries = dirInfo.entryInfoList(); bool ok = true; - QFileInfoList::Iterator it = entries.begin(); - while (it != entries.end()) { - if ((*it).isFile()) { - if (!dirInfo.remove((*it).fileName())) + for (const auto &entry : entries) { + if (entry.isFile()) { + if (!dirInfo.remove(entry.fileName())) ok = false; } - else if ((*it).isDir()) { - if ((*it).fileName() != QLatin1String(".") && (*it).fileName() != QLatin1String("..")) { - if (removeDirContents((*it).absoluteFilePath())) { - if (!dirInfo.rmdir((*it).fileName())) + else if (entry.isDir()) { + if (entry.fileName() != QLatin1String(".") && entry.fileName() != QLatin1String("..")) { + if (removeDirContents(entry.absoluteFilePath())) { + if (!dirInfo.rmdir(entry.fileName())) ok = false; - } - else { + } else { ok = false; } } } - ++it; } return ok; } @@ -1131,7 +1087,7 @@ void Config::load(Location location, const QString &fileName) SKIP_CHAR(); } while (isMetaKeyChar(c)); - QStringList keys = stack.getExpanded(location); + const QStringList keys = stack.getExpanded(location); SKIP_SPACES(); if (keys.count() == 1 && keys.first() == QLatin1String("include")) { @@ -1270,16 +1226,13 @@ void Config::load(Location location, const QString &fileName) PUT_CHAR(); } } - - QStringList::ConstIterator key = keys.constBegin(); - while (key != keys.constEnd()) { - if (!keySyntax.exactMatch(*key)) - keyLoc.fatal(tr("Invalid key '%1'").arg(*key)); + for (const auto &key : keys) { + if (!keySyntax.exactMatch(key)) + keyLoc.fatal(tr("Invalid key '%1'").arg(key)); ConfigVarMultimap::Iterator i; - i = configVars_.insert(*key, ConfigVar(*key, rhsValues, QDir::currentPath(), keyLoc)); + i = configVars_.insert(key, ConfigVar(key, rhsValues, QDir::currentPath(), keyLoc)); i.value().plus_ = plus; - ++key; } } } else { @@ -1315,32 +1268,25 @@ QStringList Config::getFilesHere(const QString &uncleanDir, return result; QDir dirInfo(dir); - QStringList fileNames; - QStringList::const_iterator fn; dirInfo.setNameFilters(nameFilter.split(QLatin1Char(' '))); dirInfo.setSorting(QDir::Name); dirInfo.setFilter(QDir::Files); - fileNames = dirInfo.entryList(); - fn = fileNames.constBegin(); - while (fn != fileNames.constEnd()) { - if (!fn->startsWith(QLatin1Char('~'))) { - QString s = dirInfo.filePath(*fn); + QStringList fileNames = dirInfo.entryList(); + for (const auto &file: qAsConst(fileNames)) { + if (!file.startsWith(QLatin1Char('~'))) { + QString s = dirInfo.filePath(file); QString c = QDir::cleanPath(s); if (!isFileExcluded(c, excludedFiles)) result.append(c); } - ++fn; } dirInfo.setNameFilters(QStringList(QLatin1String("*"))); dirInfo.setFilter(QDir::Dirs|QDir::NoDotAndDotDot); fileNames = dirInfo.entryList(); - fn = fileNames.constBegin(); - while (fn != fileNames.constEnd()) { - result += getFilesHere(dirInfo.filePath(*fn), nameFilter, location, excludedDirs, excludedFiles); - ++fn; - } + for (const auto &file : fileNames) + result += getFilesHere(dirInfo.filePath(file), nameFilter, location, excludedDirs, excludedFiles); return result; } diff --git a/src/qdoc/cppcodemarker.cpp b/src/qdoc/cppcodemarker.cpp index a26dedc76..251f0cef6 100644 --- a/src/qdoc/cppcodemarker.cpp +++ b/src/qdoc/cppcodemarker.cpp @@ -422,11 +422,9 @@ QString CppCodeMarker::markedUpIncludes(const QStringList &includes) { QString code; - QStringList::ConstIterator inc = includes.constBegin(); - while (inc != includes.constEnd()) { - code += "<@preprocessor>#include <<@headerfile>" + *inc + ">\n"; - ++inc; - } + for (const auto &include : includes) + code += "<@preprocessor>#include <<@headerfile>" + + include + ">\n"; return code; } diff --git a/src/qdoc/cppcodeparser.cpp b/src/qdoc/cppcodeparser.cpp index b05e2ab3c..84e383fc2 100644 --- a/src/qdoc/cppcodeparser.cpp +++ b/src/qdoc/cppcodeparser.cpp @@ -712,15 +712,10 @@ void CppCodeParser::processMetaCommands(const Doc &doc, Node *node) { QStringList metaCommandsUsed = doc.metaCommandsUsed().values(); metaCommandsUsed.sort(); // TODO: why are these sorted? mws 24/12/2018 - QStringList::ConstIterator cmd = metaCommandsUsed.constBegin(); - while (cmd != metaCommandsUsed.constEnd()) { - ArgList args = doc.metaCommandArgs(*cmd); - ArgList::ConstIterator arg = args.constBegin(); - while (arg != args.constEnd()) { - processMetaCommand(doc, *cmd, *arg, node); - ++arg; - } - ++cmd; + for (const auto &command : metaCommandsUsed) { + const ArgList args = doc.metaCommandArgs(command); + for (const auto &arg : args) + processMetaCommand(doc, command, arg, node); } } @@ -986,18 +981,17 @@ void CppCodeParser::processTopicArgs(const Doc &doc, const QString &topic, NodeL } } else if (args.size() > 1) { QVector sharedCommentNodes; - ArgList::ConstIterator arg = args.constBegin(); - while (arg != args.constEnd()) { + for (const auto &arg : qAsConst(args)) { node = nullptr; if (topic == COMMAND_FN) { if (showInternal() || !doc.isInternal()) - node = parserForLanguage("Clang")->parseFnArg(doc.location(), arg->first); + node = parserForLanguage("Clang")->parseFnArg(doc.location(), arg.first); } else if (topic == COMMAND_MACRO) { - node = parseMacroArg(doc.location(), arg->first); + node = parseMacroArg(doc.location(), arg.first); } else if (isQMLMethodTopic(topic) || isJSMethodTopic(topic)) { - node = parseOtherFuncArg(topic, doc.location(), arg->first); + node = parseOtherFuncArg(topic, doc.location(), arg.first); } else { - node = processTopicCommand(doc, topic, *arg); + node = processTopicCommand(doc, topic, arg); } if (node != nullptr) { bool found = false; @@ -1015,7 +1009,6 @@ void CppCodeParser::processTopicArgs(const Doc &doc, const QString &topic, NodeL docs.append(doc); } } - ++arg; } } } @@ -1023,15 +1016,14 @@ void CppCodeParser::processTopicArgs(const Doc &doc, const QString &topic, NodeL void CppCodeParser::processMetaCommands(NodeList &nodes, DocList &docs) { - NodeList::Iterator n = nodes.begin(); QList::Iterator d = docs.begin(); - while (n != nodes.end()) { - if (*n != nullptr) { - processMetaCommands(*d, *n); - (*n)->setDoc(*d); - checkModuleInclusion(*n); - if ((*n)->isAggregate()) { - Aggregate *aggregate = static_cast(*n); + for (const auto &node : nodes) { + if (node != nullptr) { + processMetaCommands(*d, node); + node->setDoc(*d); + checkModuleInclusion(node); + if (node->isAggregate()) { + Aggregate *aggregate = static_cast(node); if (aggregate->includeFiles().isEmpty()) { Aggregate *parent = aggregate; while (parent->physicalModuleName().isEmpty() && (parent->parent() != nullptr)) @@ -1044,7 +1036,6 @@ void CppCodeParser::processMetaCommands(NodeList &nodes, DocList &docs) } } ++d; - ++n; } } diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index 7510fba97..8c82e0693 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -1350,20 +1350,16 @@ void DocParser::parse(const QString &source, } else if (macroHash()->contains(cmdStr)) { const Macro ¯o = macroHash()->value(cmdStr); int numPendingFi = 0; - QStringMap::ConstIterator d; int numFormatDefs = 0; QString matchExpr; - d = macro.otherDefs.constBegin(); - while (d != macro.otherDefs.constEnd()) { - if (d.key() == "match") { - matchExpr = d.value(); - ++d; + for (auto it = macro.otherDefs.constBegin(); it != macro.otherDefs.constEnd(); ++it) { + if (it.key() == "match") { + matchExpr = it.value(); } else { - append(Atom::FormatIf, d.key()); - expandMacro(cmdStr, *d, macro.numParams); - ++d; + append(Atom::FormatIf, it.key()); + expandMacro(cmdStr, *it, macro.numParams); ++numFormatDefs; - if (d == macro.otherDefs.constEnd()) { + if (it == macro.otherDefs.constEnd()) { append(Atom::FormatEndif); } else { append(Atom::FormatElse); @@ -1463,16 +1459,16 @@ void DocParser::parse(const QString &source, braceDepth--; pos++; - QMap::Iterator f = pendingFormats.find(braceDepth); - if (f == pendingFormats.end()) { + auto format = pendingFormats.find(braceDepth); + if (format == pendingFormats.end()) { enterPara(); appendChar('}'); } else { - append(Atom::FormattingRight, *f); - if (*f == ATOM_FORMATTING_INDEX) { + append(Atom::FormattingRight, *format); + if (*format == ATOM_FORMATTING_INDEX) { if (indexStartedPara) skipAllSpaces(); - } else if (*f == ATOM_FORMATTING_LINK) { + } else if (*format == ATOM_FORMATTING_LINK) { // hack for C++ to support links like // \l{QString::}{count()} if (currentLinkAtom && @@ -1483,7 +1479,7 @@ void DocParser::parse(const QString &source, } currentLinkAtom = nullptr; } - pendingFormats.erase(f); + pendingFormats.erase(format); } break; } @@ -1761,14 +1757,12 @@ void DocParser::startFormat(const QString &format, int cmd) { enterPara(); - QMap::ConstIterator f = pendingFormats.constBegin(); - while (f != pendingFormats.constEnd()) { - if (*f == format) { + for (const auto &item : qAsConst(pendingFormats)) { + if (item == format) { location().warning(tr("Cannot nest '\\%1' commands") .arg(cmdName(cmd))); return; } - ++f; } append(Atom::FormattingLeft, format); diff --git a/src/qdoc/editdistance.cpp b/src/qdoc/editdistance.cpp index c96071bf0..c8451f3c2 100644 --- a/src/qdoc/editdistance.cpp +++ b/src/qdoc/editdistance.cpp @@ -75,19 +75,17 @@ QString nearestName(const QString &actual, const QSet &candidates) int numBest = 0; QString best; - QSet::ConstIterator c = candidates.constBegin(); - while (c != candidates.constEnd()) { - if ((*c)[0] == actual[0]) { - int delta = editDistance(actual, *c); + for (const auto &candidate : candidates) { + if (candidate[0] == actual[0]) { + int delta = editDistance(actual, candidate); if (delta < deltaBest) { deltaBest = delta; numBest = 1; - best = *c; + best = candidate; } else if (delta == deltaBest) { numBest++; } } - ++c; } if (numBest == 1 && deltaBest <= 2 && actual.length() + best.length() >= 5) diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index 82d7c0127..0b2d24f27 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -145,12 +145,10 @@ void Generator::appendFullName(Text &text, void Generator::appendFullNames(Text &text, const NodeList &nodes, const Node *relative) { - NodeList::ConstIterator n = nodes.constBegin(); int index = 0; - while (n != nodes.constEnd()) { - appendFullName(text,*n,relative); + for (const auto &node : nodes) { + appendFullName(text, node, relative); text << comma(index++,nodes.count()); - ++n; } } @@ -177,13 +175,11 @@ void Generator::signatureList(const NodeList &nodes, const Node *relative, CodeM Text text; int count = 0; text << Atom(Atom::ListLeft, QString("bullet")); - NodeList::ConstIterator n = nodes.constBegin(); - while (n != nodes.constEnd()) { + for (const auto &node: nodes) { text << Atom(Atom::ListItemNumber, QString::number(++count)); text << Atom(Atom::ListItemLeft, QString("bullet")); - appendSignature(text, *n); + appendSignature(text, node); text << Atom(Atom::ListItemRight, QString("bullet")); - ++n; } text << Atom(Atom::ListRight, QString("bullet")); generateText(text, relative, marker); @@ -191,21 +187,17 @@ void Generator::signatureList(const NodeList &nodes, const Node *relative, CodeM int Generator::appendSortedNames(Text &text, const ClassNode *cn, const QList &rc) { - QList::ConstIterator r; QMap classMap; - int index = 0; - - r = rc.constBegin(); - while (r != rc.constEnd()) { - ClassNode *rcn = (*r).node_; + for (const auto &relatedClass : rc) { + ClassNode *rcn = relatedClass.node_; if (rcn && rcn->isInAPI()) { Text className; appendFullName(className, rcn, cn); classMap[className.toString().toLower()] = className; } - ++r; } + int index = 0; const QStringList classNames = classMap.keys(); for (const auto &className : classNames) { text << classMap[className]; @@ -217,17 +209,17 @@ int Generator::appendSortedNames(Text &text, const ClassNode *cn, const QList classMap; - int index = 0; - for (int i = 0; i < subs.size(); ++i) { - Text t; - if (!base->isQtQuickNode() || !subs[i]->isQtQuickNode() || - (base->logicalModuleName() == subs[i]->logicalModuleName())) { - appendFullName(t, subs[i], base); - classMap[t.toString().toLower()] = t; + for (const auto sub : subs) { + Text text; + if (!base->isQtQuickNode() || !sub->isQtQuickNode() || + (base->logicalModuleName() == sub->logicalModuleName())) { + appendFullName(text, sub, base); + classMap[text.toString().toLower()] = text; } } + int index = 0; const QStringList names = classMap.keys(); for (const auto &name : names) { text << classMap[name]; @@ -887,65 +879,56 @@ void Generator::generateBody(const Node *node, CodeMarker *marker) const EnumNode *enume = static_cast(node); QSet definedItems; - QList::ConstIterator it = enume->items().constBegin(); - while (it != enume->items().constEnd()) { - definedItems.insert((*it).name()); - ++it; - } + const QList &items = enume->items(); + for (const auto &item : items) + definedItems.insert(item.name()); const auto &documentedItemList = enume->doc().enumItemNames(); QSet documentedItems(documentedItemList.cbegin(), documentedItemList.cend()); - QSet allItems = definedItems + documentedItems; + const QSet allItems = definedItems + documentedItems; if (allItems.count() > definedItems.count() || allItems.count() > documentedItems.count()) { - QSet::ConstIterator a = allItems.constBegin(); - while (a != allItems.constEnd()) { - if (!definedItems.contains(*a)) { + for (const auto &it : allItems) { + if (!definedItems.contains(it)) { QString details; - QString best = nearestName(*a, definedItems); + QString best = nearestName(it, definedItems); if (!best.isEmpty() && !documentedItems.contains(best)) details = tr("Maybe you meant '%1'?").arg(best); node->doc().location().warning(tr("No such enum item '%1' in %2") - .arg(*a).arg(node->plainFullName()), details); - } - else if (!documentedItems.contains(*a)) { + .arg(it).arg(node->plainFullName()), details); + } else if (!documentedItems.contains(it)) { node->doc().location().warning(tr("Undocumented enum item '%1' in %2") - .arg(*a).arg(node->plainFullName())); + .arg(it).arg(node->plainFullName())); } - ++a; } } } else if (node->isFunction()) { const FunctionNode *fn = static_cast(node); const QSet declaredNames = fn->parameters().getNames(); - QSet documentedNames = fn->doc().parameterNames(); + const QSet documentedNames = fn->doc().parameterNames(); if (declaredNames != documentedNames) { - QSet::const_iterator i = declaredNames.constBegin(); - while (i != declaredNames.constEnd()) { - if (!documentedNames.contains(*i)) { + for (const auto &name : declaredNames) { + if (!documentedNames.contains(name)) { if (fn->isActive() || fn->isPreliminary()) { if (!fn->isMarkedReimp() && !fn->isOverload()) { fn->doc().location().warning( tr("Undocumented parameter '%1' in %2") - .arg(*i).arg(node->plainFullName())); + .arg(name).arg(node->plainFullName())); } } } - ++i; } - i = documentedNames.constBegin(); - while (i != documentedNames.constEnd()) { - if (!declaredNames.contains(*i)) { - QString best = nearestName(*i, declaredNames); + for (const auto &name : documentedNames) { + if (!declaredNames.contains(name)) { + QString best = nearestName(name, declaredNames); QString details; if (!best.isEmpty()) details = tr("Maybe you meant '%1'?").arg(best); fn->doc().location().warning(tr("No such parameter '%1' in %2") - .arg(*i).arg(fn->plainFullName()), + .arg(name).arg(fn->plainFullName()), details); } - ++i; } } /* @@ -1123,9 +1106,6 @@ void Generator::generateInheritedBy(const ClassNode *classe, CodeMarker *marker) void Generator::generateInherits(const ClassNode *classe, CodeMarker *marker) { - QList::ConstIterator r; - int index; - if (!classe->baseClasses().isEmpty()) { Text text; text << Atom::ParaLeft @@ -1133,21 +1113,20 @@ void Generator::generateInherits(const ClassNode *classe, CodeMarker *marker) << "Inherits: " << Atom(Atom::FormattingRight,ATOM_FORMATTING_BOLD); - r = classe->baseClasses().constBegin(); - index = 0; - while (r != classe->baseClasses().constEnd()) { - if ((*r).node_) { - appendFullName(text, (*r).node_, classe); + int index = 0; + const QList &baseClasses = classe->baseClasses(); + for (const auto &cls : baseClasses) { + if (cls.node_) { + appendFullName(text, cls.node_, classe); - if ((*r).access_ == Node::Protected) { + if (cls.access_ == Node::Protected) { text << " (protected)"; } - else if ((*r).access_ == Node::Private) { + else if (cls.access_ == Node::Private) { text << " (private)"; } text << separator(index++, classe->baseClasses().count()); } - ++r; } text << Atom::ParaRight; generateText(text, classe, marker); @@ -1728,32 +1707,29 @@ void Generator::generateDocs() Generator *Generator::generatorForFormat(const QString &format) { - QList::ConstIterator g = generators.constBegin(); - while (g != generators.constEnd()) { - if ((*g)->format() == format) - return *g; - ++g; + for (const auto &generator : qAsConst(generators)) { + if (generator->format() == format) + return generator; } return nullptr; } /*! - Looks up the tag \a t in the map of metadata values for the + Looks up the tag \a tag in the map of metadata values for the current topic in \a inner. If a value for the tag is found, the value is returned. - \note If \a t is found in the metadata map, it is erased. - i.e. Once you call this function for a particular \a t, - you consume \a t. + \note If \a tag is found in the metadata map, it is erased. + i.e. Once you call this function for a particular \a tag, + you consume \a tag. */ -QString Generator::getMetadataElement(const Aggregate *inner, const QString &t) +QString Generator::getMetadataElement(const Aggregate *inner, const QString &tag) { QString s; - QStringMultiMap& metaTagMap = const_cast(inner->doc().metaTagMap()); - QStringMultiMap::iterator i = metaTagMap.find(t); - if (i != metaTagMap.end()) { - s = i.value(); - metaTagMap.erase(i); + QStringMultiMap &metaTagMap = const_cast(inner->doc().metaTagMap()); + for (auto it = metaTagMap.find(tag); it != metaTagMap.end();) { + s = it.value(); + metaTagMap.erase(it); } return s; } @@ -1986,11 +1962,8 @@ void Generator::augmentImageDirs(QSet &moreImageDirs) { if (moreImageDirs.isEmpty()) return; - QSet::const_iterator i = moreImageDirs.begin(); - while (i != moreImageDirs.end()) { - imageDirs.append(*i); - ++i; - } + for (const auto &it : moreImageDirs) + imageDirs.append(it); } /*! @@ -2243,11 +2216,9 @@ void Generator::supplementAlsoList(const Node *node, QList &alsoList) void Generator::terminate() { - QList::ConstIterator g = generators.constBegin(); - while (g != generators.constEnd()) { - if (outputFormats.contains((*g)->format())) - (*g)->terminateGenerator(); - ++g; + for (const auto &generator : qAsConst(generators)) { + if (outputFormats.contains(generator->format())) + generator->terminateGenerator(); } fmtLeftMaps.clear(); diff --git a/src/qdoc/helpprojectwriter.cpp b/src/qdoc/helpprojectwriter.cpp index 3d45b60a4..4ef77f06a 100644 --- a/src/qdoc/helpprojectwriter.cpp +++ b/src/qdoc/helpprojectwriter.cpp @@ -157,7 +157,7 @@ void HelpProjectWriter::readSelectors(SubProject &subproject, const QStringList NodeTypeSet fullSubset; - for (auto it = pageTypeHash.cbegin(), end = pageTypeHash.cend(); it != end; ++it) + for (auto it = pageTypeHash.constBegin(); it != pageTypeHash.constEnd(); ++it) fullSubset.insert(it.value()); for (const QString &selector : selectors) { @@ -689,8 +689,7 @@ void HelpProjectWriter::generateProject(HelpProject &project) writer.writeEndElement(); // Write customFilter elements. - QHash >::ConstIterator it; - for (it = project.customFilters.constBegin(); it != project.customFilters.constEnd(); ++it) { + for (auto it = project.customFilters.constBegin(); it != project.customFilters.constEnd(); ++it) { writer.writeStartElement("customFilter"); writer.writeAttribute("name", it.key()); QStringList sortedAttributes = it.value().values(); diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index b994dfeea..95cf63bd7 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -199,10 +199,8 @@ void HtmlGenerator::initializeGenerator(const Config &config) if (naturalLanguage.isEmpty()) naturalLanguage = QLatin1String("en"); - QSet editionNames = config.subVars(CONFIG_EDITION); - QSet::ConstIterator edition = editionNames.constBegin(); - while (edition != editionNames.constEnd()) { - QString editionName = *edition; + const QSet editionNames = config.subVars(CONFIG_EDITION); + for (const auto &editionName : editionNames) { QStringList editionModules = config.getStringList(CONFIG_EDITION + Config::dot + editionName + @@ -218,8 +216,6 @@ void HtmlGenerator::initializeGenerator(const Config &config) editionModuleMap[editionName] = editionModules; if (!editionGroups.isEmpty()) editionGroupMap[editionName] = editionGroups; - - ++edition; } codeIndent = config.getInt(CONFIG_CODEINDENT); // QTBUG-27798 @@ -787,28 +783,26 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark Sections sections(nsmap); out() << "\n"; int idx = 0; - s = sections.sinceSections().constBegin(); - while (s != sections.sinceSections().constEnd()) { - if (!s->members().isEmpty()) { + for (const auto §ion : sinceSections) { + if (!section.members().isEmpty()) { out() << "title()) + << Doc::canonicalTitle(section.title()) << "\">\n"; - out() << "

    " << protectEnc(s->title()) << "

    \n"; + out() << "

    " << protectEnc(section.title()) << "

    \n"; if (idx == Sections::SinceClasses) generateCompactList(Generic, nullptr, ncmap, false, QStringLiteral("Q")); else if (idx == Sections::SinceQmlTypes) @@ -816,37 +810,33 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark else if (idx == Sections::SinceMemberFunctions) { ParentMaps parentmaps; ParentMaps::iterator pmap; - NodeVector::const_iterator i = s->members().constBegin(); - while (i != s->members().constEnd()) { - Node *p = (*i)->parent(); - pmap = parentmaps.find(p); + const QVector members = section.members(); + for (const auto &member : members) { + Node *parent = (*member).parent(); + pmap = parentmaps.find(parent); if (pmap == parentmaps.end()) - pmap = parentmaps.insert(p,NodeMultiMap()); - pmap->insert((*i)->name(),(*i)); - ++i; + pmap = parentmaps.insert(parent,NodeMultiMap()); + pmap->insert(member->name(), member); } - pmap = parentmaps.begin(); - while (pmap != parentmaps.end()) { - NodeVector nv = pmap->values().toVector(); + for (auto map = parentmaps.begin(); map != parentmaps.end(); ++map) { + NodeVector nv = map->values().toVector(); out() << "

    Class "; out() << ""; - QStringList pieces = pmap.key()->fullName().split("::"); + QStringList pieces = map.key()->fullName().split("::"); out() << protectEnc(pieces.last()); out() << "" << ":

    \n"; generateSection(nv, nullptr, marker); out() << "
    "; - ++pmap; } + } else { + generateSection(section.members(), nullptr, marker); } - else - generateSection(s->members(), nullptr, marker); } ++idx; - ++s; } } break; @@ -1365,45 +1355,40 @@ void HtmlGenerator::generateCppReferencePage(Aggregate *aggregate, CodeMarker *m bool needOtherSection = false; - SectionVector::ConstIterator s = summarySections->constBegin(); - while (s != summarySections->constEnd()) { - if (s->members().isEmpty() && s->reimplementedMembers().isEmpty()) { - if (!s->inheritedMembers().isEmpty()) + for (const auto §ion : qAsConst(*summarySections)) { + if (section.members().isEmpty() && section.reimplementedMembers().isEmpty()) { + if (!section.inheritedMembers().isEmpty()) needOtherSection = true; - } - else { - if (!s->members().isEmpty()) { - QString ref = registerRef(s->title().toLower()); + } else { + if (!section.members().isEmpty()) { + QString ref = registerRef(section.title().toLower()); out() << "" << divNavTop << "\n"; - out() << "

    " << protectEnc(s->title()) << "

    \n"; - generateSection(s->members(), aggregate, marker); + out() << "

    " << protectEnc(section.title()) << "

    \n"; + generateSection(section.members(), aggregate, marker); } - if (!s->reimplementedMembers().isEmpty()) { - QString name = QString("Reimplemented ") + s->title(); + if (!section.reimplementedMembers().isEmpty()) { + QString name = QString("Reimplemented ") + section.title(); QString ref = registerRef(name.toLower()); out() << "" << divNavTop << "\n"; out() << "

    " << protectEnc(name) << "

    \n"; - generateSection(s->reimplementedMembers(), aggregate, marker); + generateSection(section.reimplementedMembers(), aggregate, marker); } - if (!s->inheritedMembers().isEmpty()) { + if (!section.inheritedMembers().isEmpty()) { out() << "
      \n"; - generateSectionInheritedList(*s, aggregate); + generateSectionInheritedList(section, aggregate); out() << "
    \n"; } } - ++s; } if (needOtherSection) { out() << "

    Additional Inherited Members

    \n" "
      \n"; - s = summarySections->constBegin(); - while (s != summarySections->constEnd()) { - if (s->members().isEmpty() && !s->inheritedMembers().isEmpty()) - generateSectionInheritedList(*s, aggregate); - ++s; + for (const auto §ion : qAsConst(*summarySections)) { + if (section.members().isEmpty() && !section.inheritedMembers().isEmpty()) + generateSectionInheritedList(section, aggregate); } out() << "
    \n"; } @@ -1427,42 +1412,38 @@ void HtmlGenerator::generateCppReferencePage(Aggregate *aggregate, CodeMarker *m generateExtractionMark(aggregate, EndMark); } - s = detailsSections->constBegin(); - while (s != detailsSections->constEnd()) { + for (const auto §ion :qAsConst(*detailsSections)) { bool headerGenerated = false; - if (s->isEmpty()) { - ++s; + if (section.isEmpty()) continue; - } - NodeVector::ConstIterator m = s->members().constBegin(); - while (m != s->members().constEnd()) { - if ((*m)->access() == Node::Private) { // ### check necessary? - ++m; + + const QVector members = section.members(); + for (const auto &member : members) { + if (member->access() == Node::Private) // ### check necessary? continue; - } if (!headerGenerated) { - if (!s->divClass().isEmpty()) - out() << "
    divClass() << "\">\n"; // QTBUG-9504 - out() << "

    " << protectEnc(s->title()) << "

    \n"; + if (!section.divClass().isEmpty()) + out() << "
    \n"; // QTBUG-9504 + out() << "

    " << protectEnc(section.title()) << "

    \n"; headerGenerated = true; } - if (!(*m)->isClassNode()) - generateDetailedMember(*m, aggregate, marker); + if (!member->isClassNode()) + generateDetailedMember(member, aggregate, marker); else { out() << "

    class "; - generateFullName(*m, aggregate); + generateFullName(member, aggregate); out() << "

    "; - generateBrief(*m, marker, aggregate); + generateBrief(member, marker, aggregate); } QStringList names; - names << (*m)->name(); - if ((*m)->isFunction()) { - const FunctionNode *func = reinterpret_cast(*m); + names << member->name(); + if (member->isFunction()) { + const FunctionNode *func = reinterpret_cast(member); if (func->isSomeCtor() || func->isDtor() || func->overloadNumber() != 0) names.clear(); - } else if ((*m)->isProperty()) { - const PropertyNode *prop = reinterpret_cast(*m); + } else if (member->isProperty()) { + const PropertyNode *prop = reinterpret_cast(member); if (!prop->getters().isEmpty() && !names.contains(prop->getters().first()->name())) names << prop->getters().first()->name(); @@ -1472,8 +1453,8 @@ void HtmlGenerator::generateCppReferencePage(Aggregate *aggregate, CodeMarker *m names << prop->resetters().first()->name(); if (!prop->notifiers().isEmpty()) names << prop->notifiers().first()->name(); - } else if ((*m)->isEnumType()) { - const EnumNode *enume = reinterpret_cast(*m); + } else if (member->isEnumType()) { + const EnumNode *enume = reinterpret_cast(member); if (enume->flagsType()) names << enume->flagsType()->name(); const auto &enumItemNameList = enume->doc().enumItemNames(); @@ -1485,11 +1466,9 @@ void HtmlGenerator::generateCppReferencePage(Aggregate *aggregate, CodeMarker *m enume)); } } - ++m; } - if (headerGenerated && !s->divClass().isEmpty()) + if (headerGenerated && !section.divClass().isEmpty()) out() << "
    \n"; // QTBUG-9504 - ++s; } generateFooter(aggregate); } @@ -1514,16 +1493,14 @@ void HtmlGenerator::generateProxyPage(Aggregate *aggregate, CodeMarker *marker) generateHeader(title, aggregate, marker); generateTitle(title, subtitleText, SmallSubTitle, aggregate, marker); generateBrief(aggregate, marker); - SectionVector::ConstIterator s = summarySections->constBegin(); - while (s != summarySections->constEnd()) { - if (!s->members().isEmpty()) { + for (auto it = summarySections->constBegin(); it != summarySections->constEnd(); ++it) { + if (!it->members().isEmpty()) { // out() << "
    \n"; - QString ref = registerRef(s->title().toLower()); + QString ref = registerRef(it->title().toLower()); out() << "" << divNavTop << "\n"; - out() << "

    " << protectEnc(s->title()) << "

    \n"; - generateSection(s->members(), aggregate, marker); + out() << "

    " << protectEnc(it->title()) << "

    \n"; + generateSection(it->members(), aggregate, marker); } - ++s; } QString detailsRef = registerRef("details"); @@ -1541,54 +1518,48 @@ void HtmlGenerator::generateProxyPage(Aggregate *aggregate, CodeMarker *marker) generateExtractionMark(aggregate, EndMark); } - s = detailsSections->constBegin(); - while (s != detailsSections->constEnd()) { - if (s->isEmpty()) { - ++s; + for (const auto §ion : qAsConst(*detailsSections)) { + if (section.isEmpty()) continue; - } + //out() << "
    \n"; - if (!s->divClass().isEmpty()) - out() << "
    divClass() << "\">\n"; // QTBUG-9504 - out() << "

    " << protectEnc(s->title()) << "

    \n"; - - NodeVector::ConstIterator m = s->members().constBegin(); - while (m != s->members().constEnd()) { - if (!(*m)->isPrivate()) { // ### check necessary? - if (!(*m)->isClassNode()) - generateDetailedMember(*m, aggregate, marker); + if (!section.divClass().isEmpty()) + out() << "
    \n"; // QTBUG-9504 + out() << "

    " << protectEnc(section.title()) << "

    \n"; + + const QVector &members = section.members(); + for (const auto &member : members) { + if (!member->isPrivate()) { // ### check necessary? + if (!member->isClassNode()) + generateDetailedMember(member, aggregate, marker); else { out() << "

    class "; - generateFullName(*m, aggregate); + generateFullName(member, aggregate); out() << "

    "; - generateBrief(*m, marker, aggregate); + generateBrief(member, marker, aggregate); } QStringList names; - names << (*m)->name(); - if ((*m)->isFunction()) { - const FunctionNode *func = reinterpret_cast(*m); + names << member->name(); + if (member->isFunction()) { + const FunctionNode *func = reinterpret_cast(member); if (func->isSomeCtor() || func->isDtor() || func->overloadNumber() != 0) names.clear(); - } else if ((*m)->isEnumType()) { - const EnumNode *enume = reinterpret_cast(*m); + } else if (member->isEnumType()) { + const EnumNode *enume = reinterpret_cast(member); if (enume->flagsType()) names << enume->flagsType()->name(); const auto &enumItemNameList = enume->doc().enumItemNames(); const auto &omitEnumItemNameList = enume->doc().omitEnumItemNames(); const auto items = QSet(enumItemNameList.cbegin(), enumItemNameList.cend()) - QSet(omitEnumItemNameList.cbegin(), omitEnumItemNameList.cend()); - for (const QString &enumName : items) { - names << plainCode(marker->markedUpEnumValue(enumName, - enume)); - } + for (const QString &enumName : items) + names << plainCode(marker->markedUpEnumValue(enumName, enume)); } } - ++m; } - if (!s->divClass().isEmpty()) + if (!section.divClass().isEmpty()) out() << "
    \n"; // QTBUG-9504 - ++s; } generateFooter(aggregate); } @@ -1631,16 +1602,15 @@ void HtmlGenerator::generateQmlTypePage(QmlTypeNode *qcn, CodeMarker *marker) out() << "\n"; } - SectionVector::ConstIterator s = sections.stdQmlTypeSummarySections().constBegin(); - while (s != sections.stdQmlTypeSummarySections().constEnd()) { - if (!s->isEmpty()) { - QString ref = registerRef(s->title().toLower()); + const QVector
    &stdQmlTypeSummarySections = sections.stdQmlTypeSummarySections(); + for (const auto §ion : stdQmlTypeSummarySections) { + if (!section.isEmpty()) { + QString ref = registerRef(section.title().toLower()); out() << "" << divNavTop << '\n'; - out() << "

    " << protectEnc(s->title()) << "

    \n"; - generateQmlSummary(s->members(), qcn, marker); + out() << "

    " << protectEnc(section.title()) << "

    \n"; + generateQmlSummary(section.members(), qcn, marker); } - ++s; } generateExtractionMark(qcn, DetailedDescriptionMark); @@ -1655,18 +1625,16 @@ void HtmlGenerator::generateQmlTypePage(QmlTypeNode *qcn, CodeMarker *marker) generateExtractionMark(qcn, EndMark); //out() << "
    \n"; - s = sections.stdQmlTypeDetailsSections().constBegin(); - while (s != sections.stdQmlTypeDetailsSections().constEnd()) { - if (!s->isEmpty()) { - out() << "

    " << protectEnc(s->title()) << "

    \n"; - NodeVector::ConstIterator m = s->members().constBegin(); - while (m != s->members().constEnd()) { - generateDetailedQmlMember(*m, qcn, marker); + const QVector
    &stdQmlTypeDetailsSections = sections.stdQmlTypeDetailsSections(); + for (const auto §ion : stdQmlTypeDetailsSections) { + if (!section.isEmpty()) { + out() << "

    " << protectEnc(section.title()) << "

    \n"; + const QVector members = section.members(); + for (const auto member : members) { + generateDetailedQmlMember(member, qcn, marker); out() << "
    \n"; - ++m; } } - ++s; } generateFooter(qcn); Generator::setQmlTypeContext(nullptr); @@ -1697,16 +1665,15 @@ void HtmlGenerator::generateQmlBasicTypePage(QmlBasicTypeNode *qbtn, CodeMarker qbtn, marker); - SectionVector::const_iterator s = sections.stdQmlTypeSummarySections().constBegin(); - while (s != sections.stdQmlTypeSummarySections().constEnd()) { - if (!s->isEmpty()) { - QString ref = registerRef(s->title().toLower()); + const QVector
    &stdQmlTypeSummarySections = sections.stdQmlTypeSummarySections(); + for (const auto §ion : stdQmlTypeSummarySections) { + if (!section.isEmpty()) { + QString ref = registerRef(section.title().toLower()); out() << "" << divNavTop << '\n'; - out() << "

    " << protectEnc(s->title()) << "

    \n"; - generateQmlSummary(s->members(), qbtn, marker); + out() << "

    " << protectEnc(section.title()) << "

    \n"; + generateQmlSummary(section.members(), qbtn, marker); } - ++s; } generateExtractionMark(qbtn, DetailedDescriptionMark); @@ -1717,18 +1684,16 @@ void HtmlGenerator::generateQmlBasicTypePage(QmlBasicTypeNode *qbtn, CodeMarker generateAlsoList(qbtn, marker); generateExtractionMark(qbtn, EndMark); - s = sections.stdQmlTypeDetailsSections().constBegin(); - while (s != sections.stdQmlTypeDetailsSections().constEnd()) { - if (!s->isEmpty()) { - out() << "

    " << protectEnc(s->title()) << "

    \n"; - NodeVector::ConstIterator m = s->members().constBegin(); - while (m != s->members().constEnd()) { - generateDetailedQmlMember(*m, qbtn, marker); + const QVector
    &stdQmlTypeDetailsSections = sections.stdQmlTypeDetailsSections(); + for (const auto §ion : stdQmlTypeDetailsSections) { + if (!section.isEmpty()) { + out() << "

    " << protectEnc(section.title()) << "

    \n"; + const QVector members = section.members(); + for (const auto member : members) { + generateDetailedQmlMember(member, qbtn, marker); out() << "
    \n"; - ++m; } } - ++s; } generateFooter(qbtn); } @@ -1861,11 +1826,9 @@ void HtmlGenerator::generateGenericCollectionPage(CollectionNode *cn, CodeMarker generateText(brief, cn, marker); out() << "

    \n"; - NodeList::ConstIterator m = cn->members().constBegin(); - while (m != cn->members().constEnd()) { - generateDetailedMember(*m, cn, marker); - ++m; - } + const QList members = cn->members(); + for (const auto &member : members) + generateDetailedMember(member, cn, marker); // generateAnnotatedList(cn, marker, cn->members()); generateFooter(cn); @@ -2254,25 +2217,22 @@ void HtmlGenerator::generateRequisites(Aggregate *aggregate, CodeMarker *marker) } //add the inherits to the map - QList::ConstIterator r; - int index; if (!classe->baseClasses().isEmpty()) { + int index = 0; text.clear(); - r = classe->baseClasses().constBegin(); - index = 0; - while (r != classe->baseClasses().constEnd()) { - if ((*r).node_) { - appendFullName(text, (*r).node_, classe); + const auto baseClasses = classe->baseClasses(); + for (const auto &cls : baseClasses) { + if (cls.node_) { + appendFullName(text, cls.node_, classe); - if ((*r).access_ == Node::Protected) { + if (cls.access_ == Node::Protected) { text << " (protected)"; } - else if ((*r).access_ == Node::Private) { + else if (cls.access_ == Node::Private) { text << " (private)"; } text << comma(index++, classe->baseClasses().count()); } - ++r; } text << Atom::ParaRight; if (index > 0) @@ -2294,19 +2254,18 @@ void HtmlGenerator::generateRequisites(Aggregate *aggregate, CodeMarker *marker) //generate the table out() << "
    \n"; - QStringList::ConstIterator i; - for (i = requisiteorder.constBegin(); i != requisiteorder.constEnd(); ++i) { + for (auto it = requisiteorder.constBegin(); it != requisiteorder.constEnd(); ++it) { - if (requisites.contains(*i)) { + if (requisites.contains(*it)) { out() << "" << ""; } } @@ -2331,14 +2290,6 @@ void HtmlGenerator::generateQmlRequisites(QmlTypeNode *qcn, CodeMarker *marker) const QString inheritsText = "Inherits:"; const QString instantiatesText = "Instantiates:"; - //The order of the requisites matter - QStringList requisiteorder; - requisiteorder << importText - << sinceText - << instantiatesText - << inheritsText - << inheritedBytext; - //add the module name and version to the map QString logicalModuleVersion; const CollectionNode *collection = qdb_->getCollectionNode(qcn->logicalModuleName(), qcn->nodeType()); @@ -2414,23 +2365,29 @@ void HtmlGenerator::generateQmlRequisites(QmlTypeNode *qcn, CodeMarker *marker) requisites.insert(inheritedBytext, text); } + //The order of the requisites matter + const QStringList requisiteorder { + importText, + sinceText, + instantiatesText, + inheritsText, + inheritedBytext }; + if (!requisites.isEmpty()) { //generate the table out() << "
    " - << *i << ":" + << *it << ":" " "; - if (*i == headerText) - out() << requisites.value(*i).toString(); + if (*it == headerText) + out() << requisites.value(*it).toString(); else - generateText(requisites.value(*i), aggregate, marker); + generateText(requisites.value(*it), aggregate, marker); out() << "
    \n"; + for (const auto &requisite : requisiteorder) { - QStringList::ConstIterator i; - for (i = requisiteorder.constBegin(); i != requisiteorder.constEnd(); ++i) { - - if (requisites.contains(*i)) { + if (requisites.contains(requisite)) { out() << "" << ""; } } @@ -2524,26 +2481,24 @@ void HtmlGenerator::generateTableOfContents(const Node *node, node->isNamespace() || node->isQmlType() || node->isJsType())) { - SectionVector::ConstIterator s = sections->constBegin(); - while (s != sections->constEnd()) { - if (!s->members().isEmpty()) { + for (const auto §ion : qAsConst(*sections)) { + if (!section.members().isEmpty()) { out() << "
  • plural()) - << "\">" << s->title() + << registerRef(section.plural()) + << "\">" << section.title() << "
  • \n"; } - if (!s->reimplementedMembers().isEmpty()) { - QString ref = QString("Reimplemented ") + s->plural(); + if (!section.reimplementedMembers().isEmpty()) { + QString ref = QString("Reimplemented ") + section.plural(); out() << "
  • " << QString("Reimplemented ") + s->title() + << "\">" << QString("Reimplemented ") + section.title() << "
  • \n"; } - ++s; } if (!node->isNamespace() || node->hasDoc()) { out() << "
  • string().toInt() + detailsBase; //restrict the ToC depth to the one set by the HTML.tocdepth variable or //print all levels if tocDepth is not set. @@ -2722,22 +2676,18 @@ QString HtmlGenerator::generateObsoleteMembersFile(const Sections §ions, Cod << "They are provided to keep old source code working. " << "We strongly advise against using them in new code.

    \n"; - for (int i = 0; i < summary_spv.size(); ++i) { - out() << "

    " << protectEnc(summary_spv.at(i)->title()) << "

    \n"; - const Section §ion = *summary_spv.at(i); - generateSectionList(section, aggregate, marker, Section::Obsolete); + for (const auto §ion : summary_spv) { + out() << "

    " << protectEnc(section->title()) << "

    \n"; + generateSectionList(*section, aggregate, marker, Section::Obsolete); } - for (int i = 0; i < details_spv.size(); ++i) { - //out() << "
    \n"; - out() << "

    " << protectEnc(details_spv.at(i)->title()) << "

    \n"; + for (const auto §ion : details_spv) { + out() << "

    " << protectEnc(section->title()) << "

    \n"; - const NodeVector &members = details_spv.at(i)->obsoleteMembers(); - NodeVector::ConstIterator m = members.constBegin(); - while (m != members.constEnd()) { - if ((*m)->access() != Node::Private) - generateDetailedMember(*m, aggregate, marker); - ++m; + const NodeVector &members = section->obsoleteMembers(); + for (const auto &member : members) { + if (member->access() != Node::Private) + generateDetailedMember(member, aggregate, marker); } } @@ -2782,22 +2732,20 @@ QString HtmlGenerator::generateObsoleteQmlMembersFile(const Sections §ions, << "They are provided to keep old source code working. " << "We strongly advise against using them in new code.

    \n"; - for (int i = 0; i < summary_spv.size(); ++i) { - QString ref = registerRef(summary_spv.at(i)->title().toLower()); + for (const auto §ion : summary_spv) { + QString ref = registerRef(section->title().toLower()); out() << "" << divNavTop << '\n'; - out() << "

    " << protectEnc(summary_spv.at(i)->title()) << "

    \n"; - generateQmlSummary(summary_spv.at(i)->obsoleteMembers(), aggregate, marker); + out() << "

    " << protectEnc(section->title()) << "

    \n"; + generateQmlSummary(section->obsoleteMembers(), aggregate, marker); } - for (int i = 0; i < details_spv.size(); ++i) { - out() << "

    " << protectEnc(details_spv.at(i)->title()) << "

    \n"; - const NodeVector &members = details_spv.at(i)->obsoleteMembers(); - NodeVector::ConstIterator m = members.constBegin(); - while (m != members.constEnd()) { - generateDetailedQmlMember(*m, aggregate, marker); + for (const auto §ion : details_spv) { + out() << "

    " << protectEnc(section->title()) << "

    \n"; + const NodeVector &members = section->obsoleteMembers(); + for (const auto &member : members) { + generateDetailedQmlMember(member, aggregate, marker); out() << "
    \n"; - ++m; } } @@ -2812,12 +2760,10 @@ void HtmlGenerator::generateClassHierarchy(const Node *relative, NodeMap &classM return; NodeMap topLevel; - NodeMap::Iterator c = classMap.begin(); - while (c != classMap.end()) { - ClassNode *classe = static_cast(*c); + for (auto it = classMap.begin(); it != classMap.end(); ++it) { + ClassNode *classe = static_cast(*it); if (classe->baseClasses().isEmpty()) topLevel.insert(classe->name(), classe); - ++c; } QStack stack; @@ -2970,8 +2916,7 @@ void HtmlGenerator::generateCompactList(ListType listType, QString paragraphName[NumParagraphs+1]; QSet usedParagraphNames; - NodeMultiMap::ConstIterator c = nmm.constBegin(); - while (c != nmm.constEnd()) { + for (auto c = nmm.constBegin(); c != nmm.constEnd(); ++c) { QStringList pieces = c.key().split("::"); int idx = commonPrefixLen; if (idx > 0 && !pieces.last().startsWith(commonPrefix, Qt::CaseInsensitive)) @@ -2991,7 +2936,6 @@ void HtmlGenerator::generateCompactList(ListType listType, paragraphName[paragraphNr] = key[0].toUpper(); usedParagraphNames.insert(key[0].toLower().cell()); paragraph[paragraphNr].insert(last, c.value()); - ++c; } /* @@ -3136,26 +3080,22 @@ void HtmlGenerator::generateFunctionIndex(const Node *relative) out() << "
      \n"; NodeMapMap &funcIndex = qdb_->getFunctionIndex(); - QMap::ConstIterator f = funcIndex.constBegin(); - while (f != funcIndex.constEnd()) { + for (auto fnMap = funcIndex.constBegin(); fnMap != funcIndex.constEnd(); ++fnMap) { out() << "
    • "; - out() << protectEnc(f.key()) << ':'; + out() << protectEnc(fnMap.key()) << ':'; - currentLetter = f.key()[0].unicode(); + currentLetter = fnMap.key()[0].unicode(); while (islower(currentLetter) && currentLetter >= nextLetter) { out() << QString("").arg(nextLetter); nextLetter++; } - NodeMap::ConstIterator s = (*f).constBegin(); - while (s != (*f).constEnd()) { + for (auto it = (*fnMap).constBegin(); it != (*fnMap).constEnd(); ++it) { out() << ' '; - generateFullName((*s)->parent(), relative, *s); - ++s; + generateFullName((*it)->parent(), relative, *it); } out() << "
    • "; out() << '\n'; - ++f; } out() << "
    \n"; } @@ -3294,12 +3234,9 @@ void HtmlGenerator::generateSection(const NodeVector &nv, const Node *relative, } int i = 0; - NodeVector::ConstIterator m = nv.constBegin(); - while (m != nv.constEnd()) { - if ((*m)->access() == Node::Private) { - ++m; + for (const auto &member : nv) { + if (member->access() == Node::Private) continue; - } if (alignNames) { out() << "
  • \n"; else out() << "\n"; i++; - ++m; } if (alignNames) out() << "
    " - << *i + << requisite << " "; - if (*i == importText) - out()<
    "; @@ -3310,13 +3247,12 @@ void HtmlGenerator::generateSection(const NodeVector &nv, const Node *relative, out() << "
  • "; } - generateSynopsis(*m, relative, marker, Section::Summary, alignNames); + generateSynopsis(member, relative, marker, Section::Summary, alignNames); if (alignNames) out() << "
  • \n"; @@ -3357,12 +3293,9 @@ void HtmlGenerator::generateSectionList(const Section& section, } int i = 0; - NodeVector::ConstIterator m = members.constBegin(); - while (m != members.constEnd()) { - if ((*m)->access() == Node::Private) { - ++m; + for (const auto &member : members) { + if (member->access() == Node::Private) continue; - } if (alignNames) { out() << " "; @@ -3379,9 +3312,9 @@ void HtmlGenerator::generateSectionList(const Section& section, prefix = keys.at(i).mid(1); prefix = prefix.left(keys.at(i).indexOf("::") + 1); } - generateSynopsis(*m, relative, marker, section.style(), alignNames, &prefix); - if ((*m)->isFunction()) { - const FunctionNode *fn = static_cast(*m); + generateSynopsis(member, relative, marker, section.style(), alignNames, &prefix); + if (member->isFunction()) { + const FunctionNode *fn = static_cast(member); if (fn->isPrivateSignal()) { hasPrivateSignals = true; if (alignNames) @@ -3398,7 +3331,6 @@ void HtmlGenerator::generateSectionList(const Section& section, else out() << "\n"; i++; - ++m; } if (alignNames) out() << "
    \n"; @@ -3422,21 +3354,20 @@ void HtmlGenerator::generateSectionList(const Section& section, void HtmlGenerator::generateSectionInheritedList(const Section& section, const Node *relative) { - QList >::ConstIterator p = section.inheritedMembers().constBegin(); - while (p != section.inheritedMembers().constEnd()) { + const QList> &inheritedMembers = section.inheritedMembers(); + for (const auto &member : inheritedMembers) { out() << "
  • "; - out() << (*p).second << ' '; - if ((*p).second == 1) { + out() << member.second << ' '; + if (member.second == 1) { out() << section.singular(); } else { out() << section.plural(); } - out() << " inherited from " - << protectEnc((*p).first->plainFullName(relative)) + << protectEnc(member.first->plainFullName(relative)) << "
  • \n"; - ++p; } } @@ -3918,28 +3849,25 @@ void HtmlGenerator::generateQmlSummary(const NodeVector &members, { if (!members.isEmpty()) { out() << "
      \n"; - NodeVector::const_iterator m = members.constBegin(); - while (m != members.constEnd()) { + for (const auto &member : members) { out() << "
    • "; - generateQmlItem(*m, relative, marker, true); - if ((*m)->isPropertyGroup()) { - const SharedCommentNode *scn = static_cast(*m); + generateQmlItem(member, relative, marker, true); + if (member->isPropertyGroup()) { + const SharedCommentNode *scn = static_cast(member); if (scn->count() > 0) { - QVector::ConstIterator p = scn->collective().constBegin(); out() << "
        \n"; - while (p != scn->collective().constEnd()) { - if ((*p)->isQmlProperty() || (*p)->isJsProperty()) { + const QVector sharedNodes = scn->collective(); + for (const auto &node : sharedNodes) { + if (node->isQmlProperty() || node->isJsProperty()) { out() << "
      • "; - generateQmlItem(*p, relative, marker, true); + generateQmlItem(node, relative, marker, true); out() << "
      • \n"; } - ++p; } out() << "
      \n"; } } out() << "
    • \n"; - ++m; } out() << "
    \n"; } @@ -3973,7 +3901,6 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, QString nodeRef; if (node->isPropertyGroup()) { const SharedCommentNode *scn = static_cast(node); - QVector::ConstIterator p = scn->collective().constBegin(); out() << "
    "; out() << "
    "; if (!scn->name().isEmpty()) { @@ -3985,9 +3912,10 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, out() << "" << heading << ""; out() << "

    "; } - while (p != scn->collective().constEnd()) { - if ((*p)->isQmlProperty() || (*p)->isJsProperty()) { - qpn = static_cast(*p); + const QVector sharedNodes = scn->collective(); + for (const auto &node : sharedNodes) { + if (node->isQmlProperty() || node->isJsProperty()) { + qpn = static_cast(node); nodeRef = refForNode(qpn); out() << ""; out() << ""; } - ++p; } out() << "

    "; @@ -4000,7 +3928,6 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, generateQmlItem(qpn, relative, marker, false); out() << "

    "; out() << "
    "; @@ -4023,19 +3950,19 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, out() << qmlItemFooter; } else if (node->isSharedCommentNode()) { const SharedCommentNode *scn = reinterpret_cast(node); - const QVector &collective = scn->collective(); - if (collective.size() > 1) + const QVector &sharedNodes = scn->collective(); + if (sharedNodes.size() > 1) out() << "
    \n"; out() << qmlItemHeader; - for (const auto m : collective) { - if (m->isFunction(Node::QML) || m->isFunction(Node::JS)) { - out() << qmlItemStart.arg(nodeRef, "tblQmlFuncNode", refForNode(m)); - generateSynopsis(m, relative, marker, Section::Details, false); + for (const auto &node : sharedNodes) { + if (node->isFunction(Node::QML) || node->isFunction(Node::JS)) { + out() << qmlItemStart.arg(nodeRef, "tblQmlFuncNode", refForNode(node)); + generateSynopsis(node, relative, marker, Section::Details, false); out() << qmlItemEnd; } } out() << qmlItemFooter; - if (collective.size() > 1) + if (sharedNodes.size() > 1) out() << "
    "; } else { // assume the node is a method/signal handler out() << qmlItemHeader; @@ -4212,9 +4139,8 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString demos = true; bool proceed = false; - ExampleNodeMap::Iterator i = exampleNodeMap.begin(); - while (i != exampleNodeMap.end()) { - const ExampleNode *en = i.value(); + for (auto map = exampleNodeMap.begin(); map != exampleNodeMap.end(); ++map) { + const ExampleNode *en = map.value(); if (demos) { if (en->name().startsWith("demos")) { proceed = true; @@ -4225,7 +4151,6 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString proceed = true; break; } - ++i; } if (!proceed || !file.open(QFile::WriteOnly | QFile::Text)) return; @@ -4238,17 +4163,12 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString writer.writeStartElement(manifest); QStringList usedAttributes; - i = exampleNodeMap.begin(); - while (i != exampleNodeMap.end()) { - const ExampleNode *en = i.value(); + for (auto map = exampleNodeMap.begin(); map != exampleNodeMap.end(); ++map) { + const ExampleNode *en = map.value(); if (demos) { - if (!en->name().startsWith("demos")) { - ++i; + if (!en->name().startsWith("demos")) continue; - } - } - else if (en->name().startsWith("demos")) { - ++i; + } else if (en->name().startsWith("demos")) { continue; } // attributes that are always written for the element @@ -4423,8 +4343,7 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString } } - QMap::const_iterator it = filesToOpen.constEnd(); - while (it != filesToOpen.constBegin()) { + for (auto it = filesToOpen.constEnd(); it != filesToOpen.constBegin(); ) { writer.writeStartElement("fileToOpen"); if (--it == filesToOpen.constBegin()) { writer.writeAttribute(QStringLiteral("mainFile"), QStringLiteral("true")); @@ -4434,7 +4353,6 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString } writer.writeEndElement(); // example - ++i; } writer.writeEndElement(); // examples diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp index a681231b5..73289986c 100644 --- a/src/qdoc/main.cpp +++ b/src/qdoc/main.cpp @@ -292,13 +292,12 @@ static void processQdocconfFile(const QString &fileName, Config &config) but only if they haven't already been loaded. This works in both -prepare/-generate mode and -singleexec mode. */ - QStringList fileNames = config.getStringList(CONFIG_TRANSLATORS); - QStringList::ConstIterator fn = fileNames.constBegin(); - while (fn != fileNames.constEnd()) { + const QStringList fileNames = config.getStringList(CONFIG_TRANSLATORS); + for (const auto &fileName : fileNames) { bool found = false; if (!translators.isEmpty()) { for (int i=0; iload(*fn)) { - config.lastLocation().error(QCoreApplication::translate("QDoc", "Cannot load translator '%1'").arg(*fn)); + if (!translator->load(fileName)) { + config.lastLocation().error(QCoreApplication::translate("QDoc", "Cannot load translator '%1'").arg(fileName)); } else { QCoreApplication::instance()->installTranslator(translator); - translators.append(Translator(*fn, translator)); + translators.append(Translator(fileName, translator)); } } - ++fn; } #endif @@ -452,15 +450,13 @@ static void processQdocconfFile(const QString &fileName, Config &config) qCDebug(lcQdoc, "Parsing header files"); int parsed = 0; - QMap::ConstIterator h = headers.constBegin(); - while (h != headers.constEnd()) { - CodeParser *codeParser = CodeParser::parserForHeaderFile(h.key()); + for (auto it = headers.constBegin(); it != headers.constEnd(); ++it) { + CodeParser *codeParser = CodeParser::parserForHeaderFile(it.key()); if (codeParser) { ++parsed; - qCDebug(lcQdoc, "Parsing %s", qPrintable(h.key())); - codeParser->parseHeaderFile(config.location(), h.key()); + qCDebug(lcQdoc, "Parsing %s", qPrintable(it.key())); + codeParser->parseHeaderFile(config.location(), it.key()); } - ++h; } clangParser_->precompileHeaders(); @@ -471,15 +467,13 @@ static void processQdocconfFile(const QString &fileName, Config &config) */ parsed = 0; Location::logToStdErrAlways("Parse source files for " + project); - QMap::ConstIterator s = sources.constBegin(); - while (s != sources.constEnd()) { - CodeParser *codeParser = CodeParser::parserForSourceFile(s.key()); + for (const auto &key : sources.keys()) { + auto *codeParser = CodeParser::parserForSourceFile(key); if (codeParser) { ++parsed; - qCDebug(lcQdoc, "Parsing %s", qPrintable(s.key())); - codeParser->parseSourceFile(config.location(), s.key()); + qCDebug(lcQdoc, "Parsing %s", qPrintable(key)); + codeParser->parseSourceFile(config.location(), key); } - ++s; } Location::logToStdErrAlways("Source files parsed for " + project); } @@ -499,15 +493,13 @@ static void processQdocconfFile(const QString &fileName, Config &config) one. */ qCDebug(lcQdoc, "Generating docs"); - QSet::ConstIterator of = outputFormats.constBegin(); - while (of != outputFormats.constEnd()) { - Generator *generator = Generator::generatorForFormat(*of); + for (const auto &format : outputFormats) { + auto *generator = Generator::generatorForFormat(format); if (generator == nullptr) outputFormatsLocation.fatal(QCoreApplication::translate("QDoc", - "Unknown output format '%1'").arg(*of)); + "Unknown output format '%1'").arg(format)); generator->initializeFormat(config); generator->generateDocs(); - ++of; } qdb->clearLinkCounts(); diff --git a/src/qdoc/node.cpp b/src/qdoc/node.cpp index 0f3098a04..054b6697f 100644 --- a/src/qdoc/node.cpp +++ b/src/qdoc/node.cpp @@ -2035,16 +2035,16 @@ void Aggregate::findChildren(const QString &name, NodeVector &nodes) const { nodes.clear(); int nonfunctionCount = nonfunctionMap_.count(name); - FunctionMap::const_iterator i = functionMap_.find(name); - if (i != functionMap_.end()) { + auto it = functionMap_.find(name); + if (it != functionMap_.end()) { int functionCount = 0; - FunctionNode *fn = i.value(); + FunctionNode *fn = it.value(); while (fn != nullptr) { ++functionCount; fn = fn->nextOverload(); } nodes.reserve(nonfunctionCount + functionCount); - fn = i.value(); + fn = it.value(); while (fn != nullptr) { nodes.append(fn); fn = fn->nextOverload(); @@ -2053,10 +2053,9 @@ void Aggregate::findChildren(const QString &name, NodeVector &nodes) const nodes.reserve(nonfunctionCount); } if (nonfunctionCount > 0) { - NodeMap::const_iterator i = nonfunctionMap_.find(name); - while (i != nonfunctionMap_.end() && i.key() == name) { - nodes.append(i.value()); - ++i; + for (auto it = nonfunctionMap_.find(name); + it != nonfunctionMap_.end() && it.key() == name; ++it) { + nodes.append(it.value()); } } } @@ -2088,10 +2087,10 @@ Node *Aggregate::findNonfunctionChild(const QString &name, bool (Node::*isMatch) */ FunctionNode *Aggregate::findFunctionChild(const QString &name, const Parameters ¶meters) { - FunctionMap::iterator i = functionMap_.find(name); - if (i == functionMap_.end()) + auto it = functionMap_.find(name); + if (it == functionMap_.end()) return nullptr; - FunctionNode *fn = i.value(); + FunctionNode *fn = it.value(); if (parameters.isEmpty() && fn->parameters().isEmpty() && !fn->isInternal()) return fn; @@ -2114,10 +2113,10 @@ FunctionNode *Aggregate::findFunctionChild(const QString &name, const Parameters } if (parameters.isEmpty()) { - for (fn = i.value(); fn != nullptr; fn = fn->nextOverload()) + for (fn = it.value(); fn != nullptr; fn = fn->nextOverload()) if (!fn->isInternal()) return fn; - return i.value(); + return it.value(); } return nullptr; } @@ -2184,14 +2183,13 @@ void Aggregate::normalizeOverloads() Ensure that none of the primary functions is inactive, private, or marked \e {overload}. */ - FunctionMap::Iterator i = functionMap_.begin(); - while (i != functionMap_.end()) { - FunctionNode *fn = i.value(); + for (auto it = functionMap_.begin(); it != functionMap_.end(); ++it) { + FunctionNode *fn = it.value(); if (fn->isOverload()) { FunctionNode *primary = fn->findPrimaryFunction(); if (primary) { primary->setNextOverload(fn); - i.value() = primary; + it.value() = primary; fn = primary; } else { fn->clearOverloadFlag(); @@ -2222,7 +2220,7 @@ void Aggregate::normalizeOverloads() internalFn->setOverloadNumber(++count); internalFn = internalFn->nextOverload(); } - ++i; // process next function in function map. + // process next function in function map. } /* Recursive part. @@ -2362,11 +2360,11 @@ bool Aggregate::isSameSignature(const FunctionNode *f1, const FunctionNode *f2) */ void Aggregate::addFunction(FunctionNode *fn) { - FunctionMap::iterator i = functionMap_.find(fn->name()); - if (i == functionMap_.end()) + auto it = functionMap_.find(fn->name()); + if (it == functionMap_.end()) functionMap_.insert(fn->name(), fn); else - i.value()->appendOverload(fn); + it.value()->appendOverload(fn); functionCount_++; } @@ -2382,8 +2380,8 @@ void Aggregate::addFunction(FunctionNode *fn) */ void Aggregate::adoptFunction(FunctionNode *fn) { - FunctionMap::iterator i = functionMap_.find(fn->name()); - if (i == functionMap_.end()) + auto it = functionMap_.find(fn->name()); + if (it == functionMap_.end()) functionMap_.insert(fn->name(), fn); functionCount_++; } @@ -2530,8 +2528,8 @@ QmlPropertyNode *Aggregate::hasQmlProperty(const QString &n, bool attached) cons */ bool Aggregate::hasOverloads(const FunctionNode *fn) const { - FunctionMap::const_iterator i = functionMap_.find(fn->name()); - return (i == functionMap_.end() ? false : (i.value()->nextOverload() != nullptr)); + auto it = functionMap_.find(fn->name()); + return (it == functionMap_.end() ? false : (it.value()->nextOverload() != nullptr)); } /*! @@ -2565,19 +2563,19 @@ void Aggregate::printChildren(const QString &title) */ void Aggregate::removeFunctionNode(FunctionNode *fn) { - FunctionMap::Iterator i = functionMap_.find(fn->name()); - if (i != functionMap_.end()) { - if (i.value() == fn) { + auto it = functionMap_.find(fn->name()); + if (it != functionMap_.end()) { + if (it.value() == fn) { if (fn->nextOverload() != nullptr) { - i.value() = fn->nextOverload(); + it.value() = fn->nextOverload(); fn->setNextOverload(nullptr); fn->setOverloadNumber(0); } else { - functionMap_.erase(i); + functionMap_.erase(it); } } else { - FunctionNode *current = i.value(); + FunctionNode *current = it.value(); while (current != nullptr) { if (current->nextOverload() == fn) { current->setNextOverload(fn->nextOverload()); @@ -2620,9 +2618,8 @@ static bool keep(FunctionNode *fn) */ void Aggregate::findAllFunctions(NodeMapMap &functionIndex) { - FunctionMap::const_iterator i; - for (i = functionMap_.constBegin(); i != functionMap_.constEnd(); ++i) { - FunctionNode *fn = i.value(); + for (auto it = functionMap_.constBegin(); it != functionMap_.constEnd(); ++it) { + FunctionNode *fn = it.value(); if (keep(fn)) functionIndex[fn->name()].insert(fn->parent()->fullDocumentName(), fn); fn = fn->nextOverload(); @@ -2771,15 +2768,15 @@ void Aggregate::findAllSince() QString sinceString = node->since(); // Insert a new entry into each map for each new since string found. if (!node->isPrivate() && !sinceString.isEmpty()) { - NodeMultiMapMap::iterator nsmap = QDocDatabase::newSinceMaps().find(sinceString); + auto nsmap = QDocDatabase::newSinceMaps().find(sinceString); if (nsmap == QDocDatabase::newSinceMaps().end()) nsmap = QDocDatabase::newSinceMaps().insert(sinceString, NodeMultiMap()); - NodeMapMap::iterator ncmap = QDocDatabase::newClassMaps().find(sinceString); + auto ncmap = QDocDatabase::newClassMaps().find(sinceString); if (ncmap == QDocDatabase::newClassMaps().end()) ncmap = QDocDatabase::newClassMaps().insert(sinceString, NodeMap()); - NodeMapMap::iterator nqcmap = QDocDatabase::newQmlTypeMaps().find(sinceString); + auto nqcmap = QDocDatabase::newQmlTypeMaps().find(sinceString); if (nqcmap == QDocDatabase::newQmlTypeMaps().end()) nqcmap = QDocDatabase::newQmlTypeMaps().insert(sinceString, NodeMap()); @@ -2995,9 +2992,8 @@ void ClassNode::removePrivateAndInternalBases() */ void ClassNode::resolvePropertyOverriddenFromPtrs(PropertyNode *pn) { - QList::const_iterator bc = baseClasses().constBegin(); - while (bc != baseClasses().constEnd()) { - ClassNode *cn = bc->node_; + for (const auto &baseClass : qAsConst(baseClasses())) { + ClassNode *cn = baseClass.node_; if (cn) { Node *n = cn->findNonfunctionChild(pn->name(), &Node::isProperty); if (n) { @@ -3008,7 +3004,6 @@ void ClassNode::resolvePropertyOverriddenFromPtrs(PropertyNode *pn) else cn->resolvePropertyOverriddenFromPtrs(pn); } - ++bc; } } @@ -3451,12 +3446,11 @@ QmlTypeNode *ClassNode::findQmlBaseNode() */ FunctionNode *ClassNode::findOverriddenFunction(const FunctionNode *fn) { - QList::Iterator bc = bases_.begin(); - while (bc != bases_.end()) { - ClassNode *cn = bc->node_; + for (auto &bc : bases_) { + ClassNode *cn = bc.node_; if (cn == nullptr) { - cn = QDocDatabase::qdocDB()->findClassNode(bc->path_); - bc->node_ = cn; + cn = QDocDatabase::qdocDB()->findClassNode(bc.path_); + bc.node_ = cn; } if (cn != nullptr) { FunctionNode *result = cn->findFunctionChild(fn); @@ -3466,7 +3460,6 @@ FunctionNode *ClassNode::findOverriddenFunction(const FunctionNode *fn) if (result != nullptr && !result->isNonvirtual()) return result; } - ++bc; } return nullptr; } @@ -3480,31 +3473,27 @@ FunctionNode *ClassNode::findOverriddenFunction(const FunctionNode *fn) */ PropertyNode *ClassNode::findOverriddenProperty(const FunctionNode *fn) { - QList::Iterator bc = bases_.begin(); - while (bc != bases_.end()) { - ClassNode *cn = bc->node_; + for (auto &baseClass : bases_) { + ClassNode *cn = baseClass.node_; if (cn == nullptr) { - cn = QDocDatabase::qdocDB()->findClassNode(bc->path_); - bc->node_ = cn; + cn = QDocDatabase::qdocDB()->findClassNode(baseClass.path_); + baseClass.node_ = cn; } if (cn != nullptr) { const NodeList &children = cn->childNodes(); - NodeList::const_iterator i = children.begin(); - while (i != children.end()) { - if ((*i)->isProperty()) { - PropertyNode *pn = static_cast(*i); + for (const auto &child : children) { + if (child->isProperty()) { + PropertyNode *pn = static_cast(child); if (pn->name() == fn->name() || pn->hasAccessFunction(fn->name())) { if (pn->hasDoc()) return pn; } } - i++; } PropertyNode *result = cn->findOverriddenProperty(fn); if (result != nullptr) return result; } - ++bc; } return nullptr; } @@ -4488,29 +4477,21 @@ QString PropertyNode::qualifiedDataType() const */ bool PropertyNode::hasAccessFunction(const QString &name) const { - NodeList::const_iterator i = getters().begin(); - while (i != getters().end()) { - if ((*i)->name() == name) + for (const auto &getter : getters()) { + if (getter->name() == name) return true; - ++i; } - i = setters().begin(); - while (i != setters().end()) { - if ((*i)->name() == name) + for (const auto &setter : setters()) { + if (setter->name() == name) return true; - ++i; } - i = resetters().begin(); - while (i != resetters().end()) { - if ((*i)->name() == name) + for (const auto &resetter : resetters()) { + if (resetter->name() == name) return true; - ++i; } - i = notifiers().begin(); - while (i != notifiers().end()) { - if ((*i)->name() == name) + for (const auto ¬ifier : notifiers()) { + if (notifier->name() == name) return true; - ++i; } return false; } @@ -4833,11 +4814,9 @@ void CollectionNode::addMember(Node *node) bool CollectionNode::hasNamespaces() const { if (!members_.isEmpty()) { - NodeList::const_iterator i = members_.begin(); - while (i != members_.end()) { - if ((*i)->isNamespace()) + for (const auto &member : qAsConst(members_)) { + if (member->isNamespace()) return true; - ++i; } } return false; @@ -4850,11 +4829,9 @@ bool CollectionNode::hasNamespaces() const bool CollectionNode::hasClasses() const { if (!members_.isEmpty()) { - NodeList::const_iterator i = members_.cbegin(); - while (i != members_.cend()) { - if ((*i)->isClassNode()) + for (const auto &member : qAsConst(members_)) { + if (member->isClassNode()) return true; - ++i; } } return false; @@ -4867,11 +4844,9 @@ bool CollectionNode::hasClasses() const void CollectionNode::getMemberNamespaces(NodeMap& out) { out.clear(); - NodeList::const_iterator i = members_.cbegin(); - while (i != members_.cend()) { - if ((*i)->isNamespace()) - out.insert((*i)->name(), (*i)); - ++i; + for (const auto &member : qAsConst(members_)) { + if (member->isNamespace()) + out.insert(member->name(), member); } } @@ -4882,11 +4857,9 @@ void CollectionNode::getMemberNamespaces(NodeMap& out) void CollectionNode::getMemberClasses(NodeMap& out) const { out.clear(); - NodeList::const_iterator i = members_.cbegin(); - while (i != members_.cend()) { - if ((*i)->isClassNode()) - out.insert((*i)->name(), (*i)); - ++i; + for (const auto &i : qAsConst(members_)) { + if (i->isClassNode()) + out.insert(i->name(), i); } } @@ -4898,10 +4871,8 @@ void CollectionNode::printMembers(const QString &title) { qDebug() << title << name() << members_.size(); if (members_.size() > 0) { - for (int i=0; iname() << n->nodeTypeString(); - } + for (const auto &member : qAsConst(members_)) + qDebug() << " MEMBER:" << member->name() << member->nodeTypeString(); } } diff --git a/src/qdoc/qdocdatabase.cpp b/src/qdoc/qdocdatabase.cpp index 311b19db7..36491fc8f 100644 --- a/src/qdoc/qdocdatabase.cpp +++ b/src/qdoc/qdocdatabase.cpp @@ -186,12 +186,11 @@ void QDocForest::setSearchOrder(const QStringList &t) moduleNames_.append(primaryName); forest_.remove(primaryName); - QMap::iterator i; for (const QString &m : t) { if (primaryName != m) { - i = forest_.find(m); - if (i != forest_.end()) { - searchOrder_.append(i.value()); + auto it = forest_.find(m); + if (it != forest_.end()) { + searchOrder_.append(it.value()); moduleNames_.append(m); forest_.remove(m); } @@ -203,11 +202,9 @@ void QDocForest::setSearchOrder(const QStringList &t) know any better at this point. */ if (!forest_.isEmpty()) { - i = forest_.begin(); - while (i != forest_.end()) { - searchOrder_.append(i.value()); - moduleNames_.append(i.key()); - ++i; + for (auto it = forest_.begin(); it != forest_.end(); ++it) { + searchOrder_.append(it.value()); + moduleNames_.append(it.key()); } forest_.clear(); } @@ -349,17 +346,15 @@ void QDocForest::printLinkCounts(const QString &project) } QString depends = "depends +="; QString module = project.toLower(); - QMultiMap::iterator i = m.begin(); - while (i != m.end()) { - QString line = " " + i.value(); - if (i.value() != module) - depends += QLatin1Char(' ') + i.value(); + for (auto it = m.begin(); it != m.end(); ++it) { + QString line = " " + it.value(); + if (it.value() != module) + depends += QLatin1Char(' ') + it.value(); int pad = 30 - line.length(); for (int k=0; k &counts) } QString depends = "depends +="; QString module = Generator::defaultModuleName().toLower(); - QMultiMap::iterator i = m.begin(); - while (i != m.end()) { - if (i.value() != module) { - counts.append(-(i.key())); - strings.append(i.value()); - depends += QLatin1Char(' ') + i.value(); + for (auto it = m.begin(); it != m.end(); ++it) { + if (it.value() != module) { + counts.append(-(it.key())); + strings.append(it.value()); + depends += QLatin1Char(' ') + it.value(); } - ++i; } return depends; } @@ -1032,15 +1025,13 @@ NodeMapMap &QDocDatabase::getFunctionIndex() */ void QDocDatabase::findAllLegaleseTexts(Aggregate *node) { - NodeList::ConstIterator c = node->constBegin(); - while (c != node->constEnd()) { - if (!(*c)->isPrivate()) { - if (!(*c)->doc().legaleseText().isEmpty()) - legaleseTexts_.insertMulti((*c)->doc().legaleseText(), *c); - if ((*c)->isAggregate()) - findAllLegaleseTexts(static_cast(*c)); + for (auto it = node->constBegin(); it != node->constEnd(); ++it) { + if (!(*it)->isPrivate()) { + if (!(*it)->doc().legaleseText().isEmpty()) + legaleseTexts_.insertMulti((*it)->doc().legaleseText(), *it); + if ((*it)->isAggregate()) + findAllLegaleseTexts(static_cast(*it)); } - ++c; } } @@ -1072,9 +1063,9 @@ const NodeMap &QDocDatabase::getClassMap(const QString &key) { if (newSinceMaps_.isEmpty() && newClassMaps_.isEmpty() && newQmlTypeMaps_.isEmpty()) processForest(&QDocDatabase::findAllSince); - NodeMapMap::const_iterator i = newClassMaps_.constFind(key); - if (i != newClassMaps_.constEnd()) - return i.value(); + auto it = newClassMaps_.constFind(key); + if (it != newClassMaps_.constEnd()) + return it.value(); return emptyNodeMap_; } @@ -1087,9 +1078,9 @@ const NodeMap &QDocDatabase::getQmlTypeMap(const QString &key) { if (newSinceMaps_.isEmpty() && newClassMaps_.isEmpty() && newQmlTypeMaps_.isEmpty()) processForest(&QDocDatabase::findAllSince); - NodeMapMap::const_iterator i = newQmlTypeMaps_.constFind(key); - if (i != newQmlTypeMaps_.constEnd()) - return i.value(); + auto it = newQmlTypeMaps_.constFind(key); + if (it != newQmlTypeMaps_.constEnd()) + return it.value(); return emptyNodeMap_; } @@ -1102,9 +1093,9 @@ const NodeMap &QDocDatabase::getSinceMap(const QString &key) { if (newSinceMaps_.isEmpty() && newClassMaps_.isEmpty() && newQmlTypeMaps_.isEmpty()) processForest(&QDocDatabase::findAllSince); - NodeMultiMapMap::const_iterator i = newSinceMaps_.constFind(key); - if (i != newSinceMaps_.constEnd()) - return i.value(); + auto it = newSinceMaps_.constFind(key); + if (it != newSinceMaps_.constEnd()) + return it.value(); return emptyNodeMultiMap_; } @@ -1232,12 +1223,11 @@ void QDocDatabase::resolveNamespaces() for (auto *node : namespaces) { auto *nameSpaceNode = static_cast(node); if (nameSpaceNode != ns) { - NodeList::ConstIterator c = nameSpaceNode->constBegin(); - while (c != nameSpaceNode->constEnd()) { - Node *N = *c; + for (auto it = nameSpaceNode->constBegin(); + it != nameSpaceNode->constEnd(); ++it) { + Node *N = *it; if (N && N->isPublic() && !N->isInternal()) ns->includeChild(N); - ++c; } } } @@ -1326,9 +1316,9 @@ const Node *QDocDatabase::findTypeNode(const QString &type, const Node *relative { QStringList path = type.split("::"); if ((path.size() == 1) && (path.at(0)[0].isLower() || path.at(0) == QString("T"))) { - NodeMap::iterator i = typeNodeMap_.find(path.at(0)); - if (i != typeNodeMap_.end()) - return i.value(); + auto it = typeNodeMap_.find(path.at(0)); + if (it != typeNodeMap_.end()) + return it.value(); } return forest_.findTypeNode(path, relative, genus); } @@ -1445,11 +1435,9 @@ void QDocDatabase::mergeCollections(Node::NodeType type, CNMap &cnm, const Node for (auto *tree : searchOrder()) { CNMap *m = tree->getCollectionMap(type); if (m && !m->isEmpty()) { - CNMap::const_iterator i = m->cbegin(); - while (i != m->cend()) { - if (!i.value()->isInternal()) - cnmm.insert(i.key(), i.value()); - ++i; + for (auto it = m->cbegin(); it != m->cend(); ++it) { + if (!it.value()->isInternal()) + cnmm.insert(it.key(), it.value()); } } } diff --git a/src/qdoc/qdocindexfiles.cpp b/src/qdoc/qdocindexfiles.cpp index 9ded66abb..0d284f6bf 100644 --- a/src/qdoc/qdocindexfiles.cpp +++ b/src/qdoc/qdocindexfiles.cpp @@ -1450,14 +1450,12 @@ void QDocIndexFiles::generateFunctionSections(QXmlStreamWriter &writer, Aggregat { FunctionMap &functionMap = aggregate->functionMap(); if (!functionMap.isEmpty()) { - FunctionMap::iterator i = functionMap.begin(); - while (i != functionMap.end()) { - FunctionNode *fn = i.value(); + for (auto it = functionMap.begin(); it != functionMap.end(); ++it) { + FunctionNode *fn = it.value(); while (fn != nullptr) { generateFunctionSection(writer, fn); fn = fn->nextOverload(); } - i++; } } } @@ -1497,41 +1495,33 @@ void QDocIndexFiles::generateIndexSections(QXmlStreamWriter &writer, Node *node, */ const CNMap &groups = qdb_->groups(); if (!groups.isEmpty()) { - CNMap::ConstIterator g = groups.constBegin(); - while (g != groups.constEnd()) { - if (generateIndexSection(writer, g.value(), post)) + for (auto it = groups.constBegin(); it != groups.constEnd(); ++it) { + if (generateIndexSection(writer, it.value(), post)) writer.writeEndElement(); - ++g; } } const CNMap &modules = qdb_->modules(); if (!modules.isEmpty()) { - CNMap::ConstIterator g = modules.constBegin(); - while (g != modules.constEnd()) { - if (generateIndexSection(writer, g.value(), post)) + for (auto it = modules.constBegin(); it != modules.constEnd(); ++it) { + if (generateIndexSection(writer, it.value(), post)) writer.writeEndElement(); - ++g; } } const CNMap &qmlModules = qdb_->qmlModules(); if (!qmlModules.isEmpty()) { - CNMap::ConstIterator g = qmlModules.constBegin(); - while (g != qmlModules.constEnd()) { - if (generateIndexSection(writer, g.value(), post)) + for (auto it = qmlModules.constBegin(); it != qmlModules.constEnd(); ++it) { + if (generateIndexSection(writer, it.value(), post)) writer.writeEndElement(); - ++g; } } const CNMap &jsModules = qdb_->jsModules(); if (!jsModules.isEmpty()) { - CNMap::ConstIterator g = jsModules.constBegin(); - while (g != jsModules.constEnd()) { - if (generateIndexSection(writer, g.value(), post)) + for (auto it = jsModules.constBegin(); it != jsModules.constEnd(); ++it) { + if (generateIndexSection(writer, it.value(), post)) writer.writeEndElement(); - ++g; } } } diff --git a/src/qdoc/qmlcodemarker.cpp b/src/qdoc/qmlcodemarker.cpp index fe39e6e54..cb31b62b0 100644 --- a/src/qdoc/qmlcodemarker.cpp +++ b/src/qdoc/qmlcodemarker.cpp @@ -145,11 +145,9 @@ QString QmlCodeMarker::markedUpIncludes(const QStringList &includes) { QString code; - QStringList::ConstIterator inc = includes.constBegin(); - while (inc != includes.constEnd()) { - code += "import " + *inc + QLatin1Char('\n'); - ++inc; - } + for (const auto &include : includes) + code += "import " + include + QLatin1Char('\n'); + Location location; return addMarkUp(code, nullptr, location); } diff --git a/src/qdoc/qmlvisitor.cpp b/src/qdoc/qmlvisitor.cpp index c7be4b1cf..6eb924570 100644 --- a/src/qdoc/qmlvisitor.cpp +++ b/src/qdoc/qmlvisitor.cpp @@ -82,7 +82,7 @@ QmlDocVisitor::~QmlDocVisitor() QQmlJS::AST::SourceLocation QmlDocVisitor::precedingComment(quint32 offset) const { const auto comments = engine->comments(); - for (auto it = comments.rbegin(), end = comments.rend(); it != end; ++it) { + for (auto it = comments.rbegin(); it != comments.rend(); ++it) { QQmlJS::AST::SourceLocation loc = *it; if (loc.begin() <= lastEndOffset) { @@ -450,10 +450,8 @@ void QmlDocVisitor::applyMetacommands(QQmlJS::AST::SourceLocation, QSet metacommands = doc.metaCommandsUsed(); if (metacommands.count() > 0) { metacommands.subtract(topics_); - QSet::iterator i = metacommands.begin(); - while (i != metacommands.end()) { - QString command = *i; - ArgList args = doc.metaCommandArgs(command); + for (const auto &command : qAsConst(metacommands)) { + const ArgList args = doc.metaCommandArgs(command); if ((command == COMMAND_QMLABSTRACT) || (command == COMMAND_ABSTRACT)) { if (node->isQmlType() || node->isJsType()) { node->setAbstract(true); @@ -480,11 +478,8 @@ void QmlDocVisitor::applyMetacommands(QQmlJS::AST::SourceLocation, node->markReadOnly(1); } else if ((command == COMMAND_INGROUP) && !args.isEmpty()) { - ArgList::ConstIterator argsIter = args.constBegin(); - while (argsIter != args.constEnd()) { - QDocDatabase::qdocDB()->addToGroup(argsIter->first, node); - ++argsIter; - } + for (const auto &argument : args) + QDocDatabase::qdocDB()->addToGroup(argument.first, node); } else if (command == COMMAND_INTERNAL) { node->setStatus(Node::Internal); @@ -508,7 +503,6 @@ void QmlDocVisitor::applyMetacommands(QQmlJS::AST::SourceLocation, else { doc.location().warning(tr("The \\%1 command is ignored in QML files").arg(command)); } - ++i; } } } diff --git a/src/qdoc/quoter.cpp b/src/qdoc/quoter.cpp index b54d959e4..7dd13233e 100644 --- a/src/qdoc/quoter.cpp +++ b/src/qdoc/quoter.cpp @@ -177,11 +177,8 @@ void Quoter::quoteFromFile(const QString &userFriendlyFilePath, /* Squeeze blanks (cat -s). */ - QStringList::Iterator m = markedLines.begin(); - while (m != markedLines.end()) { - replaceMultipleNewlines(*m); - ++m; - } + for (auto &line : markedLines) + replaceMultipleNewlines(line); codeLocation.start(); } diff --git a/src/qdoc/sections.cpp b/src/qdoc/sections.cpp index 44eea84ea..b21369aea 100644 --- a/src/qdoc/sections.cpp +++ b/src/qdoc/sections.cpp @@ -348,9 +348,8 @@ Sections::Sections(const NodeMultiMap &nsmap) : aggregate_(nullptr) if (nsmap.isEmpty()) return; SectionVector §ions = sinceSections(); - NodeMultiMap::const_iterator n = nsmap.constBegin(); - while (n != nsmap.constEnd()) { - Node *node = n.value(); + for (auto it = nsmap.constBegin(); it != nsmap.constEnd(); ++it) { + Node *node = it.value(); switch (node->nodeType()) { case Node::JsType: case Node::QmlType: @@ -422,7 +421,6 @@ Sections::Sections(const NodeMultiMap &nsmap) : aggregate_(nullptr) default: break; } - ++n; } } @@ -682,22 +680,17 @@ void Sections::buildStdRefPageSections() if (!ns->hasDoc()) documentAll = false; // only document children that have documentation } - NodeList::ConstIterator c = aggregate_->constBegin(); - while (c != aggregate_->constEnd()) { - Node *n = *c; + for (auto it = aggregate_->constBegin(); it != aggregate_->constEnd(); ++it) { + Node *n = *it; if (documentAll || n->hasDoc()) { stdRefPageSwitch(stdSummarySections(), n); stdRefPageSwitch(stdDetailsSections(), n); } - ++c; } if (!aggregate_->relatedByProxy().isEmpty()) { - c = aggregate_->relatedByProxy().constBegin(); - while (c != aggregate_->relatedByProxy().constEnd()) { - Node *n = *c; - stdRefPageSwitch(stdSummarySections(), n); - ++c; - } + const QList &relatedBy = aggregate_->relatedByProxy(); + for (const auto &node : relatedBy) + stdRefPageSwitch(stdSummarySections(), node); } /* If we are building the sections for the reference page @@ -705,12 +698,10 @@ void Sections::buildStdRefPageSections() included children in the sections. */ if (ns && !ns->includedChildren().isEmpty()) { - NodeList::ConstIterator c = ns->includedChildren().constBegin(); - while (c != ns->includedChildren().constEnd()) { - Node *n = *c; - if (documentAll || n->hasDoc()) - stdRefPageSwitch(stdSummarySections(), n); - ++c; + const QList &children = ns->includedChildren(); + for (const auto &child : children) { + if (documentAll || child->hasDoc()) + stdRefPageSwitch(stdSummarySections(), child); } } reduce(stdSummarySections()); @@ -939,7 +930,7 @@ void Sections::distributeQmlNodeInSummaryVector(SectionVector &sv, Node *n, bool if (scn->isPropertyGroup()) { sv[QmlProperties].insert(scn); } else { - for (auto child : scn->collective()) + for (const auto &child : scn->collective()) distributeQmlNodeInSummaryVector(sv, child, true); } } @@ -947,11 +938,10 @@ void Sections::distributeQmlNodeInSummaryVector(SectionVector &sv, Node *n, bool static void pushBaseClasses(QStack &stack, ClassNode *cn) { - QList::ConstIterator r = cn->baseClasses().constBegin(); - while (r != cn->baseClasses().constEnd()) { - if (r->node_) - stack.prepend(r->node_); - ++r; + const QList &baseClasses = cn->baseClasses(); + for (const auto &cls : baseClasses) { + if (cls.node_) + stack.prepend(cls.node_); } } @@ -961,35 +951,29 @@ static void pushBaseClasses(QStack &stack, ClassNode *cn) */ void Sections::buildStdCppClassRefPageSections() { - SectionVector &sv = stdCppClassSummarySections(); - SectionVector &dv = stdCppClassDetailsSections(); + SectionVector &summarySections = stdCppClassSummarySections(); + SectionVector &detailsSections = stdCppClassDetailsSections(); Section &allMembers = allMembersSection(); bool documentAll = true; if (aggregate_->parent() && !aggregate_->name().isEmpty() && !aggregate_->hasDoc()) documentAll = false; - NodeList::ConstIterator c = aggregate_->constBegin(); - while (c != aggregate_->constEnd()) { - Node *n = *c; + for (auto it = aggregate_->constBegin(); it != aggregate_->constEnd();++it) { + Node *n = *it; if (!n->isPrivate() && !n->isProperty() && !n->isRelatedNonmember() && !n->isSharedCommentNode()) allMembers.insert(n); - if (!documentAll && !n->hasDoc()) { - ++c; + if (!documentAll && !n->hasDoc()) continue; - } - distributeNodeInSummaryVector(sv, n); - distributeNodeInDetailsVector(dv, n); - ++c; + + distributeNodeInSummaryVector(summarySections, n); + distributeNodeInDetailsVector(detailsSections, n); } if (!aggregate_->relatedByProxy().isEmpty()) { - c = aggregate_->relatedByProxy().constBegin(); - while (c != aggregate_->relatedByProxy().constEnd()) { - Node *n = *c; - distributeNodeInSummaryVector(sv, n); - ++c; - } + const QList relatedBy = aggregate_->relatedByProxy(); + for (const auto &node : relatedBy) + distributeNodeInSummaryVector(summarySections, node); } QStack stack; @@ -997,25 +981,21 @@ void Sections::buildStdCppClassRefPageSections() pushBaseClasses(stack, cn); while (!stack.isEmpty()) { ClassNode *cn = stack.pop(); - c = cn->constBegin(); - while (c != cn->constEnd()) { - Node *n = *c; + for (auto it = cn->constBegin(); it != cn->constEnd(); ++it) { + Node *n = *it; if (!n->isPrivate() && !n->isProperty() && !n->isRelatedNonmember() && !n->isSharedCommentNode()) allMembers.insert(n); - if (!documentAll && !n->hasDoc()) { - ++c; + if (!documentAll && !n->hasDoc()) continue; - } //distributeNodeInSummaryVector(sv, n); Why was this here? mws 03/07/2019 - ++c; } pushBaseClasses(stack, cn); } - reduce(sv); - reduce(dv); + reduce(summarySections); + reduce(detailsSections); allMembers.reduce(); } @@ -1027,27 +1007,24 @@ void Sections::buildStdCppClassRefPageSections() void Sections::buildStdQmlTypeRefPageSections() { ClassMap* classMap = nullptr; - SectionVector &sv = stdQmlTypeSummarySections(); - SectionVector &dv = stdQmlTypeDetailsSections(); + SectionVector &summarySections = stdQmlTypeSummarySections(); + SectionVector &detailsSections = stdQmlTypeDetailsSections(); Section &allMembers = allMembersSection(); const Aggregate *qtn = aggregate_; while (true) { if (!qtn->isAbstract() || !classMap) classMap = allMembers.newClassMap(qtn); - NodeList::ConstIterator c = qtn->constBegin(); - while (c != qtn->constEnd()) { - Node *n = *c; - if (n->isInternal()) { - ++c; + for (auto it = qtn->constBegin(); it !=qtn->constEnd(); ++it) { + Node *n = *it; + if (n->isInternal()) continue; - } + if (!n->isSharedCommentNode() || n->isPropertyGroup()) allMembers.add(classMap, n); - distributeQmlNodeInSummaryVector(sv, n); - distributeQmlNodeInDetailsVector(dv, n); - ++c; + distributeQmlNodeInSummaryVector(summarySections, n); + distributeQmlNodeInDetailsVector(detailsSections, n); } if (qtn->qmlBaseNode() == qtn) { qDebug() << "qdoc internal error: circular type definition." @@ -1066,15 +1043,12 @@ void Sections::buildStdQmlTypeRefPageSections() while (qtn != nullptr) { if (!qtn->isAbstract() || !classMap) classMap = allMembers.newClassMap(qtn); - NodeList::ConstIterator c = qtn->constBegin(); - while (c != qtn->constEnd()) { - Node *n = *c; - if (n->isInternal() || n->isSharedCommentNode()) { - ++c; + for (auto it = qtn->constBegin(); it != qtn->constEnd(); ++it) { + Node *n = *it; + if (n->isInternal() || n->isSharedCommentNode()) continue; - } + allMembers.add(classMap, n); - ++c; } if (qtn->qmlBaseNode() == qtn) { qDebug() << "qdoc internal error: circular type definition." @@ -1085,8 +1059,8 @@ void Sections::buildStdQmlTypeRefPageSections() } qtn = static_cast(qtn->qmlBaseNode()); } - reduce(sv); - reduce(dv); + reduce(summarySections); + reduce(detailsSections); allMembers.reduce(); } @@ -1098,30 +1072,26 @@ void Sections::buildStdQmlTypeRefPageSections() */ bool Sections::hasObsoleteMembers(SectionPtrVector *summary_spv, SectionPtrVector *details_spv) const { - const SectionVector *sv = nullptr; + const SectionVector *sections = nullptr; if (aggregate_->isClassNode()) - sv = &stdCppClassSummarySections(); + sections = &stdCppClassSummarySections(); else if (aggregate_->isQmlType() || aggregate_->isQmlBasicType()) - sv = &stdQmlTypeSummarySections(); + sections = &stdQmlTypeSummarySections(); else - sv = &stdSummarySections(); - SectionVector::ConstIterator s = sv->constBegin(); - while (s != sv->constEnd()) { - if (!s->obsoleteMembers().isEmpty()) - summary_spv->append(&(*s)); - ++s; + sections = &stdSummarySections(); + for (const auto §ion : *sections) { + if (!section.obsoleteMembers().isEmpty()) + summary_spv->append(§ion); } if (aggregate_->isClassNode()) - sv = &stdCppClassDetailsSections(); + sections = &stdCppClassDetailsSections(); else if (aggregate_->isQmlType() || aggregate_->isQmlBasicType()) - sv = &stdQmlTypeDetailsSections(); + sections = &stdQmlTypeDetailsSections(); else - sv = &stdDetailsSections(); - s = sv->constBegin(); - while (s != sv->constEnd()) { - if (!s->obsoleteMembers().isEmpty()) - details_spv->append(&(*s)); - ++s; + sections = &stdDetailsSections(); + for (const auto &it : *sections) { + if (!it.obsoleteMembers().isEmpty()) + details_spv->append(&it); } return !summary_spv->isEmpty(); } diff --git a/src/qdoc/tree.cpp b/src/qdoc/tree.cpp index 1ae07c52b..e85952934 100644 --- a/src/qdoc/tree.cpp +++ b/src/qdoc/tree.cpp @@ -100,23 +100,19 @@ Tree::Tree(const QString &camelCaseModuleName, QDocDatabase *qdb) */ Tree::~Tree() { - TargetMap::iterator i = nodesByTargetRef_.begin(); - while (i != nodesByTargetRef_.end()) { + for (auto i = nodesByTargetRef_.begin(); i != nodesByTargetRef_.end(); ++i) { delete i.value(); - ++i; } nodesByTargetRef_.clear(); nodesByTargetTitle_.clear(); if (Generator::writeQaPages() && targetListMap_) { - TargetListMap::iterator i = targetListMap_->begin(); - while (i != targetListMap_->end()) { - TargetList *tlist = i.value(); + for (auto target = targetListMap_->begin(); target != targetListMap_->end(); ++target) { + TargetList *tlist = target.value(); if (tlist) { for (auto *location : qAsConst(*tlist)) delete location; } delete tlist; - ++i; } } } @@ -238,15 +234,13 @@ void Tree::addPropertyFunction(PropertyNode *property, */ void Tree::resolveBaseClasses(Aggregate *n) { - NodeList::ConstIterator c = n->constBegin(); - while (c != n->constEnd()) { - if ((*c)->isClassNode()) { - ClassNode *cn = static_cast(*c); + for (auto it = n->constBegin(); it != n->constEnd(); ++it) { + if ((*it)->isClassNode()) { + ClassNode *cn = static_cast(*it); QList &bases = cn->baseClasses(); - QList::iterator b = bases.begin(); - while (b != bases.end()) { - if ((*b).node_ == nullptr) { - Node *n = qdb_->findClassNode((*b).path_); + for (auto &cls : bases) { + if (cls.node_ == nullptr) { + Node *n = qdb_->findClassNode(cls.path_); /* If the node for the base class was not found, the reason might be that the subclass is in a @@ -262,21 +256,19 @@ void Tree::resolveBaseClasses(Aggregate *n) if (parent != nullptr) // Exclude the root namespace if (parent->isNamespace() && !parent->name().isEmpty()) - n = findClassNode((*b).path_, parent); + n = findClassNode(cls.path_, parent); } if (n != nullptr) { ClassNode *bcn = static_cast(n); - (*b).node_ = bcn; - bcn->addDerivedClass((*b).access_, cn); + cls.node_ = bcn; + bcn->addDerivedClass(cls.access_, cn); } } - ++b; } resolveBaseClasses(cn); - } else if ((*c)->isNamespace()) { - resolveBaseClasses(static_cast(*c)); + } else if ((*it)->isNamespace()) { + resolveBaseClasses(static_cast(*it)); } - ++c; } } @@ -284,21 +276,17 @@ void Tree::resolveBaseClasses(Aggregate *n) */ void Tree::resolvePropertyOverriddenFromPtrs(Aggregate *n) { - NodeList::ConstIterator c = n->constBegin(); - while (c != n->constEnd()) { - if ((*c)->isClassNode()) { - ClassNode *cn = static_cast(*c); - NodeList::ConstIterator p = cn->constBegin(); - while (p != cn->constEnd()) { - if ((*p)->isProperty()) - cn->resolvePropertyOverriddenFromPtrs(static_cast(*p)); - ++p; + for (auto node = n->constBegin(); node != n->constEnd(); ++node) { + if ((*node)->isClassNode()) { + ClassNode *cn = static_cast(*node); + for (auto property = cn->constBegin(); property != cn->constEnd(); ++property) { + if ((*property)->isProperty()) + cn->resolvePropertyOverriddenFromPtrs(static_cast(*property)); } resolvePropertyOverriddenFromPtrs(cn); - } else if ((*c)->isNamespace()) { - resolvePropertyOverriddenFromPtrs(static_cast(*c)); + } else if ((*node)->isNamespace()) { + resolvePropertyOverriddenFromPtrs(static_cast(*node)); } - ++c; } } @@ -306,10 +294,8 @@ void Tree::resolvePropertyOverriddenFromPtrs(Aggregate *n) */ void Tree::resolveProperties() { - PropertyMap::ConstIterator propEntry; - - propEntry = unresolvedPropertyMap.constBegin(); - while (propEntry != unresolvedPropertyMap.constEnd()) { + for (auto propEntry = unresolvedPropertyMap.constBegin(); + propEntry != unresolvedPropertyMap.constEnd(); ++propEntry) { PropertyNode *property = propEntry.key(); Aggregate *parent = property->parent(); QString getterName = (*propEntry)[PropertyNode::Getter]; @@ -317,10 +303,9 @@ void Tree::resolveProperties() QString resetterName = (*propEntry)[PropertyNode::Resetter]; QString notifierName = (*propEntry)[PropertyNode::Notifier]; - NodeList::ConstIterator c = parent->constBegin(); - while (c != parent->constEnd()) { - if ((*c)->isFunction()) { - FunctionNode *function = static_cast(*c); + for (auto it = parent->constBegin(); it != parent->constEnd(); ++it) { + if ((*it)->isFunction()) { + FunctionNode *function = static_cast(*it); if (function->access() == property->access() && (function->status() == property->status() || function->doc().isEmpty())) { @@ -338,18 +323,15 @@ void Tree::resolveProperties() } } } - ++c; } - ++propEntry; } - propEntry = unresolvedPropertyMap.constBegin(); - while (propEntry != unresolvedPropertyMap.constEnd()) { + for (auto propEntry = unresolvedPropertyMap.constBegin(); + propEntry != unresolvedPropertyMap.constEnd(); ++propEntry) { PropertyNode *property = propEntry.key(); // redo it to set the property functions if (property->overriddenFrom()) property->setOverriddenFrom(property->overriddenFrom()); - ++propEntry; } unresolvedPropertyMap.clear(); @@ -385,14 +367,12 @@ void Tree::resolveUsingClauses() if (child->isClassNode()) { ClassNode *cn = static_cast(child); QList &usingClauses = cn->usingClauses(); - QList::iterator uc = usingClauses.begin(); - while (uc != usingClauses.end()) { - if ((*uc).node() == nullptr) { - const Node *n = qdb_->findFunctionNode((*uc).signature(), cn, Node::CPP); + for (auto &usingClause : usingClauses) { + if (usingClause.node() == nullptr) { + const Node *n = qdb_->findFunctionNode(usingClause.signature(), cn, Node::CPP); if (n != nullptr) - (*uc).setNode(n); + usingClause.setNode(n); } - ++uc; } } } @@ -412,13 +392,11 @@ void Tree::removePrivateAndInternalBases(NamespaceNode *rootNode) if (rootNode == nullptr) rootNode = root(); - NodeList::ConstIterator c = rootNode->constBegin(); - while (c != rootNode->constEnd()) { - if ((*c)->isClassNode()) - static_cast(*c)->removePrivateAndInternalBases(); - else if ((*c)->isNamespace()) - removePrivateAndInternalBases(static_cast(*c)); - ++c; + for (auto node = rootNode->constBegin(); node != rootNode->constEnd(); ++node) { + if ((*node)->isClassNode()) + static_cast(*node)->removePrivateAndInternalBases(); + else if ((*node)->isNamespace()) + removePrivateAndInternalBases(static_cast(*node)); } } @@ -748,22 +726,22 @@ const Node *Tree::findNode(const QStringList &path, */ QString Tree::getRef(const QString &target, const Node *node) const { - TargetMap::const_iterator i = nodesByTargetTitle_.constFind(target); - if (i != nodesByTargetTitle_.constEnd()) { + auto it = nodesByTargetTitle_.constFind(target); + if (it != nodesByTargetTitle_.constEnd()) { do { - if (i.value()->node_ == node) - return i.value()->ref_; - ++i; - } while (i != nodesByTargetTitle_.constEnd() && i.key() == target); + if (it.value()->node_ == node) + return it.value()->ref_; + ++it; + } while (it != nodesByTargetTitle_.constEnd() && it.key() == target); } QString key = Doc::canonicalTitle(target); - i = nodesByTargetRef_.constFind(key); - if (i != nodesByTargetRef_.constEnd()) { + it = nodesByTargetRef_.constFind(key); + if (it != nodesByTargetRef_.constEnd()) { do { - if (i.value()->node_ == node) - return i.value()->ref_; - ++i; - } while (i != nodesByTargetRef_.constEnd() && i.key() == key); + if (it.value()->node_ == node) + return it.value()->ref_; + ++it; + } while (it != nodesByTargetRef_.constEnd() && it.key() == key); } return QString(); } @@ -799,9 +777,9 @@ void Tree::resolveTargets(Aggregate *root) QList nodes = pageNodesByTitle_.values(key); bool alreadyThere = false; if (!nodes.empty()) { - for (int i=0; i< nodes.size(); ++i) { - if (nodes[i]->isExternalPage()) { - if (node->name() == nodes[i]->name()) { + for (const auto &node_ : nodes) { + if (node_->isExternalPage()) { + if (node->name() == node_->name()) { alreadyThere = true; break; } @@ -868,11 +846,10 @@ Tree::findUnambiguousTarget(const QString &target, Node::Genus genus, QString &r QList bestTargetList; QString key = target; - TargetMap::const_iterator i = nodesByTargetTitle_.find(key); - while (i != nodesByTargetTitle_.constEnd()) { - if (i.key() != key) + for (auto it = nodesByTargetTitle_.find(key); it != nodesByTargetTitle_.constEnd(); ++it) { + if (it.key() != key) break; - TargetRec *candidate = i.value(); + TargetRec *candidate = it.value(); if ((genus == Node::DontCare) || (genus == candidate->genus())) { if (!bestTarget || (candidate->priority_ < bestTarget->priority_)) { bestTarget = candidate; @@ -885,7 +862,6 @@ Tree::findUnambiguousTarget(const QString &target, Node::Genus genus, QString &r ++numBestTargets; } } - ++i; } if (bestTarget) { ref = bestTarget->ref_; @@ -895,11 +871,10 @@ Tree::findUnambiguousTarget(const QString &target, Node::Genus genus, QString &r numBestTargets = 0; bestTarget = nullptr; key = Doc::canonicalTitle(target); - i = nodesByTargetRef_.find(key); - while (i != nodesByTargetRef_.constEnd()) { - if (i.key() != key) + for (auto it = nodesByTargetRef_.find(key); it != nodesByTargetRef_.constEnd(); ++it) { + if (it.key() != key) break; - TargetRec *candidate = i.value(); + TargetRec *candidate = it.value(); if ((genus == Node::DontCare) || (genus == candidate->genus())) { if (!bestTarget || (candidate->priority_ < bestTarget->priority_)) { bestTarget = candidate; @@ -912,7 +887,6 @@ Tree::findUnambiguousTarget(const QString &target, Node::Genus genus, QString &r ++numBestTargets; } } - ++i; } if (bestTarget) { ref = bestTarget->ref_; @@ -928,32 +902,32 @@ Tree::findUnambiguousTarget(const QString &target, Node::Genus genus, QString &r */ const PageNode *Tree::findPageNodeByTitle(const QString &title) const { - PageNodeMultiMap::const_iterator i; + PageNodeMultiMap::const_iterator it; if (title.contains(QChar(' '))) - i = pageNodesByTitle_.constFind(Doc::canonicalTitle(title)); + it = pageNodesByTitle_.constFind(Doc::canonicalTitle(title)); else - i = pageNodesByTitle_.constFind(title); - if (i != pageNodesByTitle_.constEnd()) { + it = pageNodesByTitle_.constFind(title); + if (it != pageNodesByTitle_.constEnd()) { /* Reporting all these duplicate section titles is probably overkill. We should report the duplicate file and let that suffice. */ - PageNodeMultiMap::const_iterator j = i; + PageNodeMultiMap::const_iterator j = it; ++j; - if (j != pageNodesByTitle_.constEnd() && j.key() == i.key()) { + if (j != pageNodesByTitle_.constEnd() && j.key() == it.key()) { while (j != pageNodesByTitle_.constEnd()) { - if (j.key() == i.key() && j.value()->url().isEmpty()) { + if (j.key() == it.key() && j.value()->url().isEmpty()) { break; // Just report one duplicate for now. } ++j; } if (j != pageNodesByTitle_.cend()) { - i.value()->location().warning("This page title exists in more than one file: " + title); + it.value()->location().warning("This page title exists in more than one file: " + title); j.value()->location().warning("[It also exists here]"); } } - return i.value(); + return it.value(); } return nullptr; } @@ -1020,11 +994,11 @@ CNMap *Tree::getCollectionMap(Node::NodeType type) */ CollectionNode *Tree::getCollection(const QString &name, Node::NodeType type) { - CNMap *m = getCollectionMap(type); - if (m) { - CNMap::const_iterator i = m->constFind(name); - if (i != m->cend()) - return i.value(); + CNMap *map = getCollectionMap(type); + if (map) { + auto it = map->constFind(name); + if (it != map->cend()) + return it.value(); } return nullptr; } @@ -1049,9 +1023,9 @@ CollectionNode *Tree::findCollection(const QString &name, Node::NodeType type) CNMap *m = getCollectionMap(type); if (!m) // error return nullptr; - CNMap::const_iterator i = m->constFind(name); - if (i != m->cend()) - return i.value(); + auto it = m->constFind(name); + if (it != m->cend()) + return it.value(); CollectionNode *cn = new CollectionNode(type, root(), name); cn->markNotSeen(); m->insert(name, cn); @@ -1352,13 +1326,13 @@ QString Tree::getNewLinkTarget(const Node *locNode, QString target = QString("qa-target-%1").arg(-(linkCount())); TargetLoc *tloc = new TargetLoc(locNode, target, fileName, text, broken); TargetList *tList = nullptr; - TargetListMap::iterator i = targetListMap_->find(physicalModuleName); - if (i == targetListMap_->end()) { + auto it = targetListMap_->find(physicalModuleName); + if (it == targetListMap_->end()) { tList = new TargetList; - i = targetListMap_->insert(physicalModuleName, tList); + it = targetListMap_->insert(physicalModuleName, tList); } else - tList = i.value(); + tList = it.value(); tList->append(tloc); return target; } @@ -1452,12 +1426,10 @@ void Tree::addToDontDocumentMap(QString &arg) */ void Tree::markDontDocumentNodes() { - NodeMap::iterator i = dontDocumentMap_.begin(); - while (i != dontDocumentMap_.end()) { - Aggregate *node = findAggregate(i.key()); + for (auto it = dontDocumentMap_.begin(); it != dontDocumentMap_.end(); ++it) { + Aggregate *node = findAggregate(it.key()); if (node != nullptr) node->setStatus(Node::DontDocument); - ++i; } } diff --git a/src/qdoc/webxmlgenerator.cpp b/src/qdoc/webxmlgenerator.cpp index 4b649820f..54373815a 100644 --- a/src/qdoc/webxmlgenerator.cpp +++ b/src/qdoc/webxmlgenerator.cpp @@ -817,8 +817,7 @@ void WebXMLGenerator::generateRelations(QXmlStreamWriter &writer, const Node *no QPair anchorPair; const Node *linkNode; - for (QMap >::const_iterator it = - node->links().cbegin(), end = node->links().cend(); it != end; ++it) { + for (auto it = node->links().cbegin(); it != node->links().cend(); ++it) { linkNode = qdb_->findNodeForTarget(it.value().first, node); -- cgit v1.2.3 From 6100bae8bbbd113a78b9f046927d04d6d958136b Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Thu, 5 Dec 2019 08:23:58 +0100 Subject: QDoc: Drop unnecessary sort MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There's no change in output by not sorting the container, so it seems to be entirely unnecessary. Also const qualify the container that is no longer sorted. Change-Id: I8d5186a70623b8db6397eb88b9b0a9b53465a34a Reviewed-by: Topi Reiniö --- src/qdoc/cppcodeparser.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/qdoc/cppcodeparser.cpp b/src/qdoc/cppcodeparser.cpp index 84e383fc2..e92a5d7de 100644 --- a/src/qdoc/cppcodeparser.cpp +++ b/src/qdoc/cppcodeparser.cpp @@ -710,8 +710,7 @@ void CppCodeParser::processMetaCommand(const Doc &doc, */ void CppCodeParser::processMetaCommands(const Doc &doc, Node *node) { - QStringList metaCommandsUsed = doc.metaCommandsUsed().values(); - metaCommandsUsed.sort(); // TODO: why are these sorted? mws 24/12/2018 + const QStringList metaCommandsUsed = doc.metaCommandsUsed().values(); for (const auto &command : metaCommandsUsed) { const ArgList args = doc.metaCommandArgs(command); for (const auto &arg : args) -- cgit v1.2.3 From eb5cb16d3ec1c6fdfeaca42be9667db22e418a99 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Tue, 3 Dec 2019 19:26:56 +0100 Subject: QDoc: Remove unused code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Delete commented out code. Change-Id: Iaa08fed365d5a4d6a2986908761ce42342089730 Reviewed-by: Topi Reiniö --- src/qdoc/htmlgenerator.cpp | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 95cf63bd7..67e82f089 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -1212,7 +1212,6 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark out() << '>'; else { out() << '>'; - //out() << ">

    "; } if (matchAhead(atom, Atom::ParaLeft)) skipAhead = 1; @@ -1223,7 +1222,6 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark out() << ""; else { out() << ""; - //out() << "

    "; } if (matchAhead(atom, Atom::ParaLeft)) skipAhead = 1; @@ -1495,7 +1493,6 @@ void HtmlGenerator::generateProxyPage(Aggregate *aggregate, CodeMarker *marker) generateBrief(aggregate, marker); for (auto it = summarySections->constBegin(); it != summarySections->constEnd(); ++it) { if (!it->members().isEmpty()) { - // out() << "
    \n"; QString ref = registerRef(it->title().toLower()); out() << "" << divNavTop << "\n"; out() << "

    " << protectEnc(it->title()) << "

    \n"; @@ -1508,7 +1505,6 @@ void HtmlGenerator::generateProxyPage(Aggregate *aggregate, CodeMarker *marker) if (!aggregate->doc().isEmpty()) { generateExtractionMark(aggregate, DetailedDescriptionMark); - //out() << "
    \n" out() << "
    \n" // QTBUG-9504 << "

    " << "Detailed Description" << "

    \n"; generateBody(aggregate, marker); @@ -1522,7 +1518,6 @@ void HtmlGenerator::generateProxyPage(Aggregate *aggregate, CodeMarker *marker) if (section.isEmpty()) continue; - //out() << "
    \n"; if (!section.divClass().isEmpty()) out() << "
    \n"; // QTBUG-9504 out() << "

    " << protectEnc(section.title()) << "

    \n"; @@ -1623,7 +1618,6 @@ void HtmlGenerator::generateQmlTypePage(QmlTypeNode *qcn, CodeMarker *marker) generateQmlText(cn->doc().body(), cn, marker, qcn->name()); generateAlsoList(qcn, marker); generateExtractionMark(qcn, EndMark); - //out() << "
    \n"; const QVector
    &stdQmlTypeDetailsSections = sections.stdQmlTypeDetailsSections(); for (const auto §ion : stdQmlTypeDetailsSections) { @@ -1830,7 +1824,6 @@ void HtmlGenerator::generateGenericCollectionPage(CollectionNode *cn, CodeMarker for (const auto &member : members) generateDetailedMember(member, cn, marker); - // generateAnnotatedList(cn, marker, cn->members()); generateFooter(cn); } @@ -3106,7 +3099,6 @@ void HtmlGenerator::generateLegaleseList(const Node *relative, CodeMarker *marke QMap::ConstIterator it = legaleseTexts.constBegin(); while (it != legaleseTexts.constEnd()) { Text text = it.key(); - //out() << "
    \n"; generateText(text, relative, marker); out() << "
      \n"; do { @@ -3371,7 +3363,6 @@ void HtmlGenerator::generateSectionInheritedList(const Section& section, const N } } -// generateSynopsis(*m, relative, marker, Section::Summary, alignNames); void HtmlGenerator::generateSynopsis(const Node *node, const Node *relative, CodeMarker *marker, @@ -3746,7 +3737,6 @@ void HtmlGenerator::generateDetailedMember(const Node *node, if (!notifiers.members().isEmpty()) { out() << "

      Notifier signal:

      \n"; - //out() << "

      This signal is emitted when the property value is changed.

      \n"; generateSectionList(notifiers, node, marker); } } -- cgit v1.2.3 From 7c0f505a3f86fd78e76018baa01626b043e43d87 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Mon, 2 Dec 2019 18:17:57 +0100 Subject: QDoc: Clean up whitespace MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix minor whitespace issues accodring to style. Change-Id: Ie56e815f23f25ccb1b2ffb03780b9e4c6b9d25eb Reviewed-by: Topi Reiniö --- src/qdoc/htmlgenerator.cpp | 2 +- src/qdoc/main.cpp | 32 ++++++++++++++++---------------- src/qdoc/qdocdatabase.cpp | 4 ++-- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 67e82f089..ac3a3d041 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -815,7 +815,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark Node *parent = (*member).parent(); pmap = parentmaps.find(parent); if (pmap == parentmaps.end()) - pmap = parentmaps.insert(parent,NodeMultiMap()); + pmap = parentmaps.insert(parent, NodeMultiMap()); pmap->insert(member->name(), member); } for (auto map = parentmaps.begin(); map != parentmaps.end(); ++map) { diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp index 73289986c..e8f03e559 100644 --- a/src/qdoc/main.cpp +++ b/src/qdoc/main.cpp @@ -404,31 +404,31 @@ static void processQdocconfFile(const QString &fileName, Config &config) QStringList sourceList; qCDebug(lcQdoc, "Reading headerdirs"); - headerList = config.getAllFiles(CONFIG_HEADERS,CONFIG_HEADERDIRS,excludedDirs,excludedFiles); - QMap headers; - QMultiMap headerFileNames; - for (int i=0; i headers; + QMultiMap headerFileNames; + for (int i = 0; i < headerList.size(); ++i) { if (headerList[i].contains(QString("doc/snippets"))) continue; if (headers.contains(headerList[i])) continue; headers.insert(headerList[i],headerList[i]); QString t = headerList[i].mid(headerList[i].lastIndexOf('/')+1); - headerFileNames.insert(t,t); + headerFileNames.insert(t, t); } qCDebug(lcQdoc, "Reading sourcedirs"); - sourceList = config.getAllFiles(CONFIG_SOURCES,CONFIG_SOURCEDIRS,excludedDirs,excludedFiles); - QMap sources; - QMultiMap sourceFileNames; - for (int i=0; i sources; + QMultiMap sourceFileNames; + for (int i = 0; i < sourceList.size(); ++i) { if (sourceList[i].contains(QString("doc/snippets"))) continue; if (sources.contains(sourceList[i])) continue; - sources.insert(sourceList[i],sourceList[i]); - QString t = sourceList[i].mid(sourceList[i].lastIndexOf('/')+1); - sourceFileNames.insert(t,t); + sources.insert(sourceList[i], sourceList[i]); + QString t = sourceList[i].mid(sourceList[i].lastIndexOf('/') + 1); + sourceFileNames.insert(t, t); } /* Find all the qdoc files in the example dirs, and add @@ -436,11 +436,11 @@ static void processQdocconfFile(const QString &fileName, Config &config) */ qCDebug(lcQdoc, "Reading exampledirs"); QStringList exampleQdocList = config.getExampleQdocFiles(excludedDirs, excludedFiles); - for (int i=0; i Date: Thu, 5 Dec 2019 16:45:24 +0100 Subject: QDoc: Get rid of unnecessary casts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Drop casting ints to int. Change-Id: I571f3e245bfc97a7c0c7bea5bedbf0ed5ab04c60 Reviewed-by: Topi Reiniö --- src/qdoc/doc.cpp | 16 ++++++++-------- src/qdoc/htmlgenerator.cpp | 4 ++-- src/qdoc/node.cpp | 2 +- src/qdoc/openedlist.cpp | 2 +- src/qdoc/tokenizer.cpp | 2 +- src/qdoc/yyindent.cpp | 8 ++++---- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index 8c82e0693..889ecf3c2 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -2135,7 +2135,7 @@ bool DocParser::expandMacro() QString cmdStr; int backslashPos = pos++; - while (pos < (int) input_.length() && input_[pos].isLetterOrNumber()) + while (pos < input_.length() && input_[pos].isLetterOrNumber()) cmdStr += input_[pos++]; endPos = pos; @@ -2301,9 +2301,9 @@ QString DocParser::getBracedArgument(bool verbatim) { QString arg; int delimDepth = 0; - if (pos < (int) input_.length() && input_[pos] == '{') { + if (pos < input_.length() && input_[pos] == '{') { pos++; - while (pos < (int) input_.length() && delimDepth >= 0) { + while (pos < input_.length() && delimDepth >= 0) { switch (input_[pos].unicode()) { case '{': delimDepth++; @@ -2443,7 +2443,7 @@ QString DocParser::getBracketedArgument() QString DocParser::getOptionalArgument() { skipSpacesOrOneEndl(); - if (pos + 1 < (int) input_.length() && input_[pos] == '\\' && + if (pos + 1 < input_.length() && input_[pos] == '\\' && input_[pos + 1].isLetterOrNumber()) { return QString(); } @@ -2636,7 +2636,7 @@ void DocParser::skipSpacesOnLine() void DocParser::skipSpacesOrOneEndl() { int firstEndl = -1; - while (pos < (int) input_.length() && input_[pos].isSpace()) { + while (pos < input_.length() && input_[pos].isSpace()) { QChar ch = input_[pos]; if (ch == '\n') { if (firstEndl == -1) { @@ -2773,7 +2773,7 @@ int DocParser::indentLevel(const QString &str) int minIndent = INT_MAX; int column = 0; - for (int i = 0; i < (int) str.length(); i++) { + for (int i = 0; i < str.length(); i++) { if (str[i] == '\n') { column = 0; } @@ -2794,7 +2794,7 @@ QString DocParser::unindent(int level, const QString &str) QString t; int column = 0; - for (int i = 0; i < (int) str.length(); i++) { + for (int i = 0; i < str.length(); i++) { if (str[i] == QLatin1Char('\n')) { t += '\n'; column = 0; @@ -3273,7 +3273,7 @@ void Doc::trimCStyleComment(Location &location, QString &str) int asterColumn = location.columnNo() + 1; int i; - for (i = 0; i < (int) str.length(); i++) { + for (i = 0; i < str.length(); i++) { if (m.columnNo() == asterColumn) { if (str[i] != '*') break; diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index ac3a3d041..415309157 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -3234,7 +3234,7 @@ void HtmlGenerator::generateSection(const NodeVector &nv, const Node *relative, out() << " "; } else { - if (twoColumn && i == (int) (nv.count() + 1) / 2) + if (twoColumn && i == (nv.count() + 1) / 2) out() << "
      \n"; out() << "
    • "; } @@ -3293,7 +3293,7 @@ void HtmlGenerator::generateSectionList(const Section& section, out() << " "; } else { - if (twoColumn && i == (int) (members.count() + 1) / 2) + if (twoColumn && i == (members.count() + 1) / 2) out() << "
      \n"; out() << "
    • "; } diff --git a/src/qdoc/node.cpp b/src/qdoc/node.cpp index 054b6697f..08ec638d7 100644 --- a/src/qdoc/node.cpp +++ b/src/qdoc/node.cpp @@ -1359,7 +1359,7 @@ QString Node::cleanId(const QString &str) clean += QLatin1Char('a'); } - for (int i = 1; i < (int) name.length(); i++) { + for (int i = 1; i < name.length(); i++) { const QChar c = name[i]; const uint u = c.unicode(); if ((u >= 'a' && u <= 'z') || diff --git a/src/qdoc/openedlist.cpp b/src/qdoc/openedlist.cpp index ce9efb06e..a36e3b545 100644 --- a/src/qdoc/openedlist.cpp +++ b/src/qdoc/openedlist.cpp @@ -135,7 +135,7 @@ int OpenedList::fromAlpha(const QString &str) int n = 0; int u; - for (int i = 0; i < (int) str.length(); i++) { + for (int i = 0; i < str.length(); i++) { u = str[i].toLower().unicode(); if (u >= 'a' && u <= 'z') { n *= 26; diff --git a/src/qdoc/tokenizer.cpp b/src/qdoc/tokenizer.cpp index 45c33fa7c..af3837c3a 100644 --- a/src/qdoc/tokenizer.cpp +++ b/src/qdoc/tokenizer.cpp @@ -735,7 +735,7 @@ bool Tokenizer::isTrue(const QString &condition) X && Y || Z // the or (X || Y) && Z // the and */ - for (int i = 0; i < (int) condition.length() - 1; i++) { + for (int i = 0; i < condition.length() - 1; i++) { QChar ch = condition[i]; if (ch == QChar('(')) { parenDepth++; diff --git a/src/qdoc/yyindent.cpp b/src/qdoc/yyindent.cpp index 6e4b1a6ca..c78e132b6 100644 --- a/src/qdoc/yyindent.cpp +++ b/src/qdoc/yyindent.cpp @@ -126,7 +126,7 @@ static QRegExp *iflikeKeyword = nullptr; static QChar firstNonWhiteSpace(const QString &t) { int i = 0; - while (i < (int) t.length()) { + while (i < t.length()) { if (!t[i].isSpace()) return t[i]; i++; @@ -151,7 +151,7 @@ static bool isOnlyWhiteSpace(const QString &t) int columnForIndex(const QString &t, int index) { int col = 0; - if (index > (int) t.length()) + if (index > t.length()) index = t.length(); for (int i = 0; i < index; i++) { @@ -230,7 +230,7 @@ static QString trimmedCodeLine(const QString &t) int pos1 = label->pos(1); int stop = cap1.length(); - if (pos1 + stop < (int) trimmed.length() && ppIndentSize < stop) + if (pos1 + stop < trimmed.length() && ppIndentSize < stop) stop = ppIndentSize; int i = 0; @@ -238,7 +238,7 @@ static QString trimmedCodeLine(const QString &t) eraseChar(trimmed, pos1 + i, ' '); i++; } - while (i < (int) cap1.length()) { + while (i < cap1.length()) { eraseChar(trimmed, pos1 + i, ';'); i++; } -- cgit v1.2.3 From c09c14b1da8cf7ad6f844230ca552719776e981d Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Fri, 6 Dec 2019 13:26:52 +0100 Subject: QDoc: Minor adjustment/cleanup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pre-increment instead of post-increment for efficiency and readability. Change-Id: I10b33360dd36cd1d0f4338441c1ad4724551e80e Reviewed-by: Topi Reiniö --- src/qdoc/atom.cpp | 2 +- src/qdoc/clangcodeparser.cpp | 8 ++--- src/qdoc/config.cpp | 4 +-- src/qdoc/cppcodemarker.cpp | 8 ++--- src/qdoc/doc.cpp | 84 ++++++++++++++++++++++---------------------- src/qdoc/editdistance.cpp | 10 +++--- src/qdoc/node.cpp | 2 +- 7 files changed, 59 insertions(+), 59 deletions(-) diff --git a/src/qdoc/atom.cpp b/src/qdoc/atom.cpp index dff90b299..ecbea2013 100644 --- a/src/qdoc/atom.cpp +++ b/src/qdoc/atom.cpp @@ -334,7 +334,7 @@ QString Atom::typeString() const while (atms[i].english != nullptr) { if (atms[i].no != i) Location::internalError(QCoreApplication::translate("QDoc::Atom", "atom %1 missing").arg(i)); - i++; + ++i; } deja = true; } diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp index 605edeb86..2e96a092d 100644 --- a/src/qdoc/clangcodeparser.cpp +++ b/src/qdoc/clangcodeparser.cpp @@ -269,7 +269,7 @@ static Node *findNodeForCursor(QDocDatabase *qdb, CXCursor cur) { if (isVariadic && parameters.last().type() != QLatin1String("...")) continue; bool different = false; - for (int i = 0; i < actualArg; i++) { + for (int i = 0; i < actualArg; ++i) { if (args.size() <= i) args.append(fromCXString(clang_getTypeSpelling(clang_getArgType(funcType, i)))); QString t1 = parameters.at(i).type(); @@ -347,7 +347,7 @@ static Node *findFunctionNodeForCursor(QDocDatabase *qdb, CXCursor cur) { if (isVariadic && parameters.last().type() != QLatin1String("...")) continue; bool different = false; - for (int i = 0; i < numArg; i++) { + for (int i = 0; i < numArg; ++i) { if (args.size() <= i) args.append(fromCXString(clang_getTypeSpelling(clang_getArgType(funcType, i)))); QString t1 = parameters.at(i).type(); @@ -884,7 +884,7 @@ void ClangVisitor::readParameterNamesAndAttributes(FunctionNode *fn, CXCursor cu } return CXChildVisit_Continue; }); - i++; + ++i; } return CXChildVisit_Continue; }); @@ -1521,7 +1521,7 @@ Node *ClangCodeParser::parseFnArg(const Location &location, const QString &fnArg QString pName = blankSplit.last(); int j = 0; while (j < pName.length() && !pName.at(i).isLetter()) - j++; + ++j; if (j > 0) pName = pName.mid(j); if (!pName.isEmpty() && pName != parameters[i].name()) diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp index ed80af464..da641d3ea 100644 --- a/src/qdoc/config.cpp +++ b/src/qdoc/config.cpp @@ -259,7 +259,7 @@ QMap Config::includeFilesMap_; Config::Config(const QString &programName, const QStringList &args) : prog(programName) { - numInstances++; + ++numInstances; processCommandLineOptions(args); reset(); } @@ -921,7 +921,7 @@ QString Config::copyFile(const Location &location, int Config::numParams(const QString &value) { int max = 0; - for (int i = 0; i != value.length(); i++) { + for (int i = 0; i != value.length(); ++i) { uint c = value[i].unicode(); if (c > 0 && c < 8) max = qMax(max, static_cast(c)); diff --git a/src/qdoc/cppcodemarker.cpp b/src/qdoc/cppcodemarker.cpp index 251f0cef6..06e33d09e 100644 --- a/src/qdoc/cppcodemarker.cpp +++ b/src/qdoc/cppcodemarker.cpp @@ -161,7 +161,7 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, synopsis += QLatin1Char('('); if (!func->parameters().isEmpty()) { const Parameters ¶meters = func->parameters(); - for (int i = 0; i < parameters.count(); i++) { + for (int i = 0; i < parameters.count(); ++i) { if (i > 0) synopsis += ", "; QString name = parameters.at(i).name(); @@ -337,7 +337,7 @@ QString CppCodeMarker::markedUpQmlItem(const Node *node, bool summary) synopsis += QLatin1Char('('); if (!func->parameters().isEmpty()) { const Parameters ¶meters = func->parameters(); - for (int i = 0; i < parameters.count(); i++) { + for (int i = 0; i < parameters.count(); ++i) { if (i > 0) synopsis += ", "; QString name = parameters.at(i).name(); @@ -607,12 +607,12 @@ QString CppCodeMarker::addMarkUp(const QString &in, case '(': finish = i; readChar(); - parenDepth++; + ++parenDepth; break; case ')': finish = i; readChar(); - parenDepth--; + --parenDepth; break; case ':': finish = i; diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index 889ecf3c2..a038be439 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -586,12 +586,12 @@ void DocParser::parse(const QString &source, case '\\': { QString cmdStr; backslashPos = pos; - pos++; + ++pos; while (pos < len) { ch = input_.at(pos); if (ch.isLetterOrNumber()) { cmdStr += ch; - pos++; + ++pos; } else { break; @@ -1452,12 +1452,12 @@ void DocParser::parse(const QString &source, case '{': enterPara(); appendChar('{'); - braceDepth++; - pos++; + ++braceDepth; + ++pos; break; case '}': { - braceDepth--; - pos++; + --braceDepth; + ++pos; auto format = pendingFormats.find(braceDepth); if (format == pendingFormats.end()) { @@ -1642,7 +1642,7 @@ QString DocParser::detailsUnknownCommand(const QSet &metaCommandSet, int i = 0; while (cmds[i].english != nullptr) { commandSet.insert(*cmds[i].alias); - i++; + ++i; } if (aliasMap()->contains(str)) @@ -2179,7 +2179,7 @@ void DocParser::expandMacro(const QString &name, QStringList args; QString rawString; - for (int i = 0; i < numParams; i++) { + for (int i = 0; i < numParams; ++i) { if (numParams == 1 || isLeftBraceAhead()) { args << getArgument(true); } @@ -2221,7 +2221,7 @@ QString DocParser::expandMacroToString(const QString &name, const QString &def, rawString = def; } else { QStringList args; - for (int i = 0; i < numParams; i++) { + for (int i = 0; i < numParams; ++i) { if (numParams == 1 || isLeftBraceAhead()) { args << getArgument(true); } @@ -2302,19 +2302,19 @@ QString DocParser::getBracedArgument(bool verbatim) QString arg; int delimDepth = 0; if (pos < input_.length() && input_[pos] == '{') { - pos++; + ++pos; while (pos < input_.length() && delimDepth >= 0) { switch (input_[pos].unicode()) { case '{': - delimDepth++; + ++delimDepth; arg += QLatin1Char('{'); - pos++; + ++pos; break; case '}': - delimDepth--; + --delimDepth; if (delimDepth >= 0) arg += QLatin1Char('}'); - pos++; + ++pos; break; case '\\': if (verbatim || !expandMacro()) @@ -2325,7 +2325,7 @@ QString DocParser::getBracedArgument(bool verbatim) arg += QChar(' '); else arg += input_[pos]; - pos++; + ++pos; } } if (delimDepth > 0) @@ -2362,17 +2362,17 @@ QString DocParser::getArgument(bool verbatim) case '(': case '[': case '{': - delimDepth++; + ++delimDepth; arg += input_[pos]; - pos++; + ++pos; break; case ')': case ']': case '}': - delimDepth--; + --delimDepth; if (pos == startPos || delimDepth >= 0) { arg += input_[pos]; - pos++; + ++pos; } break; case '\\': @@ -2381,7 +2381,7 @@ QString DocParser::getArgument(bool verbatim) break; default: arg += input_[pos]; - pos++; + ++pos; } } endPos = pos; @@ -2389,7 +2389,7 @@ QString DocParser::getArgument(bool verbatim) (QString(".,:;!?").indexOf(input_[pos - 1]) != -1) && !arg.endsWith("...")) { arg.truncate(arg.length() - 1); - pos--; + --pos; } if (arg.length() > 2 && input_.mid(pos - 2, 2) == "'s") { arg.truncate(arg.length() - 2); @@ -2411,27 +2411,27 @@ QString DocParser::getBracketedArgument() int delimDepth = 0; skipSpacesOrOneEndl(); if (pos < input_.length() && input_[pos] == '[') { - pos++; + ++pos; while (pos < input_.length() && delimDepth >= 0) { switch (input_[pos].unicode()) { case '[': - delimDepth++; + ++delimDepth; arg += QLatin1Char('['); - pos++; + ++pos; break; case ']': - delimDepth--; + --delimDepth; if (delimDepth >= 0) arg += QLatin1Char(']'); - pos++; + ++pos; break; case '\\': arg += input_[pos]; - pos++; + ++pos; break; default: arg += input_[pos]; - pos++; + ++pos; } } if (delimDepth > 0) @@ -2586,7 +2586,7 @@ bool DocParser::isBlankLine() while (i < len && input_[i].isSpace()) { if (input_[i] == '\n') return true; - i++; + ++i; } return false; } @@ -2600,7 +2600,7 @@ bool DocParser::isLeftBraceAhead() // ### bug with '\\' if (input_[i] == '\n') numEndl++; - i++; + ++i; } return numEndl < 2 && i < len && input_[i] == '{'; } @@ -2614,7 +2614,7 @@ bool DocParser::isLeftBracketAhead() // ### bug with '\\' if (input_[i] == '\n') numEndl++; - i++; + ++i; } return numEndl < 2 && i < len && input_[i] == '['; } @@ -2647,14 +2647,14 @@ void DocParser::skipSpacesOrOneEndl() break; } } - pos++; + ++pos; } } void DocParser::skipAllSpaces() { while (pos < len && input_[pos].isSpace()) - pos++; + ++pos; } void DocParser::skipToNextPreprocessorCommand() @@ -2740,7 +2740,7 @@ QString DocParser::untabifyEtc(const QString &str) result.reserve(str.length()); int column = 0; - for (int i = 0; i < str.length(); i++) { + for (int i = 0; i < str.length(); ++i) { const QChar c = str.at(i); if (c == QLatin1Char('\r')) continue; @@ -2757,7 +2757,7 @@ QString DocParser::untabifyEtc(const QString &str) continue; } result += c; - column++; + ++column; } while (result.endsWith("\n\n")) @@ -2773,14 +2773,14 @@ int DocParser::indentLevel(const QString &str) int minIndent = INT_MAX; int column = 0; - for (int i = 0; i < str.length(); i++) { + for (int i = 0; i < str.length(); ++i) { if (str[i] == '\n') { column = 0; } else { if (str[i] != ' ' && column < minIndent) minIndent = column; - column++; + ++column; } } return minIndent; @@ -2794,7 +2794,7 @@ QString DocParser::unindent(int level, const QString &str) QString t; int column = 0; - for (int i = 0; i < str.length(); i++) { + for (int i = 0; i < str.length(); ++i) { if (str[i] == QLatin1Char('\n')) { t += '\n'; column = 0; @@ -2802,7 +2802,7 @@ QString DocParser::unindent(int level, const QString &str) else { if (column >= level) t += str[i]; - column++; + ++column; } } return t; @@ -3182,7 +3182,7 @@ void Doc::initialize(const Config &config) if (cmds[i].no != i) Location::internalError(tr("command %1 missing").arg(i)); - i++; + ++i; } for (const auto ¯oName : config.subVars(CONFIG_MACRO)) { @@ -3273,7 +3273,7 @@ void Doc::trimCStyleComment(Location &location, QString &str) int asterColumn = location.columnNo() + 1; int i; - for (i = 0; i < str.length(); i++) { + for (i = 0; i < str.length(); ++i) { if (m.columnNo() == asterColumn) { if (str[i] != '*') break; @@ -3293,7 +3293,7 @@ void Doc::trimCStyleComment(Location &location, QString &str) if (cleaned.length() == str.length()) str = cleaned; - for (int i = 0; i < 3; i++) + for (int i = 0; i < 3; ++i) location.advance(str[i]); str = str.mid(3, str.length() - 5); } diff --git a/src/qdoc/editdistance.cpp b/src/qdoc/editdistance.cpp index c8451f3c2..ff4630e15 100644 --- a/src/qdoc/editdistance.cpp +++ b/src/qdoc/editdistance.cpp @@ -44,12 +44,12 @@ int editDistance(const QString &s, const QString &t) int *d = new int[m * n]; int result; - for ( i = 0; i < m; i++ ) + for (i = 0; i < m; ++i) D( i, 0 ) = i; - for ( j = 0; j < n; j++ ) + for (j = 0; j < n; ++j) D( 0, j ) = j; - for ( i = 1; i < m; i++ ) { - for ( j = 1; j < n; j++ ) { + for (i = 1; i < m; ++i) { + for (j = 1; j < n; ++j) { if ( s[i - 1] == t[j - 1] ) { D( i, j ) = D( i - 1, j - 1 ); } else { @@ -83,7 +83,7 @@ QString nearestName(const QString &actual, const QSet &candidates) numBest = 1; best = candidate; } else if (delta == deltaBest) { - numBest++; + ++numBest; } } } diff --git a/src/qdoc/node.cpp b/src/qdoc/node.cpp index 08ec638d7..6cd3c74f7 100644 --- a/src/qdoc/node.cpp +++ b/src/qdoc/node.cpp @@ -2383,7 +2383,7 @@ void Aggregate::adoptFunction(FunctionNode *fn) auto it = functionMap_.find(fn->name()); if (it == functionMap_.end()) functionMap_.insert(fn->name(), fn); - functionCount_++; + ++functionCount_; } /*! -- cgit v1.2.3 From fe3ead8597d90f87d40a149f779053e7de414704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucie=20G=C3=A9rard?= Date: Wed, 11 Dec 2019 12:27:17 +0100 Subject: Correct clang version for LLVM libraries BitstreamReader and Remarks Change-Id: I03fef4f93692f60f9b532e08e7c2aa769aa2ee63 Reviewed-by: Joerg Bornemann --- src/global/configure.pri | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/global/configure.pri b/src/global/configure.pri index c401b8ab3..7072ae0b1 100644 --- a/src/global/configure.pri +++ b/src/global/configure.pri @@ -167,7 +167,7 @@ defineReplace(CheckClangLlvmLibForLupdateParser) { LLVMSupport \ LLVMDemangle - versionIsAtLeast($$CLANG_VERSION, "10.0.0") { + versionIsAtLeast($$CLANG_VERSION, "9.0.0") { libToTest += LLVMBitstreamReader\ LLVMRemarks } -- cgit v1.2.3 From 37a8e5abc6f6a15fd3835bdc0c0bee5efb2334aa Mon Sep 17 00:00:00 2001 From: Levon Sargsyan Date: Thu, 5 Dec 2019 12:37:27 +0100 Subject: Make testAndCompare() take an output directory as parameter This patch introduces an extra parameter to testAndCompare(), that allows comparing expected vs actual in the provided output directory. This is necessary for further refactoring of the test, so each test point will use its own directory for its expected output. This will help to avoid name collisions. Change-Id: I6c539ac7e2ec9dae06d8f03ef30f1c218de50ac9 Reviewed-by: Levon Sargsyan Reviewed-by: Paul Wicking --- .../qdoc/generatedoutput/tst_generatedoutput.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index 191671361..871df4157 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -50,7 +50,8 @@ private: void compareLineByLine(const QStringList &expectedFiles); void testAndCompare(const char *input, const char *outNames, - const char *extraParams = nullptr); + const char *extraParams = nullptr, + const char *outputPathPrefix = nullptr); }; void tst_generatedOutput::initTestCase() @@ -124,17 +125,28 @@ void tst_generatedOutput::compareLineByLine(const QStringList &expectedFiles) void tst_generatedOutput::testAndCompare(const char *input, const char *outNames, - const char *extraParams) + const char *extraParams, + const char *outputPathPrefix) { - QStringList args{ "-outputdir", m_outputDir->path(), QFINDTESTDATA(input) }; + QStringList args{ "-outputdir", m_outputDir->path() + "/" + outputPathPrefix, + QFINDTESTDATA(input) }; if (extraParams) args << QString(QLatin1String(extraParams)).split(QChar(' ')); + runQDocProcess(args); + if (QTest::currentTestFailed()) return; - compareLineByLine(QString(QLatin1String(outNames)).split(QChar(' '))); + + QStringList expectedOuts(QString(QLatin1String(outNames)).split(QChar(' '))); + if (outputPathPrefix) + for (auto &expectedOut : expectedOuts) + expectedOut = QString(outputPathPrefix) + "/" + expectedOut; + + compareLineByLine(expectedOuts); } + void tst_generatedOutput::htmlFromQDocFile() { testAndCompare("test.qdocconf", -- cgit v1.2.3 From 1c2d9d4b8deb8396664f3b73c179a214a4d1a9d4 Mon Sep 17 00:00:00 2001 From: Karsten Heimrich Date: Wed, 4 Dec 2019 11:26:57 +0100 Subject: Fix compiling lupdate with clang|llvm * llvm compiled from source uses now git prefix instead of svn * on macOS Catalina terminfo cannot be found, try libcurses instead Change-Id: Iaabad8ca4900599cf015cfaf0f64339378f1dcd1 Reviewed-by: Joerg Bornemann Reviewed-by: Lucie Gerard --- src/global/configure.pri | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/global/configure.pri b/src/global/configure.pri index 7072ae0b1..2d0601245 100644 --- a/src/global/configure.pri +++ b/src/global/configure.pri @@ -1,7 +1,7 @@ -defineReplace(extractVersion) { return($$replace(1, ^(\\d+\\.\\d+\\.\\d+)(svn)?$, \\1)) } -defineReplace(extractMajorVersion) { return($$replace(1, ^(\\d+)\\.\\d+\\.\\d+(svn)?$, \\1)) } -defineReplace(extractMinorVersion) { return($$replace(1, ^\\d+\\.(\\d+)\\.\\d+(svn)?$, \\1)) } -defineReplace(extractPatchVersion) { return($$replace(1, ^\\d+\\.\\d+\\.(\\d+)(svn)?$, \\1)) } +defineReplace(extractVersion) { return($$replace(1, ^(\\d+\\.\\d+\\.\\d+)(svn|git)?$, \\1)) } +defineReplace(extractMajorVersion) { return($$replace(1, ^(\\d+)\\.\\d+\\.\\d+(svn|git)?$, \\1)) } +defineReplace(extractMinorVersion) { return($$replace(1, ^\\d+\\.(\\d+)\\.\\d+(svn|git)?$, \\1)) } +defineReplace(extractPatchVersion) { return($$replace(1, ^\\d+\\.\\d+\\.(\\d+)(svn|git)?$, \\1)) } defineTest(versionIsAtLeast) { actual_major_version = $$extractMajorVersion($$1) @@ -190,8 +190,10 @@ defineReplace(CheckClangLlvmLibForLupdateParser) { return($$CLANG_LLVM_LIBS) } } - !equals(QMAKE_HOST.os, Windows): \ - CLANG_LLVM_LIBS += -lz -ltinfo + !equals(QMAKE_HOST.os, Windows): { + equals(QMAKE_HOST.os, Darwin): CLANG_LLVM_LIBS += -lz -lcurses + else: CLANG_LLVM_LIBS += -lz -ltinfo + } return($$CLANG_LLVM_LIBS) } -- cgit v1.2.3 From 12b49b0d394504d671c944359690066fefd88984 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Thu, 28 Nov 2019 17:02:58 +0100 Subject: QDoc: Use QVector instead of QList MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the use of QVector in most of QDoc. Also, remove one redundant C-style cast to int for result from method call that returns an int. As this happened in a macro, the result is removing a whole bunch of nagging from code inspection. Fixes: QTBUG-80669 Change-Id: Ib1aed95e01eaddd1e1213a145e815a0c4753ac67 Reviewed-by: Mårten Nordheim --- src/qdoc/codemarker.cpp | 2 +- src/qdoc/codemarker.h | 2 +- src/qdoc/codeparser.cpp | 2 +- src/qdoc/codeparser.h | 2 +- src/qdoc/config.cpp | 6 +++--- src/qdoc/config.h | 2 +- src/qdoc/cppcodemarker.cpp | 2 +- src/qdoc/cppcodeparser.cpp | 2 +- src/qdoc/doc.cpp | 20 ++++++++++---------- src/qdoc/doc.h | 16 ++++++++-------- src/qdoc/generator.cpp | 12 ++++++------ src/qdoc/generator.h | 7 ++++--- src/qdoc/helpprojectwriter.h | 6 +++--- src/qdoc/htmlgenerator.cpp | 8 ++++---- src/qdoc/htmlgenerator.h | 2 +- src/qdoc/jscodemarker.cpp | 4 ++-- src/qdoc/main.cpp | 4 ++-- src/qdoc/node.cpp | 12 ++++++------ src/qdoc/node.h | 38 +++++++++++++++++++------------------- src/qdoc/qdocindexfiles.cpp | 2 +- src/qdoc/qdoctagfiles.cpp | 2 +- src/qdoc/qmlcodemarker.cpp | 6 +++--- src/qdoc/qmlcodemarker.h | 2 +- src/qdoc/qmlmarkupvisitor.cpp | 2 +- src/qdoc/qmlmarkupvisitor.h | 4 ++-- src/qdoc/sections.cpp | 2 +- src/qdoc/sections.h | 8 ++++---- src/qdoc/tree.cpp | 24 ++++++++++++------------ src/qdoc/webxmlgenerator.cpp | 2 +- 29 files changed, 102 insertions(+), 101 deletions(-) diff --git a/src/qdoc/codemarker.cpp b/src/qdoc/codemarker.cpp index fc0f69470..f9b1a163e 100644 --- a/src/qdoc/codemarker.cpp +++ b/src/qdoc/codemarker.cpp @@ -39,7 +39,7 @@ QT_BEGIN_NAMESPACE QString CodeMarker::defaultLang; -QList CodeMarker::markers; +QVector CodeMarker::markers; /*! When a code marker constructs itself, it puts itself into diff --git a/src/qdoc/codemarker.h b/src/qdoc/codemarker.h index 687d808df..4a6264ea6 100644 --- a/src/qdoc/codemarker.h +++ b/src/qdoc/codemarker.h @@ -86,7 +86,7 @@ private: QString macName(const Node *parent, const QString &name = QString()); static QString defaultLang; - static QList markers; + static QVector markers; }; QT_END_NAMESPACE diff --git a/src/qdoc/codeparser.cpp b/src/qdoc/codeparser.cpp index 99bd5b1c8..b8d884a13 100644 --- a/src/qdoc/codeparser.cpp +++ b/src/qdoc/codeparser.cpp @@ -42,7 +42,7 @@ QT_BEGIN_NAMESPACE -QList CodeParser::parsers; +QVector CodeParser::parsers; bool CodeParser::showInternal_ = false; bool CodeParser::singleExec_ = false; diff --git a/src/qdoc/codeparser.h b/src/qdoc/codeparser.h index 78ef8c931..b9a85fb75 100644 --- a/src/qdoc/codeparser.h +++ b/src/qdoc/codeparser.h @@ -85,7 +85,7 @@ protected: QDocDatabase *qdb_; private: - static QList parsers; + static QVector parsers; static bool showInternal_; static bool singleExec_; }; diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp index da641d3ea..079ffd0e5 100644 --- a/src/qdoc/config.cpp +++ b/src/qdoc/config.cpp @@ -643,7 +643,7 @@ QStringList Config::getCanonicalPathList(const QString &var, bool validate) cons QRegExp Config::getRegExp(const QString &var) const { QString pattern; - const QList subRegExps = getRegExpList(var); + const QVector subRegExps = getRegExpList(var); for (const auto ®Exp : subRegExps) { if (!regExp.isValid()) @@ -662,10 +662,10 @@ QRegExp Config::getRegExp(const QString &var) const map, converts the string list to a list of regular expressions, and returns it. */ -QList Config::getRegExpList(const QString &var) const +QVector Config::getRegExpList(const QString &var) const { const QStringList strs = getStringList(var); - QList regExps; + QVector regExps; for (const auto &str : strs) regExps += QRegExp(str); return regExps; diff --git a/src/qdoc/config.h b/src/qdoc/config.h index 61ed53d87..7006f002a 100644 --- a/src/qdoc/config.h +++ b/src/qdoc/config.h @@ -100,7 +100,7 @@ public: QStringList getStringList(const QString &var) const; QStringList getCanonicalPathList(const QString &var, bool validate = false) const; QRegExp getRegExp(const QString &var) const; - QList getRegExpList(const QString &var) const; + QVector getRegExpList(const QString &var) const; QSet subVars(const QString &var) const; void subVarsAndValues(const QString &var, ConfigVarMultimap &t) const; QStringList getAllFiles(const QString &filesVar, diff --git a/src/qdoc/cppcodemarker.cpp b/src/qdoc/cppcodemarker.cpp index 06e33d09e..843e24db6 100644 --- a/src/qdoc/cppcodemarker.cpp +++ b/src/qdoc/cppcodemarker.cpp @@ -495,7 +495,7 @@ QString CppCodeMarker::addMarkUp(const QString &in, keywords.insert(keywordTable[j]); } #define readChar() \ - ch = (i < (int)code.length()) ? code[i++].cell() : EOF + ch = (i < code.length()) ? code[i++].cell() : EOF QString code = in; QString out; diff --git a/src/qdoc/cppcodeparser.cpp b/src/qdoc/cppcodeparser.cpp index e92a5d7de..ce92448de 100644 --- a/src/qdoc/cppcodeparser.cpp +++ b/src/qdoc/cppcodeparser.cpp @@ -1015,7 +1015,7 @@ void CppCodeParser::processTopicArgs(const Doc &doc, const QString &topic, NodeL void CppCodeParser::processMetaCommands(NodeList &nodes, DocList &docs) { - QList::Iterator d = docs.begin(); + QVector::Iterator d = docs.begin(); for (const auto &node : nodes) { if (node != nullptr) { processMetaCommands(*d, node); diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index a038be439..83033ca51 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -55,7 +55,7 @@ QT_BEGIN_NAMESPACE Q_GLOBAL_STATIC(QSet, null_Set_QString) Q_GLOBAL_STATIC(TopicList, nullTopicList) Q_GLOBAL_STATIC(QStringList, null_QStringList) -Q_GLOBAL_STATIC(QList, null_QList_Text) +Q_GLOBAL_STATIC(QVector, null_QVector_Text) Q_GLOBAL_STATIC(QStringMultiMap, null_QStringMultiMap) struct Macro @@ -298,10 +298,10 @@ class DocPrivateExtra public: Doc::Sections granularity_; Doc::Sections section_; // ### - QList tableOfContents_; + QVector tableOfContents_; QVector tableOfContentsLevels_; - QList keywords_; - QList targets_; + QVector keywords_; + QVector targets_; QStringMultiMap metaMap_; DocPrivateExtra() @@ -349,7 +349,7 @@ public: QString src; Text text; QSet params; - QList alsoList; + QVector alsoList; QStringList enumItemList; QStringList omitEnumItemList; QSet metacommandsUsed; @@ -3098,9 +3098,9 @@ ArgList Doc::metaCommandArgs(const QString &metacommand) const return priv == nullptr ? ArgList() : priv->metaCommandMap.value(metacommand); } -const QList &Doc::alsoList() const +const QVector &Doc::alsoList() const { - return priv == nullptr ? *null_QList_Text() : priv->alsoList; + return priv == nullptr ? *null_QVector_Text() : priv->alsoList; } bool Doc::hasTableOfContents() const @@ -3118,7 +3118,7 @@ bool Doc::hasTargets() const return priv && priv->extra && !priv->extra->targets_.isEmpty(); } -const QList &Doc::tableOfContents() const +const QVector &Doc::tableOfContents() const { priv->constructExtra(); return priv->extra->tableOfContents_; @@ -3130,13 +3130,13 @@ const QVector &Doc::tableOfContentsLevels() const return priv->extra->tableOfContentsLevels_; } -const QList &Doc::keywords() const +const QVector &Doc::keywords() const { priv->constructExtra(); return priv->extra->keywords_; } -const QList &Doc::targets() const +const QVector &Doc::targets() const { priv->constructExtra(); return priv->extra->targets_; diff --git a/src/qdoc/doc.h b/src/qdoc/doc.h index d67275565..38c469ee3 100644 --- a/src/qdoc/doc.h +++ b/src/qdoc/doc.h @@ -50,7 +50,7 @@ class Text; class DitaRef; typedef QPair ArgLocPair; -typedef QList ArgList; +typedef QVector ArgList; typedef QMap QStringMap; typedef QMultiMap QStringMultiMap; @@ -63,9 +63,9 @@ struct Topic bool isEmpty() const { return topic.isEmpty(); } void clear() { topic.clear(); args.clear(); } }; -typedef QList TopicList; +typedef QVector TopicList; -typedef QList DitaRefList; +typedef QVector DitaRefList; class DitaRef { @@ -154,16 +154,16 @@ public: const QSet &metaCommandsUsed() const; const TopicList &topicsUsed() const; ArgList metaCommandArgs(const QString &metaCommand) const; - const QList &alsoList() const; + const QVector &alsoList() const; bool hasTableOfContents() const; bool hasKeywords() const; bool hasTargets() const; bool isInternal() const; bool isMarkedReimp() const; - const QList &tableOfContents() const; + const QVector &tableOfContents() const; const QVector &tableOfContentsLevels() const; - const QList &keywords() const; - const QList &targets() const; + const QVector &keywords() const; + const QVector &targets() const; const QStringMultiMap &metaTagMap() const; static void initialize(const Config &config); @@ -184,7 +184,7 @@ private: static const Config *config_; }; Q_DECLARE_TYPEINFO(Doc, Q_MOVABLE_TYPE); -typedef QList DocList; +typedef QVector DocList; QT_END_NAMESPACE diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index 0b2d24f27..fe2b56b7a 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -57,7 +57,7 @@ QStringList Generator::exampleDirs; QStringList Generator::exampleImgExts; QMap > Generator::fmtLeftMaps; QMap > Generator::fmtRightMaps; -QList Generator::generators; +QVector Generator::generators; QStringList Generator::imageDirs; QStringList Generator::imageFiles; QMap Generator::imgFileExts; @@ -185,7 +185,7 @@ void Generator::signatureList(const NodeList &nodes, const Node *relative, CodeM generateText(text, relative, marker); } -int Generator::appendSortedNames(Text &text, const ClassNode *cn, const QList &rc) +int Generator::appendSortedNames(Text &text, const ClassNode *cn, const QVector &rc) { QMap classMap; for (const auto &relatedClass : rc) { @@ -716,7 +716,7 @@ QString Generator::fullDocumentLocation(const Node *node, bool useSubdir) void Generator::generateAlsoList(const Node *node, CodeMarker *marker) { - QList alsoList = node->doc().alsoList(); + QVector alsoList = node->doc().alsoList(); supplementAlsoList(node, alsoList); if (!alsoList.isEmpty()) { @@ -879,7 +879,7 @@ void Generator::generateBody(const Node *node, CodeMarker *marker) const EnumNode *enume = static_cast(node); QSet definedItems; - const QList &items = enume->items(); + const QVector &items = enume->items(); for (const auto &item : items) definedItems.insert(item.name()); @@ -1114,7 +1114,7 @@ void Generator::generateInherits(const ClassNode *classe, CodeMarker *marker) << Atom(Atom::FormattingRight,ATOM_FORMATTING_BOLD); int index = 0; - const QList &baseClasses = classe->baseClasses(); + const QVector &baseClasses = classe->baseClasses(); for (const auto &cls : baseClasses) { if (cls.node_) { appendFullName(text, cls.node_, classe); @@ -2163,7 +2163,7 @@ void Generator::initializeTextOutput() sectionNumber_.clear(); } -void Generator::supplementAlsoList(const Node *node, QList &alsoList) +void Generator::supplementAlsoList(const Node *node, QVector &alsoList) { if (node->isFunction() && !node->isMacro()) { const auto fn = static_cast(node); diff --git a/src/qdoc/generator.h b/src/qdoc/generator.h index 24fd5bb48..2ed902ec6 100644 --- a/src/qdoc/generator.h +++ b/src/qdoc/generator.h @@ -141,7 +141,7 @@ protected: static QString outputPrefix(const Node *node); static QString outputSuffix(const Node *node); static void singularPlural(Text &text, const NodeList &nodes); - static void supplementAlsoList(const Node *node, QList &alsoList); + static void supplementAlsoList(const Node *node, QVector &alsoList); static QString trimmedTrailing(const QString &string, const QString &prefix, const QString &suffix); @@ -204,7 +204,8 @@ protected: const QString &fullName, const Node *actualNode); void appendFullNames(Text &text, const NodeList &nodes, const Node *relative); - int appendSortedNames(Text &text, const ClassNode *classe, const QList &classes); + int appendSortedNames(Text &text, const ClassNode *classe, + const QVector &classes); void appendSignature(Text &text, const Node *node); void signatureList(const NodeList &nodes, const Node *relative, CodeMarker *marker); @@ -216,7 +217,7 @@ private: static QStringList exampleImgExts; static QMap > fmtLeftMaps; static QMap > fmtRightMaps; - static QList generators; + static QVector generators; static QStringList imageDirs; static QStringList imageFiles; static QMap imgFileExts; diff --git a/src/qdoc/helpprojectwriter.h b/src/qdoc/helpprojectwriter.h index 64ad3aaec..222a5f097 100644 --- a/src/qdoc/helpprojectwriter.h +++ b/src/qdoc/helpprojectwriter.h @@ -67,13 +67,13 @@ struct HelpProject QString fileName; QString indexRoot; QString indexTitle; - QList keywords; + QVector keywords; QSet files; QSet extraFiles; QSet filterAttributes; QHash> customFilters; QSet excluded; - QList subprojects; + QVector subprojects; QHash memberStatus; bool includeIndexNodes; }; @@ -112,7 +112,7 @@ private: Generator *gen_; QString outputDir; - QList projects; + QVector projects; }; QT_END_NAMESPACE diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 415309157..a336467ba 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -2423,7 +2423,7 @@ void HtmlGenerator::generateTableOfContents(const Node *node, CodeMarker *marker, QVector
      *sections) { - QList toc; + QVector toc; if (node->doc().hasTableOfContents()) toc = node->doc().tableOfContents(); if (tocDepth == 0 || (toc.isEmpty() && !sections && !node->isModule())) { @@ -3182,7 +3182,7 @@ void HtmlGenerator::generateList(const Node *relative, CodeMarker *marker, const if (type != Node::NoType) { NodeList nodeList; qdb_->mergeCollections(type, cnm, relative); - const CollectionList collectionList = cnm.values(); + const auto collectionList = cnm.values(); nodeList.reserve(collectionList.size()); for (auto *collectionNode : collectionList) nodeList.append(collectionNode); @@ -3346,7 +3346,7 @@ void HtmlGenerator::generateSectionList(const Section& section, void HtmlGenerator::generateSectionInheritedList(const Section& section, const Node *relative) { - const QList> &inheritedMembers = section.inheritedMembers(); + const QVector> &inheritedMembers = section.inheritedMembers(); for (const auto &member : inheritedMembers) { out() << "
    • "; out() << member.second << ' '; @@ -3720,7 +3720,7 @@ void HtmlGenerator::generateDetailedMember(const Node *node, generateSince(node, marker); if (node->isProperty()) { - const PropertyNode *property = static_cast(node); + const auto property = static_cast(node); Section section(Section::Accessors, Section::Active); section.appendMembers(property->getters().toVector()); diff --git a/src/qdoc/htmlgenerator.h b/src/qdoc/htmlgenerator.h index 36385e8f0..86801e0af 100644 --- a/src/qdoc/htmlgenerator.h +++ b/src/qdoc/htmlgenerator.h @@ -221,7 +221,7 @@ private: bool obsoleteLinks; QStack xmlWriterStack; static int id; - QList manifestMetaContent; + QVector manifestMetaContent; QString homepage; QString hometitle; QString landingpage; diff --git a/src/qdoc/jscodemarker.cpp b/src/qdoc/jscodemarker.cpp index 6a26fce2e..cc1a234fb 100644 --- a/src/qdoc/jscodemarker.cpp +++ b/src/qdoc/jscodemarker.cpp @@ -67,7 +67,7 @@ bool JsCodeMarker::recognizeCode(const QString &code) QQmlJS::Parser parser(&engine); QString newCode = code; - QList pragmas = extractPragmas(newCode); + QVector pragmas = extractPragmas(newCode); lexer.setCode(newCode, 1); return parser.parseProgram(); @@ -118,7 +118,7 @@ QString JsCodeMarker::addMarkUp(const QString &code, QQmlJS::Lexer lexer(&engine); QString newCode = code; - QList pragmas = extractPragmas(newCode); + QVector pragmas = extractPragmas(newCode); lexer.setCode(newCode, 1); QQmlJS::Parser parser(&engine); diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp index e8f03e559..127bcf0d5 100644 --- a/src/qdoc/main.cpp +++ b/src/qdoc/main.cpp @@ -73,7 +73,7 @@ bool creationTimeBefore(const QFileInfo &fi1, const QFileInfo &fi2) #ifndef QT_NO_TRANSLATION typedef QPair Translator; -static QList translators; +static QVector translators; #endif static ClangCodeParser* clangParser_ = nullptr; @@ -167,7 +167,7 @@ static void loadIndexFiles(Config &config, const QSet &formats) for (int i = 0; i < config.dependModules().size(); i++) { QString indexToAdd; QString dependModule = config.dependModules()[i]; - QList foundIndices; + QVector foundIndices; // Always look in module-specific subdir, even with *.nosubdirs config bool useModuleSubDir = !subDirs.contains(dependModule); subDirs << dependModule; diff --git a/src/qdoc/node.cpp b/src/qdoc/node.cpp index 6cd3c74f7..a1df93cb8 100644 --- a/src/qdoc/node.cpp +++ b/src/qdoc/node.cpp @@ -659,7 +659,7 @@ QString Node::fullName(const Node *relative) const If a match is found, return true. If no match is found, return false. */ -bool Node::match(const QList &types) const +bool Node::match(const QVector &types) const { for (int i=0; i &bases) +void ClassNode::promotePublicBases(const QVector &bases) { if (!bases.isEmpty()) { for (int i = bases.size() - 1; i >= 0; --i) { @@ -2978,7 +2978,7 @@ void ClassNode::removePrivateAndInternalBases() ClassNode *dc = derived_.at(i).node_; if (dc != nullptr && (dc->isPrivate() || dc->isInternal())) { derived_.removeAt(i); - const QList &dd = dc->derivedClasses(); + const QVector &dd = dc->derivedClasses(); for (int j = dd.size() - 1; j >= 0; --j) derived_.insert(i, dd.at(j)); } @@ -3377,7 +3377,7 @@ PropertyNode *ClassNode::findPropertyNode(const QString &name) PropertyNode *pn = nullptr; - const QList &bases = baseClasses(); + const QVector &bases = baseClasses(); if (!bases.isEmpty()) { for (int i = 0; i < bases.size(); ++i) { ClassNode *cn = bases[i].node_; @@ -3388,7 +3388,7 @@ PropertyNode *ClassNode::findPropertyNode(const QString &name) } } } - const QList &ignoredBases = ignoredBaseClasses(); + const QVector &ignoredBases = ignoredBaseClasses(); if (!ignoredBases.isEmpty()) { for (int i = 0; i < ignoredBases.size(); ++i) { ClassNode *cn = ignoredBases[i].node_; @@ -3412,7 +3412,7 @@ PropertyNode *ClassNode::findPropertyNode(const QString &name) QmlTypeNode *ClassNode::findQmlBaseNode() { QmlTypeNode *result = nullptr; - const QList &bases = baseClasses(); + const QVector &bases = baseClasses(); if (!bases.isEmpty()) { for (int i = 0; i < bases.size(); ++i) { diff --git a/src/qdoc/node.h b/src/qdoc/node.h index 9629ca418..6594df921 100644 --- a/src/qdoc/node.h +++ b/src/qdoc/node.h @@ -58,7 +58,7 @@ class SharedCommentNode; typedef QMap FunctionMap; typedef QList NodeList; -typedef QList ClassList; +typedef QVector ClassList; typedef QVector NodeVector; typedef QMap NodeMap; typedef QMap NodeMapMap; @@ -66,7 +66,7 @@ typedef QMultiMap NodeMultiMap; typedef QMap NodeMultiMapMap; typedef QMap CNMap; typedef QMultiMap CNMultiMap; -typedef QList CollectionList; +typedef QVector CollectionList; class Node { @@ -287,7 +287,7 @@ public: virtual void markDefault() { } virtual void markReadOnly(bool ) { } - bool match(const QList &types) const; + bool match(const QVector &types) const; Aggregate *parent() const { return parent_; } const QString &name() const { return name_; } QString physicalModuleName() const; @@ -615,15 +615,15 @@ public: void removePrivateAndInternalBases(); void resolvePropertyOverriddenFromPtrs(PropertyNode *pn); - QList &baseClasses() { return bases_; } - QList &derivedClasses() { return derived_; } - QList &ignoredBaseClasses() { return ignoredBases_; } - QList &usingClauses() { return usingClauses_; } + QVector &baseClasses() { return bases_; } + QVector &derivedClasses() { return derived_; } + QVector &ignoredBaseClasses() { return ignoredBases_; } + QVector &usingClauses() { return usingClauses_; } - const QList &baseClasses() const { return bases_; } - const QList &derivedClasses() const { return derived_; } - const QList &ignoredBaseClasses() const { return ignoredBases_; } - const QList &usingClauses() const { return usingClauses_; } + const QVector &baseClasses() const { return bases_; } + const QVector &derivedClasses() const { return derived_; } + const QVector &ignoredBaseClasses() const { return ignoredBases_; } + const QVector &usingClauses() const { return usingClauses_; } QmlTypeNode *qmlElement() { return qmlelement; } void setQmlElement(QmlTypeNode *qcn) { qmlelement = qcn; } @@ -636,13 +636,13 @@ public: bool docMustBeGenerated() const override; private: - void promotePublicBases(const QList &bases); + void promotePublicBases(const QVector &bases); private: - QList bases_; - QList derived_; - QList ignoredBases_; - QList usingClauses_; + QVector bases_; + QVector derived_; + QVector ignoredBases_; + QVector usingClauses_; bool abstract_; bool wrapper_; QString obsoleteLink_; @@ -707,7 +707,7 @@ struct ImportRec { bool isEmpty() const { return name_.isEmpty(); } }; -typedef QList ImportList; +typedef QVector ImportList; class QmlTypeNode : public Aggregate { @@ -847,14 +847,14 @@ public: void setFlagsType(TypedefNode *typedeff); bool hasItem(const QString &name) const { return names_.contains(name); } - const QList &items() const { return items_; } + const QVector &items() const { return items_; } Access itemAccess(const QString &name) const; const TypedefNode *flagsType() const { return flagsType_; } QString itemValue(const QString &name) const; Node *clone(Aggregate *parent) override; private: - QList items_; + QVector items_; QSet names_; const TypedefNode *flagsType_; }; diff --git a/src/qdoc/qdocindexfiles.cpp b/src/qdoc/qdocindexfiles.cpp index 0d284f6bf..022d658b1 100644 --- a/src/qdoc/qdocindexfiles.cpp +++ b/src/qdoc/qdocindexfiles.cpp @@ -955,7 +955,7 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter &writer, Node *node, { // Classes contain information about their base classes. const ClassNode *classNode = static_cast(node); - const QList bases = classNode->baseClasses(); + const QVector bases = classNode->baseClasses(); QSet baseStrings; for (const auto &related : bases) { ClassNode *n = related.node_; diff --git a/src/qdoc/qdoctagfiles.cpp b/src/qdoc/qdoctagfiles.cpp index bdf001469..cd4e9e0e5 100644 --- a/src/qdoc/qdoctagfiles.cpp +++ b/src/qdoc/qdoctagfiles.cpp @@ -138,7 +138,7 @@ void QDocTagFiles::generateTagFileCompounds(QXmlStreamWriter &writer, const Aggr // Classes contain information about their base classes. const ClassNode *classNode = static_cast(node); - const QList bases = classNode->baseClasses(); + const QVector bases = classNode->baseClasses(); for (const auto &related : bases) { ClassNode *n = related.node_; if (n) diff --git a/src/qdoc/qmlcodemarker.cpp b/src/qdoc/qmlcodemarker.cpp index cb31b62b0..719fc710b 100644 --- a/src/qdoc/qmlcodemarker.cpp +++ b/src/qdoc/qmlcodemarker.cpp @@ -172,7 +172,7 @@ QString QmlCodeMarker::addMarkUp(const QString &code, QQmlJS::Lexer lexer(&engine); QString newCode = code; - QList pragmas = extractPragmas(newCode); + QVector pragmas = extractPragmas(newCode); lexer.setCode(newCode, 1); QQmlJS::Parser parser(&engine); @@ -224,11 +224,11 @@ static void replaceWithSpace(QString &str, int idx, int n) Searches for ".pragma " or ".import " declarations in \a script. Currently supported pragmas are: library */ -QList QmlCodeMarker::extractPragmas(QString &script) +QVector QmlCodeMarker::extractPragmas(QString &script) { const QString pragma(QLatin1String("pragma")); const QString library(QLatin1String("library")); - QList removed; + QVector removed; QQmlJS::Lexer l(nullptr); l.setCode(script, 0); diff --git a/src/qdoc/qmlcodemarker.h b/src/qdoc/qmlcodemarker.h index e28d46309..81194cb36 100644 --- a/src/qdoc/qmlcodemarker.h +++ b/src/qdoc/qmlcodemarker.h @@ -65,7 +65,7 @@ public: /* Copied from src/declarative/qml/qdeclarativescriptparser.cpp */ #ifndef QT_NO_DECLARATIVE - QList extractPragmas(QString &script); + QVector extractPragmas(QString &script); #endif private: diff --git a/src/qdoc/qmlmarkupvisitor.cpp b/src/qdoc/qmlmarkupvisitor.cpp index e99bf5fc3..dbcdf8aa5 100644 --- a/src/qdoc/qmlmarkupvisitor.cpp +++ b/src/qdoc/qmlmarkupvisitor.cpp @@ -41,7 +41,7 @@ QT_BEGIN_NAMESPACE #ifndef QT_NO_DECLARATIVE QmlMarkupVisitor::QmlMarkupVisitor(const QString &source, - const QList &pragmas, + const QVector &pragmas, QQmlJS::Engine *engine) { this->source = source; diff --git a/src/qdoc/qmlmarkupvisitor.h b/src/qdoc/qmlmarkupvisitor.h index 1f48722b1..a0e3f870b 100644 --- a/src/qdoc/qmlmarkupvisitor.h +++ b/src/qdoc/qmlmarkupvisitor.h @@ -51,7 +51,7 @@ public: }; QmlMarkupVisitor(const QString &code, - const QList &pragmas, + const QVector &pragmas, QQmlJS::Engine *engine); virtual ~QmlMarkupVisitor(); @@ -158,7 +158,7 @@ private: QQmlJS::Engine *engine; QVector extraTypes; - QList extraLocations; + QVector extraLocations; QString source; QString output; quint32 cursor; diff --git a/src/qdoc/sections.cpp b/src/qdoc/sections.cpp index b21369aea..7fd39bc4f 100644 --- a/src/qdoc/sections.cpp +++ b/src/qdoc/sections.cpp @@ -938,7 +938,7 @@ void Sections::distributeQmlNodeInSummaryVector(SectionVector &sv, Node *n, bool static void pushBaseClasses(QStack &stack, ClassNode *cn) { - const QList &baseClasses = cn->baseClasses(); + const QVector baseClasses = cn->baseClasses(); for (const auto &cls : baseClasses) { if (cls.node_) stack.prepend(cls.node_); diff --git a/src/qdoc/sections.h b/src/qdoc/sections.h index d9aeeb28f..9c1514c2d 100644 --- a/src/qdoc/sections.h +++ b/src/qdoc/sections.h @@ -37,11 +37,11 @@ QT_BEGIN_NAMESPACE typedef QMultiMap MemberMap; // the string is the member signature typedef QPair ClassMap; // the node is the QML type -typedef QList ClassMapList; +typedef QVector ClassMapList; typedef QPair KeysAndNodes; typedef QPair ClassKeysNodes; -typedef QList ClassKeysNodesList; +typedef QVector ClassKeysNodesList; class Section { @@ -101,7 +101,7 @@ public: const QStringList &keys(Status t) const { return (t == Obsolete ? obsoleteKeys_ : keys_); } const NodeVector &members() const { return members_; } const NodeVector &reimplementedMembers() const { return reimplementedMembers_; } - const QList > &inheritedMembers() const { return inheritedMembers_; } + const QVector > &inheritedMembers() const { return inheritedMembers_; } ClassKeysNodesList &classKeysNodesList() { return classKeysNodesList_; } const NodeVector &obsoleteMembers() const { return obsoleteMembers_; } void appendMembers(const NodeVector &nv) { members_.append(nv); } @@ -125,7 +125,7 @@ private: NodeVector members_; NodeVector obsoleteMembers_; NodeVector reimplementedMembers_; - QList > inheritedMembers_; + QVector > inheritedMembers_; ClassKeysNodesList classKeysNodesList_; QMultiMap memberMap_; diff --git a/src/qdoc/tree.cpp b/src/qdoc/tree.cpp index e85952934..6ff473bdc 100644 --- a/src/qdoc/tree.cpp +++ b/src/qdoc/tree.cpp @@ -237,10 +237,10 @@ void Tree::resolveBaseClasses(Aggregate *n) for (auto it = n->constBegin(); it != n->constEnd(); ++it) { if ((*it)->isClassNode()) { ClassNode *cn = static_cast(*it); - QList &bases = cn->baseClasses(); - for (auto &cls : bases) { - if (cls.node_ == nullptr) { - Node *n = qdb_->findClassNode(cls.path_); + QVector &bases = cn->baseClasses(); + for (auto &base : bases) { + if (base.node_ == nullptr) { + Node *n = qdb_->findClassNode(base.path_); /* If the node for the base class was not found, the reason might be that the subclass is in a @@ -256,12 +256,12 @@ void Tree::resolveBaseClasses(Aggregate *n) if (parent != nullptr) // Exclude the root namespace if (parent->isNamespace() && !parent->name().isEmpty()) - n = findClassNode(cls.path_, parent); + n = findClassNode(base.path_, parent); } if (n != nullptr) { ClassNode *bcn = static_cast(n); - cls.node_ = bcn; - bcn->addDerivedClass(cls.access_, cn); + base.node_ = bcn; + bcn->addDerivedClass(base.access_, cn); } } } @@ -366,7 +366,7 @@ void Tree::resolveUsingClauses() for (auto *child : children) { if (child->isClassNode()) { ClassNode *cn = static_cast(child); - QList &usingClauses = cn->usingClauses(); + QVector &usingClauses = cn->usingClauses(); for (auto &usingClause : usingClauses) { if (usingClause.node() == nullptr) { const Node *n = qdb_->findFunctionNode(usingClause.signature(), cn, Node::CPP); @@ -792,7 +792,7 @@ void Tree::resolveTargets(Aggregate *root) } if (child->doc().hasTableOfContents()) { - const QList &toc = child->doc().tableOfContents(); + const QVector &toc = child->doc().tableOfContents(); for (int i = 0; i < toc.size(); ++i) { QString ref = refForAtom(toc.at(i)); QString title = Text::sectionHeading(toc.at(i)).toString(); @@ -805,7 +805,7 @@ void Tree::resolveTargets(Aggregate *root) } } if (child->doc().hasKeywords()) { - const QList &keywords = child->doc().keywords(); + const QVector &keywords = child->doc().keywords(); for (int i = 0; i < keywords.size(); ++i) { QString ref = refForAtom(keywords.at(i)); QString title = keywords.at(i)->string(); @@ -817,7 +817,7 @@ void Tree::resolveTargets(Aggregate *root) } } if (child->doc().hasTargets()) { - const QList &targets = child->doc().targets(); + const QVector &targets = child->doc().targets(); for (int i = 0; i < targets.size(); ++i) { QString ref = refForAtom(targets.at(i)); QString title = targets.at(i)->string(); @@ -843,7 +843,7 @@ Tree::findUnambiguousTarget(const QString &target, Node::Genus genus, QString &r { int numBestTargets = 0; TargetRec *bestTarget = nullptr; - QList bestTargetList; + QVector bestTargetList; QString key = target; for (auto it = nodesByTargetTitle_.find(key); it != nodesByTargetTitle_.constEnd(); ++it) { diff --git a/src/qdoc/webxmlgenerator.cpp b/src/qdoc/webxmlgenerator.cpp index 54373815a..330f3d474 100644 --- a/src/qdoc/webxmlgenerator.cpp +++ b/src/qdoc/webxmlgenerator.cpp @@ -222,7 +222,7 @@ void WebXMLGenerator::append(QXmlStreamWriter &writer, Node *node) while (atom) atom = addAtomElements(writer, atom, node, marker_); - QList alsoList = node->doc().alsoList(); + QVector alsoList = node->doc().alsoList(); supplementAlsoList(node, alsoList); if (!alsoList.isEmpty()) { -- cgit v1.2.3 From a7ee1fc7a0516ba3639b4680149fa7adebb13a1f Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Wed, 4 Dec 2019 11:38:00 +0100 Subject: QDoc: Minor cleanup in main.cpp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Simple cleanup to improve readability. Change-Id: If9ee2947ad76e64d230584a3cb36e51457f643c3 Reviewed-by: Topi Reiniö --- src/qdoc/main.cpp | 90 ++++++++++++++++++++++++++----------------------------- 1 file changed, 42 insertions(+), 48 deletions(-) diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp index 127bcf0d5..1accb6449 100644 --- a/src/qdoc/main.cpp +++ b/src/qdoc/main.cpp @@ -108,9 +108,8 @@ static void loadIndexFiles(Config &config, const QSet &formats) for (const auto &format : formats) { if (config.getBool(format + Config::dot + "nosubdirs")) { useNoSubDirs = true; - QString singleOutputSubdir = config.getString(format - + Config::dot - + "outputsubdir"); + QString singleOutputSubdir = + config.getString(format + Config::dot + "outputsubdir"); if (singleOutputSubdir.isEmpty()) singleOutputSubdir = "html"; subDirs << singleOutputSubdir; @@ -119,11 +118,11 @@ static void loadIndexFiles(Config &config, const QSet &formats) if (config.dependModules().size() > 0) { if (config.indexDirs().size() > 0) { - for (int i = 0; i < config.indexDirs().size(); i++) { - if (config.indexDirs()[i].startsWith("..")) { + for (auto &dir : config.indexDirs()){ + if (dir.startsWith("..")) { const QString prefix(QDir(config.currentDir()).relativeFilePath(config.previousCurrentDir())); if (!prefix.isEmpty()) - config.indexDirs()[i].prepend(prefix + QLatin1Char('/')); + dir.prepend(prefix + QLatin1Char('/')); } } /* @@ -149,13 +148,12 @@ static void loadIndexFiles(Config &config, const QSet &formats) config.dependModules() << foundModules; }); } else { - for (int i = 0; i < config.indexDirs().size(); i++) { - QDir scanDir = QDir(config.indexDirs()[i]); + for (const auto &indexDir : config.indexDirs()) { + QDir scanDir = QDir(indexDir); scanDir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot); QFileInfoList dirList = scanDir.entryInfoList(); - for (int j = 0; j < dirList.size(); j++) { - config.dependModules().append(dirList[j].fileName()); - } + for (const auto &dir : dirList) + config.dependModules().append(dir.fileName()); } } // Remove self-dependencies and possible duplicates @@ -164,19 +162,16 @@ static void loadIndexFiles(Config &config, const QSet &formats) Location::logToStdErrAlways(QString("qdocconf file has depends = *;" " loading all %1 index files found").arg(config.dependModules().count())); } - for (int i = 0; i < config.dependModules().size(); i++) { - QString indexToAdd; - QString dependModule = config.dependModules()[i]; + for (const auto &module : config.dependModules()) { QVector foundIndices; // Always look in module-specific subdir, even with *.nosubdirs config - bool useModuleSubDir = !subDirs.contains(dependModule); - subDirs << dependModule; + bool useModuleSubDir = !subDirs.contains(module); + subDirs << module; - for (int j = 0; j < config.indexDirs().size(); j++) { + for (const auto &dir : config.indexDirs()) { for (const auto &subDir : subDirs) { - QString fileToLookFor = config.indexDirs()[j] - + QLatin1Char('/') + subDir - + QLatin1Char('/') + dependModule + ".index"; + QString fileToLookFor = dir + QLatin1Char('/') + subDir + + QLatin1Char('/') + module + ".index"; if (QFile::exists(fileToLookFor)) { QFileInfo tempFileInfo(fileToLookFor); if (!foundIndices.contains(tempFileInfo)) @@ -186,8 +181,9 @@ static void loadIndexFiles(Config &config, const QSet &formats) } // Clear the temporary module-specific subdir if (useModuleSubDir) - subDirs.remove(dependModule); + subDirs.remove(module); std::sort(foundIndices.begin(), foundIndices.end(), creationTimeBefore); + QString indexToAdd; if (foundIndices.size() > 1) { /* QDoc should always use the last entry in the multimap when there are @@ -199,10 +195,10 @@ static void loadIndexFiles(Config &config, const QSet &formats) for (const auto &found : qAsConst(foundIndices)) indexPaths << found.absoluteFilePath(); Location::null.warning(QString("Multiple index files found for dependency \"%1\":\n%2").arg( - dependModule, indexPaths.join('\n'))); + module, indexPaths.join('\n'))); Location::null.warning(QString("Using %1 as index file for dependency \"%2\"").arg( foundIndices[foundIndices.size() - 1].absoluteFilePath(), - dependModule)); + module)); indexToAdd = foundIndices[foundIndices.size() - 1].absoluteFilePath(); } else if (foundIndices.size() == 1) { @@ -214,7 +210,7 @@ static void loadIndexFiles(Config &config, const QSet &formats) } else if (!asteriskUsed) { Location::null.warning(QString("\"%1\" Cannot locate index file for dependency \"%2\"").arg( - config.getString(CONFIG_PROJECT), config.dependModules()[i])); + config.getString(CONFIG_PROJECT), module)); } } } @@ -296,8 +292,8 @@ static void processQdocconfFile(const QString &fileName, Config &config) for (const auto &fileName : fileNames) { bool found = false; if (!translators.isEmpty()) { - for (int i=0; i exampleImageDirs; QStringList exampleImageList = config.getExampleImageFiles(excludedDirs, excludedFiles); - for (int i = 0; i < exampleImageList.size(); ++i) { - if (exampleImageList[i].contains("doc/images")) { - QString t = exampleImageList[i].left(exampleImageList[i].lastIndexOf("doc/images") + 10); - if (!exampleImageDirs.contains(t)) { + for (const auto &image : exampleImageList) { + if (image.contains("doc/images")) { + QString t = image.left(image.lastIndexOf("doc/images") + 10); + if (!exampleImageDirs.contains(t)) exampleImageDirs.insert(t); - } } } Generator::augmentImageDirs(exampleImageDirs); @@ -407,13 +402,13 @@ static void processQdocconfFile(const QString &fileName, Config &config) headerList = config.getAllFiles(CONFIG_HEADERS,CONFIG_HEADERDIRS, excludedDirs, excludedFiles); QMap headers; QMultiMap headerFileNames; - for (int i = 0; i < headerList.size(); ++i) { - if (headerList[i].contains(QString("doc/snippets"))) + for (const auto &header : headerList) { + if (header.contains(QLatin1String("doc/snippets"))) continue; - if (headers.contains(headerList[i])) + if (headers.contains(header)) continue; - headers.insert(headerList[i],headerList[i]); - QString t = headerList[i].mid(headerList[i].lastIndexOf('/')+1); + headers.insert(header, header); + QString t = header.mid(header.lastIndexOf('/') + 1); headerFileNames.insert(t, t); } @@ -421,13 +416,13 @@ static void processQdocconfFile(const QString &fileName, Config &config) sourceList = config.getAllFiles(CONFIG_SOURCES,CONFIG_SOURCEDIRS, excludedDirs, excludedFiles); QMap sources; QMultiMap sourceFileNames; - for (int i = 0; i < sourceList.size(); ++i) { - if (sourceList[i].contains(QString("doc/snippets"))) + for (const auto &source : sourceList) { + if (source.contains(QLatin1String("doc/snippets"))) continue; - if (sources.contains(sourceList[i])) + if (sources.contains(source)) continue; - sources.insert(sourceList[i], sourceList[i]); - QString t = sourceList[i].mid(sourceList[i].lastIndexOf('/') + 1); + sources.insert(source, source); + QString t = source.mid(source.lastIndexOf('/') + 1); sourceFileNames.insert(t, t); } /* @@ -436,10 +431,10 @@ static void processQdocconfFile(const QString &fileName, Config &config) */ qCDebug(lcQdoc, "Reading exampledirs"); QStringList exampleQdocList = config.getExampleQdocFiles(excludedDirs, excludedFiles); - for (int i = 0; i < exampleQdocList.size(); ++i) { - if (!sources.contains(exampleQdocList[i])) { - sources.insert(exampleQdocList[i], exampleQdocList[i]); - QString t = exampleQdocList[i].mid(exampleQdocList[i].lastIndexOf('/') + 1); + for (const auto &example : exampleQdocList) { + if (!sources.contains(example)) { + sources.insert(example, example); + QString t = example.mid(example.lastIndexOf('/') + 1); sourceFileNames.insert(t, t); } } @@ -596,9 +591,8 @@ int main(int argc, char **argv) // Tidy everything away: #ifndef QT_NO_TRANSLATION if (!translators.isEmpty()) { - for (int i=0; i Date: Fri, 13 Dec 2019 09:47:47 +0100 Subject: windeployqt: Fix MinGW deployment The platform no longer has a 'd' suffix for debug binaries (see qtbase/4d289edb14aeb4976218cc306bfc514e37521b82). Add a check. Fixes: QTBUG-80763 Task-number: QTBUG-78445 Change-Id: I8d4617e2111167a546fa172cbca78a656d233ee5 Reviewed-by: Simon Hausmann Reviewed-by: Oliver Wolff --- src/shared/winutils/utils.cpp | 2 +- src/shared/winutils/utils.h | 5 +++++ src/windeployqt/main.cpp | 10 +++++----- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/shared/winutils/utils.cpp b/src/shared/winutils/utils.cpp index 9818d53f9..f32b9b76b 100644 --- a/src/shared/winutils/utils.cpp +++ b/src/shared/winutils/utils.cpp @@ -112,7 +112,7 @@ QStringList findSharedLibraries(const QDir &directory, Platform platform, QString nameFilter = prefix; if (nameFilter.isEmpty()) nameFilter += QLatin1Char('*'); - if (debugMatchMode == MatchDebug && (platform & WindowsBased)) + if (debugMatchMode == MatchDebug && platformHasDebugSuffix(platform)) nameFilter += QLatin1Char('d'); nameFilter += sharedLibrarySuffix(platform); QStringList result; diff --git a/src/shared/winutils/utils.h b/src/shared/winutils/utils.h index 5552a3665..7915f8e4e 100644 --- a/src/shared/winutils/utils.h +++ b/src/shared/winutils/utils.h @@ -61,6 +61,11 @@ enum Platform { UnknownPlatform }; +inline bool platformHasDebugSuffix(Platform p) // Uses 'd' debug suffix +{ + return (p & WindowsBased) != 0 && (p & MinGW) == 0; +} + enum ListOption { ListNone = 0, ListSource, diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp index 1fefc6d21..99d1e152a 100644 --- a/src/windeployqt/main.cpp +++ b/src/windeployqt/main.cpp @@ -1062,7 +1062,7 @@ static QString libraryPath(const QString &libraryLocation, const char *name, if (platform & WindowsBased) { result += QLatin1String(name); result += qtLibInfix; - if (debug) + if (debug && platformHasDebugSuffix(platform)) result += QLatin1Char('d'); } else if (platform & UnixBased) { result += QStringLiteral("lib"); @@ -1408,11 +1408,11 @@ static DeployResult deploy(const Options &options, if ((options.platform & WindowsBased) && options.platform != WinCEIntel && options.platform != WinCEArm && !qtGuiLibrary.isEmpty()) { QString libGlesName = QStringLiteral("libGLESV2"); - if (isDebug) + if (isDebug && platformHasDebugSuffix(options.platform)) libGlesName += QLatin1Char('d'); libGlesName += QLatin1String(windowsSharedLibrarySuffix); QString libCombinedQtAngleName = QStringLiteral("QtANGLE"); - if (isDebug) + if (isDebug && platformHasDebugSuffix(options.platform)) libCombinedQtAngleName += QLatin1Char('d'); libCombinedQtAngleName += QLatin1String(windowsSharedLibrarySuffix); const QStringList guiLibraries = findDependentLibraries(qtGuiLibrary, options.platform, errorMessage); @@ -1428,7 +1428,7 @@ static DeployResult deploy(const Options &options, const QString libGlesFullPath = qtBinDir + slash + libGlesName; deployedQtLibraries.append(libGlesFullPath); QString libEglFullPath = qtBinDir + slash + QStringLiteral("libEGL"); - if (isDebug) + if (isDebug && platformHasDebugSuffix(options.platform)) libEglFullPath += QLatin1Char('d'); libEglFullPath += QLatin1String(windowsSharedLibrarySuffix); deployedQtLibraries.append(libEglFullPath); @@ -1606,7 +1606,7 @@ static bool deployWebEngineCore(const QMap &qmakeVariables, "qtwebengine_resources_100p.pak", "qtwebengine_resources_200p.pak"}; QByteArray webEngineProcessName(webEngineProcessC); - if (isDebug) + if (isDebug && platformHasDebugSuffix(options.platform)) webEngineProcessName.append('d'); if (optVerboseLevel) std::wcout << "Deploying: " << webEngineProcessName.constData() << "...\n"; -- cgit v1.2.3 From 9e634885403f4dda7e82fd55cc37d19959f5351d Mon Sep 17 00:00:00 2001 From: Levon Sargsyan Date: Fri, 13 Dec 2019 10:35:49 +0100 Subject: QDoc tests: add convenience function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allow tests to remove full paths from strings to circumvent hard-coded paths in output. Change-Id: I4270f201649e9e5145b1ce75d2d372605a95579d Reviewed-by: Topi Reiniö --- tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index 871df4157..907c95f67 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -46,6 +46,7 @@ private: QScopedPointer m_outputDir; QString m_qdoc; + void removeFullPathStrings(QString& str); void runQDocProcess(const QStringList &arguments); void compareLineByLine(const QStringList &expectedFiles); void testAndCompare(const char *input, @@ -95,6 +96,13 @@ void tst_generatedOutput::runQDocProcess(const QStringList &arguments) QFAIL("Running QDoc failed. See output above."); } +void tst_generatedOutput::removeFullPathStrings(QString &str) +{ + QRegularExpression re("(location|path|filepath)=\"[^\"]+\""); + QRegularExpressionMatch match = re.match(str); + str.replace(re, match.captured(1) + "=\"REMOVED_BY_TEST\""); +} + void tst_generatedOutput::compareLineByLine(const QStringList &expectedFiles) { for (const auto &file : expectedFiles) { -- cgit v1.2.3 From f16319f0a06f6e0e5dca58397053de0d8d95a828 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Fri, 13 Dec 2019 10:45:25 +0100 Subject: QDoc: Add tests to cover webXML generation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch adds new tests and test data for covering webxml generation from plain qdoc, as well as from cpp and qml projects. Fixes: QTBUG-79003 Change-Id: I416e88cb4d0ee5c9a27c5096f4fd0d534a4ba50c Reviewed-by: Topi Reiniö --- .../bug80259/webxml_testmodule.qdocconf | 2 + .../expected_output/html/first.webxml | 15 ++++ .../expected_output/html/index.webxml | 10 +++ .../html/qdoctests-qdocfileoutput-linking.webxml | 18 +++++ .../html/qdoctests-qdocfileoutput.webxml | 82 ++++++++++++++++++++++ .../expected_output/html/second.webxml | 10 +++ .../html/test-componentset-example.webxml | 38 ++++++++++ .../expected_output/html/testcpp-module.webxml | 4 ++ .../expected_output/html/testqdoc-test.webxml | 54 ++++++++++++++ .../html/testqdoc-testderived.webxml | 13 ++++ .../expected_output/html/testqdoc.webxml | 75 ++++++++++++++++++++ .../expected_output/html/third.webxml | 10 +++ .../html/uicomponents-qmlmodule.webxml | 4 ++ .../qdoc/generatedoutput/tst_generatedoutput.cpp | 40 +++++++++++ tests/auto/qdoc/generatedoutput/webxml.qdocconf | 3 + .../auto/qdoc/generatedoutput/webxml_test.qdocconf | 2 + .../qdoc/generatedoutput/webxml_testcpp.qdocconf | 2 + .../qdoc/generatedoutput/webxml_testqml.qdocconf | 2 + 18 files changed, 384 insertions(+) create mode 100644 tests/auto/qdoc/generatedoutput/bug80259/webxml_testmodule.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/html/first.webxml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/html/index.webxml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/html/second.webxml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/html/test-componentset-example.webxml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/html/testcpp-module.webxml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-test.webxml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-testderived.webxml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc.webxml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/html/third.webxml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/html/uicomponents-qmlmodule.webxml create mode 100644 tests/auto/qdoc/generatedoutput/webxml.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/webxml_test.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/webxml_testcpp.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/webxml_testqml.qdocconf diff --git a/tests/auto/qdoc/generatedoutput/bug80259/webxml_testmodule.qdocconf b/tests/auto/qdoc/generatedoutput/bug80259/webxml_testmodule.qdocconf new file mode 100644 index 000000000..642fe5c2d --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/bug80259/webxml_testmodule.qdocconf @@ -0,0 +1,2 @@ +include(testmodule.qdocconf) +include(../webxml.qdocconf) diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/first.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/first.webxml new file mode 100644 index 000000000..1001d0c53 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/first.webxml @@ -0,0 +1,15 @@ + + + + + + This is a first class + + + + This is a nested class + + + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/index.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/index.webxml new file mode 100644 index 000000000..4e51df8d0 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/index.webxml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml new file mode 100644 index 000000000..9e203d926 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml @@ -0,0 +1,18 @@ + + + + + + + + + This is a page for testing QDoc's link command. + + + + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml new file mode 100644 index 000000000..c09bbe31c --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml @@ -0,0 +1,82 @@ + + + + + + + + + This is a simple page for testing purposes only. + QDoc generates documentation for software projects. It does this by extracting QDoc comments from project source files. QDoc comments are signified by a C-style-like comment tag followed by an exclamation point, like this: /*! This text is contained within QDoc comment tags. */. +
      + Supported file types + QDoc parses .cpp and .qdoc files. It does extract comments from header (.h) files. +
      +
      + Further information + This test document is written with the purpose of testing the output QDoc generates when parsing .qdoc files. It is fairly simple and makes use of a limited subset of QDoc's command. Those commands are: + + + + \page + + + + \title + + + + \brief + + + + \e (for emphasizing "QDoc comments") + + + + \c (for multiple monospace-formatted entries) + + + + \section1 + + + + \list + + + + \li + + + + \endlist + + +
      +
      + Linking + There are multiple ways to create hyperlinks to other topics: + + + + Linking to a page title + + + + Linking to a section title + + + + Linking using a \target string + + + + Linking using a \keyword string + + +
      +
      +
      +
      +
      diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/second.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/second.webxml new file mode 100644 index 000000000..0a4939841 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/second.webxml @@ -0,0 +1,10 @@ + + + + + + This is a second class + + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/test-componentset-example.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/test-componentset-example.webxml new file mode 100644 index 000000000..8689d2e76 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/test-componentset-example.webxml @@ -0,0 +1,38 @@ + + + + + + + + + + This example demonstrates one of the ways to document QML types. + In particular, there are sample types that are documented with QDoc commands comments. There are documentation comments for the QML types and their public interfaces. The types are grouped into a module, the UI Components module. + The uicomponents.qdoc file generates the overview page for the UI Components module page. + The generated documentation is available in the UI Components module. +
      + QML Class + The QML types use the \qmltype to document the type. In addition, they have the \inmodule command in order for QDoc to associate them to the UIComponents module. + QDoc uses the \brief command to place a basic description when listing the types. +
      +
      + Properties, Signals, Handlers, and Methods + The types have their properties, signals, handlers, and methods defined in their respective QML files. QDoc associates the properties and methods to the types, therefore, you only need to place the documentation above the property, method, or signal. + To document the type of a property alias, you must use the \qmlproperty command to specify the data type. + \qmlproperty int anAliasedProperty +An aliased property of type int. +
      +
      + Internal Documentation + You may declare that a documentation is for internal use by placing the \internal command after the beginning QDoc comment /*. QDoc will prevent the internal documentation from appearing in the public API. + If you wish to omit certain parts of the documentation, you may use the \omit and \endomit command. +
      +
      + QML Types with C++ Implementation + This example only demonstrates the documentation for types in QML files, but the regular QML commands may be placed inside C++ classes to define the public API of the QML type. +
      +
      +
      +
      +
      diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/testcpp-module.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/testcpp-module.webxml new file mode 100644 index 000000000..5d24b3077 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/testcpp-module.webxml @@ -0,0 +1,4 @@ + + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-test.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-test.webxml new file mode 100644 index 000000000..028921a6e --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-test.webxml @@ -0,0 +1,54 @@ + + + + + + A class in a namespace. + + + + + A macro with argument x. + + + + + Use obsoleteMember() instead. + + + + + Use someFunction() instead. + + + + + An inline function, documented using the \fn QDoc command. + + + + + Use someFunction() instead. + + + + + + Function that takes a parameter v. Also returns the value of v. + + + + + + + Function that takes a parameter i and b. + + + + + Function that must be reimplemented. + + + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-testderived.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-testderived.webxml new file mode 100644 index 000000000..07b6c4caf --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-testderived.webxml @@ -0,0 +1,13 @@ + + + + + + A derived class in a namespace. + + + + + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc.webxml new file mode 100644 index 000000000..750f544b8 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc.webxml @@ -0,0 +1,75 @@ + + + + + + + A namespace. +
      + Usage + This namespace is for testing QDoc output. +
      +
      + + + + + + A class in a namespace. + + + + + A macro with argument x. + + + + + Use obsoleteMember() instead. + + + + + Use someFunction() instead. + + + + + An inline function, documented using the \fn QDoc command. + + + + + Use someFunction() instead. + + + + + + Function that takes a parameter v. Also returns the value of v. + + + + + + + Function that takes a parameter i and b. + + + + + Function that must be reimplemented. + + + + + + A derived class in a namespace. + + + + + +
      +
      +
      diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/third.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/third.webxml new file mode 100644 index 000000000..d826bb421 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/third.webxml @@ -0,0 +1,10 @@ + + + + + + This is a third class + + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/uicomponents-qmlmodule.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/uicomponents-qmlmodule.webxml new file mode 100644 index 000000000..5d24b3077 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/uicomponents-qmlmodule.webxml @@ -0,0 +1,4 @@ + + + + diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index 907c95f67..17f930981 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -42,6 +42,11 @@ private slots: void htmlFromQml(); void htmlFromCppBug80259(); + void webXmlFromQDocFile(); + void webXmlFromCpp(); + void webXmlFromQml(); + void webXmlFromCppBug80259(); + private: QScopedPointer m_outputDir; QString m_qdoc; @@ -126,6 +131,8 @@ void tst_generatedOutput::compareLineByLine(const QStringList &expectedFiles) QString prefix = file + delim + QString::number(lineNumber) + delim; QString expectedLine = prefix + expectedIn.readLine(); QString actualLine = prefix + actualIn.readLine(); + removeFullPathStrings(actualLine); + removeFullPathStrings(expectedLine); QCOMPARE(actualLine, expectedLine); } } @@ -162,6 +169,13 @@ void tst_generatedOutput::htmlFromQDocFile() "qdoctests-qdocfileoutput-linking.html"); } +void tst_generatedOutput::webXmlFromQDocFile() +{ + testAndCompare("webxml_test.qdocconf", + "html/qdoctests-qdocfileoutput.webxml " + "html/qdoctests-qdocfileoutput-linking.webxml"); +} + void tst_generatedOutput::htmlFromCpp() { testAndCompare("testcpp.qdocconf", @@ -171,6 +185,16 @@ void tst_generatedOutput::htmlFromCpp() "testqdoc.html"); } + +void tst_generatedOutput::webXmlFromCpp() +{ + testAndCompare("webxml_testcpp.qdocconf", + "html/testcpp-module.webxml " + "html/testqdoc-test.webxml " + "html/testqdoc-testderived.webxml"); +} + + void tst_generatedOutput::htmlFromQml() { testAndCompare("testqml.qdocconf", @@ -188,6 +212,13 @@ void tst_generatedOutput::htmlFromQml() "qml-int.html"); } +void tst_generatedOutput::webXmlFromQml() +{ + testAndCompare("webxml_testqml.qdocconf", + "html/test-componentset-example.webxml " + "html/uicomponents-qmlmodule.webxml"); +} + void tst_generatedOutput::htmlFromCppBug80259() { testAndCompare("bug80259/testmodule.qdocconf", @@ -197,6 +228,15 @@ void tst_generatedOutput::htmlFromCppBug80259() "index.html"); } +void tst_generatedOutput::webXmlFromCppBug80259() +{ + testAndCompare("bug80259/webxml_testmodule.qdocconf", + "html/first.webxml " + "html/second.webxml " + "html/third.webxml " + "html/index.webxml"); +} + QTEST_APPLESS_MAIN(tst_generatedOutput) #include "tst_generatedoutput.moc" diff --git a/tests/auto/qdoc/generatedoutput/webxml.qdocconf b/tests/auto/qdoc/generatedoutput/webxml.qdocconf new file mode 100644 index 000000000..d6e6290b8 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/webxml.qdocconf @@ -0,0 +1,3 @@ +outputformats = WebXML +WebXML.quotinginformation = true +WebXML.nosubdirs = true diff --git a/tests/auto/qdoc/generatedoutput/webxml_test.qdocconf b/tests/auto/qdoc/generatedoutput/webxml_test.qdocconf new file mode 100644 index 000000000..bac4f3b4e --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/webxml_test.qdocconf @@ -0,0 +1,2 @@ +include(test.qdocconf) +include(webxml.qdocconf) diff --git a/tests/auto/qdoc/generatedoutput/webxml_testcpp.qdocconf b/tests/auto/qdoc/generatedoutput/webxml_testcpp.qdocconf new file mode 100644 index 000000000..e242cef27 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/webxml_testcpp.qdocconf @@ -0,0 +1,2 @@ +include(testcpp.qdocconf) +include(webxml.qdocconf) diff --git a/tests/auto/qdoc/generatedoutput/webxml_testqml.qdocconf b/tests/auto/qdoc/generatedoutput/webxml_testqml.qdocconf new file mode 100644 index 000000000..537685700 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/webxml_testqml.qdocconf @@ -0,0 +1,2 @@ +include(testqml.qdocconf) +include(webxml.qdocconf) -- cgit v1.2.3 From b74034a3bcedee3cb1489f17a028a7680bfc5d98 Mon Sep 17 00:00:00 2001 From: Thibaut Cuvelier Date: Fri, 13 Dec 2019 02:16:54 +0100 Subject: Factor out the formatting of the "since" text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I3ec3342eb3362664c605c4120238566d87c8b176 Reviewed-by: Paul Wicking Reviewed-by: Topi Reiniö --- src/qdoc/generator.cpp | 34 ++++++++++++---------- src/qdoc/generator.h | 1 + src/qdoc/htmlgenerator.cpp | 24 +++------------ .../expected_output/qml-qdoc-test-doctest.html | 4 +-- .../expected_output/testqdoc-test.html | 2 +- 5 files changed, 27 insertions(+), 38 deletions(-) diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index fe2b56b7a..a65b47333 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -1337,28 +1337,32 @@ void Generator::generateReimplementsClause(const FunctionNode *fn, CodeMarker *m } } +QString Generator::formatSince(const Node *node) +{ + QStringList since = node->since().split(QLatin1Char(' ')); + + // If there is only one argument, assume it is the Qt version number. + if (since.count() == 1) + return "Qt " + since[0]; + + // Otherwise, use the original string. + return node->since(); +} + void Generator::generateSince(const Node *node, CodeMarker *marker) { if (!node->since().isEmpty()) { Text text; text << Atom::ParaLeft << "This " - << typeString(node); + << typeString(node) + << " was introduced "; if (node->isEnumType()) - text << " was introduced or modified in "; - else - text << " was introduced in "; - - QStringList since = node->since().split(QLatin1Char(' ')); - if (since.count() == 1) { - // If there is only one argument, assume it is the Qt version number. - text << " Qt " << since[0]; - } else { - // Otherwise, reconstruct the string. - text << " " << since.join(' '); - } - - text << "." << Atom::ParaRight; + text << "or modified "; + text << "in " + << formatSince(node) + << "." + << Atom::ParaRight; generateText(text, node, marker); } } diff --git a/src/qdoc/generator.h b/src/qdoc/generator.h index 2ed902ec6..10fd5131a 100644 --- a/src/qdoc/generator.h +++ b/src/qdoc/generator.h @@ -157,6 +157,7 @@ protected: void generateRequiredLinks(const Node *node, CodeMarker *marker); void generateLinkToExample(const ExampleNode *en, CodeMarker *marker, const QString &exampleUrl); virtual void generateFileList(const ExampleNode *en, CodeMarker *marker, bool images); + static QString formatSince(const Node *node); void generateSince(const Node *node, CodeMarker *marker); void generateStatus(const Node *node, CodeMarker *marker); void generatePrivateSignalNote(const Node *node, CodeMarker *marker); diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index a336467ba..afd39e0e2 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -2172,16 +2172,8 @@ void HtmlGenerator::generateRequisites(Aggregate *aggregate, CodeMarker *marker) //add the since and project into the map if (!aggregate->since().isEmpty()) { text.clear(); - QStringList since = aggregate->since().split(QLatin1Char(' ')); - if (since.count() == 1) { - // If there is only one argument, assume it is the Qt version number. - text << " Qt " << since[0]; - } - else { - //Otherwise, reconstruct the string. - text << " " << since.join(' '); - } - text << Atom::ParaRight; + text << formatSince(aggregate) + << Atom::ParaRight; requisites.insert(sinceText, text); } @@ -2304,16 +2296,8 @@ void HtmlGenerator::generateQmlRequisites(QmlTypeNode *qcn, CodeMarker *marker) //add the since and project into the map if (!qcn->since().isEmpty()) { text.clear(); - QStringList since = qcn->since().split(QLatin1Char(' ')); - if (since.count() == 1) { - // If there is only one argument, assume it is the Qt version number. - text << " Qt " << since[0]; - } - else { - //Otherwise, reconstruct the string. - text << " " << since.join(' '); - } - text << Atom::ParaRight; + text << formatSince(qcn) + << Atom::ParaRight; requisites.insert(sinceText, text); } diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html index 8ad2b4d5e..626531c04 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html @@ -24,7 +24,7 @@

      Represents a doc test case. More...

      -
      Import Statement: import QDoc.Test 1.1
      Since: QDoc.Test 0.9
        + Import Statement: import QDoc.Test 1.1 Since: QDoc.Test 0.9
    @@ -80,7 +80,7 @@ fail(message = "oops")

    Fails the current test case, with the optional message.

    -

    This method was introduced in QDoc.Test 1.0.

    +

    This method was introduced in QDoc.Test 1.0.


    diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html index 32fb9efa0..f172a10e7 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html @@ -73,7 +73,7 @@

    QDOCTEST_MACRO2(x)

    A macro with argument x.

    -

    This function was introduced in Test 1.1.

    +

    This function was introduced in Test 1.1.

    -- cgit v1.2.3 From 54ba8c725517fd3651d8949473a155329def62e7 Mon Sep 17 00:00:00 2001 From: Milla Pohjanheimo Date: Thu, 12 Dec 2019 15:14:17 +0200 Subject: Add binary compatibility files for qttools 5.14 branch BC files built against 5.14.0 added. Change-Id: I460c304049a7794083f6b516530c0faf0b6fa2e8 Reviewed-by: Simon Hausmann --- .../bic/data/QtDesigner.5.14.0.linux-gcc-amd64.txt | 21644 +++++++++++++++++++ .../bic/data/QtHelp.5.14.0.linux-gcc-amd64.txt | 20768 ++++++++++++++++++ .../bic/data/QtUiTools.5.14.0.linux-gcc-amd64.txt | 19649 +++++++++++++++++ 3 files changed, 62061 insertions(+) create mode 100644 tests/auto/bic/data/QtDesigner.5.14.0.linux-gcc-amd64.txt create mode 100644 tests/auto/bic/data/QtHelp.5.14.0.linux-gcc-amd64.txt create mode 100644 tests/auto/bic/data/QtUiTools.5.14.0.linux-gcc-amd64.txt diff --git a/tests/auto/bic/data/QtDesigner.5.14.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtDesigner.5.14.0.linux-gcc-amd64.txt new file mode 100644 index 000000000..bd48fbb6a --- /dev/null +++ b/tests/auto/bic/data/QtDesigner.5.14.0.linux-gcc-amd64.txt @@ -0,0 +1,21644 @@ +Class std::__failure_type + size=1 align=1 + base size=0 base align=1 +std::__failure_type (0x0x7f761ec16ba0) 0 empty + +Class std::__do_is_destructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_destructible_impl (0x0x7f761ecd9360) 0 empty + +Class std::__do_is_nt_destructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_nt_destructible_impl (0x0x7f761ecd95a0) 0 empty + +Class std::__do_is_default_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_default_constructible_impl (0x0x7f761ecd97e0) 0 empty + +Class std::__do_is_static_castable_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_static_castable_impl (0x0x7f761ecd9a20) 0 empty + +Class std::__do_is_direct_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_direct_constructible_impl (0x0x7f761ecd9ba0) 0 empty + +Class std::__do_is_nary_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_nary_constructible_impl (0x0x7f761ecd9f60) 0 empty + +Class std::__do_is_implicitly_default_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_implicitly_default_constructible_impl (0x0x7f761ed470c0) 0 empty + +Class std::__do_common_type_impl + size=1 align=1 + base size=0 base align=1 +std::__do_common_type_impl (0x0x7f761ed9b780) 0 empty + +Class std::__do_member_type_wrapper + size=1 align=1 + base size=0 base align=1 +std::__do_member_type_wrapper (0x0x7f761ed9b840) 0 empty + +Class std::__invoke_memfun_ref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memfun_ref (0x0x7f761ed9bc00) 0 empty + +Class std::__invoke_memfun_deref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memfun_deref (0x0x7f761ed9bc60) 0 empty + +Class std::__invoke_memobj_ref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memobj_ref (0x0x7f761ed9bcc0) 0 empty + +Class std::__invoke_memobj_deref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memobj_deref (0x0x7f761ed9bd20) 0 empty + +Class std::__invoke_other + size=1 align=1 + base size=0 base align=1 +std::__invoke_other (0x0x7f761ed9bd80) 0 empty + +Class std::__result_of_memfun_ref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memfun_ref_impl (0x0x7f761ed9be40) 0 empty + +Class std::__result_of_memfun_deref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memfun_deref_impl (0x0x7f761ed9bf00) 0 empty + +Class std::__result_of_memobj_ref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memobj_ref_impl (0x0x7f761edcc000) 0 empty + +Class std::__result_of_memobj_deref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memobj_deref_impl (0x0x7f761edcc0c0) 0 empty + +Class std::__result_of_other_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_other_impl (0x0x7f761edcc420) 0 empty + +Class std::__swappable_details::__do_is_swappable_impl + size=1 align=1 + base size=0 base align=1 +std::__swappable_details::__do_is_swappable_impl (0x0x7f761edcc780) 0 empty + +Class std::__swappable_details::__do_is_nothrow_swappable_impl + size=1 align=1 + base size=0 base align=1 +std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7f761edcc7e0) 0 empty + +Class std::__nonesuch + size=1 align=1 + base size=0 base align=1 +std::__nonesuch (0x0x7f761edccd80) 0 empty + +Class std::piecewise_construct_t + size=1 align=1 + base size=0 base align=1 +std::piecewise_construct_t (0x0x7f761ee17420) 0 empty + +Class std::__nonesuch_no_braces + size=1 align=1 + base size=1 base align=1 +std::__nonesuch_no_braces (0x0x7f761edbaa28) 0 empty + std::__nonesuch (0x0x7f761ee17900) 0 empty + +Class std::__true_type + size=1 align=1 + base size=0 base align=1 +std::__true_type (0x0x7f761c4942a0) 0 empty + +Class std::__false_type + size=1 align=1 + base size=0 base align=1 +std::__false_type (0x0x7f761c494300) 0 empty + +Class std::input_iterator_tag + size=1 align=1 + base size=0 base align=1 +std::input_iterator_tag (0x0x7f761c4f3000) 0 empty + +Class std::output_iterator_tag + size=1 align=1 + base size=0 base align=1 +std::output_iterator_tag (0x0x7f761c4f3060) 0 empty + +Class std::forward_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::forward_iterator_tag (0x0x7f761edbaf08) 0 empty + std::input_iterator_tag (0x0x7f761c4f30c0) 0 empty + +Class std::bidirectional_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::bidirectional_iterator_tag (0x0x7f761edbaf70) 0 empty + std::forward_iterator_tag (0x0x7f761c4f5000) 0 empty + std::input_iterator_tag (0x0x7f761c4f3120) 0 empty + +Class std::random_access_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::random_access_iterator_tag (0x0x7f761c4f5068) 0 empty + std::bidirectional_iterator_tag (0x0x7f761c4f50d0) 0 empty + std::forward_iterator_tag (0x0x7f761c4f5138) 0 empty + std::input_iterator_tag (0x0x7f761c4f3180) 0 empty + +Class __gnu_cxx::__ops::_Iter_less_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_less_iter (0x0x7f761c580c60) 0 empty + +Class __gnu_cxx::__ops::_Iter_less_val + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_less_val (0x0x7f761c580d80) 0 empty + +Class __gnu_cxx::__ops::_Val_less_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Val_less_iter (0x0x7f761c5a40c0) 0 empty + +Class __gnu_cxx::__ops::_Iter_equal_to_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f761c5a43c0) 0 empty + +Class __gnu_cxx::__ops::_Iter_equal_to_val + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f761c5a44e0) 0 empty + +Class __locale_struct + size=232 align=8 + base size=232 base align=8 +__locale_struct (0x0x7f761c62f7e0) 0 + +Class timeval + size=16 align=8 + base size=16 base align=8 +timeval (0x0x7f761c62fae0) 0 + +Class timespec + size=16 align=8 + base size=16 base align=8 +timespec (0x0x7f761c62fb40) 0 + +Class __pthread_rwlock_arch_t + size=56 align=8 + base size=56 base align=8 +__pthread_rwlock_arch_t (0x0x7f761c62fc00) 0 + +Class __pthread_internal_list + size=16 align=8 + base size=16 base align=8 +__pthread_internal_list (0x0x7f761c62fc60) 0 + +Class __pthread_mutex_s + size=40 align=8 + base size=40 base align=8 +__pthread_mutex_s (0x0x7f761c62fcc0) 0 + +Class __pthread_cond_s + size=48 align=8 + base size=48 base align=8 +__pthread_cond_s (0x0x7f761c62fd20) 0 + +Class pthread_attr_t + size=56 align=8 + base size=56 base align=8 +pthread_attr_t (0x0x7f761c272000) 0 + +Class random_data + size=48 align=8 + base size=48 base align=8 +random_data (0x0x7f761c2722a0) 0 + +Class drand48_data + size=24 align=8 + base size=24 base align=8 +drand48_data (0x0x7f761c272300) 0 + +Vtable for std::exception +std::exception::_ZTVSt9exception: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9exception) +16 (int (*)(...))std::exception::~exception +24 (int (*)(...))std::exception::~exception +32 (int (*)(...))std::exception::what + +Class std::exception + size=8 align=8 + base size=8 base align=8 +std::exception (0x0x7f761c32b0c0) 0 nearly-empty + vptr=((& std::exception::_ZTVSt9exception) + 16) + +Vtable for std::bad_exception +std::bad_exception::_ZTVSt13bad_exception: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt13bad_exception) +16 (int (*)(...))std::bad_exception::~bad_exception +24 (int (*)(...))std::bad_exception::~bad_exception +32 (int (*)(...))std::bad_exception::what + +Class std::bad_exception + size=8 align=8 + base size=8 base align=8 +std::bad_exception (0x0x7f761c4f5478) 0 nearly-empty + vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16) + std::exception (0x0x7f761c32b2a0) 0 nearly-empty + primary-for std::bad_exception (0x0x7f761c4f5478) + +Vtable for std::type_info +std::type_info::_ZTVSt9type_info: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9type_info) +16 (int (*)(...))std::type_info::~type_info +24 (int (*)(...))std::type_info::~type_info +32 (int (*)(...))std::type_info::__is_pointer_p +40 (int (*)(...))std::type_info::__is_function_p +48 (int (*)(...))std::type_info::__do_catch +56 (int (*)(...))std::type_info::__do_upcast + +Class std::type_info + size=16 align=8 + base size=16 base align=8 +std::type_info (0x0x7f761c32b480) 0 + vptr=((& std::type_info::_ZTVSt9type_info) + 16) + +Vtable for std::bad_cast +std::bad_cast::_ZTVSt8bad_cast: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt8bad_cast) +16 (int (*)(...))std::bad_cast::~bad_cast +24 (int (*)(...))std::bad_cast::~bad_cast +32 (int (*)(...))std::bad_cast::what + +Class std::bad_cast + size=8 align=8 + base size=8 base align=8 +std::bad_cast (0x0x7f761c4f54e0) 0 nearly-empty + vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16) + std::exception (0x0x7f761c32b840) 0 nearly-empty + primary-for std::bad_cast (0x0x7f761c4f54e0) + +Vtable for std::bad_typeid +std::bad_typeid::_ZTVSt10bad_typeid: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt10bad_typeid) +16 (int (*)(...))std::bad_typeid::~bad_typeid +24 (int (*)(...))std::bad_typeid::~bad_typeid +32 (int (*)(...))std::bad_typeid::what + +Class std::bad_typeid + size=8 align=8 + base size=8 base align=8 +std::bad_typeid (0x0x7f761c4f5548) 0 nearly-empty + vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16) + std::exception (0x0x7f761c32ba20) 0 nearly-empty + primary-for std::bad_typeid (0x0x7f761c4f5548) + +Class std::__exception_ptr::exception_ptr + size=8 align=8 + base size=8 base align=8 +std::__exception_ptr::exception_ptr (0x0x7f761c32bc00) 0 + +Vtable for std::nested_exception +std::nested_exception::_ZTVSt16nested_exception: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt16nested_exception) +16 (int (*)(...))std::nested_exception::~nested_exception +24 (int (*)(...))std::nested_exception::~nested_exception + +Class std::nested_exception + size=16 align=8 + base size=16 base align=8 +std::nested_exception (0x0x7f761c3621e0) 0 + vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16) + +Vtable for std::bad_alloc +std::bad_alloc::_ZTVSt9bad_alloc: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9bad_alloc) +16 (int (*)(...))std::bad_alloc::~bad_alloc +24 (int (*)(...))std::bad_alloc::~bad_alloc +32 (int (*)(...))std::bad_alloc::what + +Class std::bad_alloc + size=8 align=8 + base size=8 base align=8 +std::bad_alloc (0x0x7f761c4f55b0) 0 nearly-empty + vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16) + std::exception (0x0x7f761c3628a0) 0 nearly-empty + primary-for std::bad_alloc (0x0x7f761c4f55b0) + +Vtable for std::bad_array_new_length +std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt20bad_array_new_length) +16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length +24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length +32 (int (*)(...))std::bad_array_new_length::what + +Class std::bad_array_new_length + size=8 align=8 + base size=8 base align=8 +std::bad_array_new_length (0x0x7f761c4f5618) 0 nearly-empty + vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16) + std::bad_alloc (0x0x7f761c4f5680) 0 nearly-empty + primary-for std::bad_array_new_length (0x0x7f761c4f5618) + std::exception (0x0x7f761c362a80) 0 nearly-empty + primary-for std::bad_alloc (0x0x7f761c4f5680) + +Class std::nothrow_t + size=1 align=1 + base size=0 base align=1 +std::nothrow_t (0x0x7f761c362c60) 0 empty + +Class std::__allocator_traits_base + size=1 align=1 + base size=0 base align=1 +std::__allocator_traits_base (0x0x7f761c362e40) 0 empty + +Class std::__numeric_limits_base + size=1 align=1 + base size=0 base align=1 +std::__numeric_limits_base (0x0x7f761c405360) 0 empty + +Class QSysInfo + size=1 align=1 + base size=0 base align=1 +QSysInfo (0x0x7f761bc7f8a0) 0 empty + +Class QMessageLogContext + size=32 align=8 + base size=32 base align=8 +QMessageLogContext (0x0x7f761bc7f9c0) 0 + +Class QMessageLogger + size=32 align=8 + base size=32 base align=8 +QMessageLogger (0x0x7f761bc7fba0) 0 + +Class QFlag + size=4 align=4 + base size=4 base align=4 +QFlag (0x0x7f761bcbb2a0) 0 + +Class QIncompatibleFlag + size=4 align=4 + base size=4 base align=4 +QIncompatibleFlag (0x0x7f761bcfaa20) 0 + +Class std::__atomic_flag_base + size=1 align=1 + base size=1 base align=1 +std::__atomic_flag_base (0x0x7f761bd92f00) 0 + +Class std::atomic_flag + size=1 align=1 + base size=1 base align=1 +std::atomic_flag (0x0x7f761bd3f4e0) 0 + std::__atomic_flag_base (0x0x7f761bd92f60) 0 + +Class QAtomicInt + size=4 align=4 + base size=4 base align=4 +QAtomicInt (0x0x7f761bd3fc30) 0 + QAtomicInteger (0x0x7f761bd3fc98) 0 + QBasicAtomicInteger (0x0x7f761b8dc1e0) 0 + +Class QInternal + size=1 align=1 + base size=0 base align=1 +QInternal (0x0x7f761b519d20) 0 empty + +Class QtPrivate::QSlotObjectBase + size=16 align=8 + base size=16 base align=8 +QtPrivate::QSlotObjectBase (0x0x7f761b581300) 0 + +Class QGenericArgument + size=16 align=8 + base size=16 base align=8 +QGenericArgument (0x0x7f761b581a20) 0 + +Class QGenericReturnArgument + size=16 align=8 + base size=16 base align=8 +QGenericReturnArgument (0x0x7f761b8138f0) 0 + QGenericArgument (0x0x7f761b581cc0) 0 + +Class QMetaObject::SuperData + size=8 align=8 + base size=8 base align=8 +QMetaObject::SuperData (0x0x7f761b5bc180) 0 + +Class QMetaObject + size=48 align=8 + base size=48 base align=8 +QMetaObject (0x0x7f761b5bc120) 0 + +Class QMetaObject::Connection + size=8 align=8 + base size=8 base align=8 +QMetaObject::Connection (0x0x7f761b5bca20) 0 + +Class QLatin1Char + size=1 align=1 + base size=1 base align=1 +QLatin1Char (0x0x7f761b66f540) 0 + +Class QChar + size=2 align=2 + base size=2 base align=2 +QChar (0x0x7f761b66fc60) 0 + +Class QtPrivate::RefCount + size=4 align=4 + base size=4 base align=4 +QtPrivate::RefCount (0x0x7f761b33da80) 0 + +Class QArrayData + size=24 align=8 + base size=24 base align=8 +QArrayData (0x0x7f761b33dde0) 0 + +Class QtPrivate::QContainerImplHelper + size=1 align=1 + base size=0 base align=1 +QtPrivate::QContainerImplHelper (0x0x7f761b3c5120) 0 empty + +Class lconv + size=96 align=8 + base size=96 base align=8 +lconv (0x0x7f761b079960) 0 + +Vtable for __cxxabiv1::__forced_unwind +__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class __cxxabiv1::__forced_unwind + size=8 align=8 + base size=8 base align=8 +__cxxabiv1::__forced_unwind (0x0x7f761b079a20) 0 nearly-empty + vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16) + +Class sched_param + size=4 align=4 + base size=4 base align=4 +sched_param (0x0x7f761b13db40) 0 + +Class timex + size=208 align=8 + base size=208 base align=8 +timex (0x0x7f761b13dc00) 0 + +Class tm + size=56 align=8 + base size=56 base align=8 +tm (0x0x7f761b13dc60) 0 + +Class itimerspec + size=32 align=8 + base size=32 base align=8 +itimerspec (0x0x7f761b13dcc0) 0 + +Class _pthread_cleanup_buffer + size=32 align=8 + base size=32 base align=8 +_pthread_cleanup_buffer (0x0x7f761b13dd20) 0 + +Class __pthread_cleanup_frame + size=24 align=8 + base size=24 base align=8 +__pthread_cleanup_frame (0x0x7f761b13de40) 0 + +Class __pthread_cleanup_class + size=24 align=8 + base size=24 base align=8 +__pthread_cleanup_class (0x0x7f761b13dea0) 0 + +Class _IO_marker + size=24 align=8 + base size=24 base align=8 +_IO_marker (0x0x7f761ae7ce40) 0 + +Class _IO_FILE + size=216 align=8 + base size=216 base align=8 +_IO_FILE (0x0x7f761ae7cea0) 0 + +Class std::_Hash_impl + size=1 align=1 + base size=0 base align=1 +std::_Hash_impl (0x0x7f761b040f00) 0 empty + +Class std::_Fnv_hash_impl + size=1 align=1 + base size=0 base align=1 +std::_Fnv_hash_impl (0x0x7f761b0610c0) 0 empty + +Class std::locale + size=8 align=8 + base size=8 base align=8 +std::locale (0x0x7f761ade8240) 0 + +Vtable for std::locale::facet +std::locale::facet::_ZTVNSt6locale5facetE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt6locale5facetE) +16 (int (*)(...))std::locale::facet::~facet +24 (int (*)(...))std::locale::facet::~facet + +Class std::locale::facet + size=16 align=8 + base size=12 base align=8 +std::locale::facet (0x0x7f761ade8600) 0 + vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16) + +Class std::locale::id + size=8 align=8 + base size=8 base align=8 +std::locale::id (0x0x7f761ade88a0) 0 + +Class std::locale::_Impl + size=40 align=8 + base size=40 base align=8 +std::locale::_Impl (0x0x7f761ade8a80) 0 + +Class std::__cow_string + size=8 align=8 + base size=8 base align=8 +std::__cow_string (0x0x7f761ae38a80) 0 + +Vtable for std::logic_error +std::logic_error::_ZTVSt11logic_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt11logic_error) +16 (int (*)(...))std::logic_error::~logic_error +24 (int (*)(...))std::logic_error::~logic_error +32 (int (*)(...))std::logic_error::what + +Class std::logic_error + size=16 align=8 + base size=16 base align=8 +std::logic_error (0x0x7f761aca4958) 0 + vptr=((& std::logic_error::_ZTVSt11logic_error) + 16) + std::exception (0x0x7f761ae38b40) 0 nearly-empty + primary-for std::logic_error (0x0x7f761aca4958) + +Vtable for std::domain_error +std::domain_error::_ZTVSt12domain_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12domain_error) +16 (int (*)(...))std::domain_error::~domain_error +24 (int (*)(...))std::domain_error::~domain_error +32 (int (*)(...))std::logic_error::what + +Class std::domain_error + size=16 align=8 + base size=16 base align=8 +std::domain_error (0x0x7f761aca49c0) 0 + vptr=((& std::domain_error::_ZTVSt12domain_error) + 16) + std::logic_error (0x0x7f761aca4a28) 0 + primary-for std::domain_error (0x0x7f761aca49c0) + std::exception (0x0x7f761ae38ba0) 0 nearly-empty + primary-for std::logic_error (0x0x7f761aca4a28) + +Vtable for std::invalid_argument +std::invalid_argument::_ZTVSt16invalid_argument: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt16invalid_argument) +16 (int (*)(...))std::invalid_argument::~invalid_argument +24 (int (*)(...))std::invalid_argument::~invalid_argument +32 (int (*)(...))std::logic_error::what + +Class std::invalid_argument + size=16 align=8 + base size=16 base align=8 +std::invalid_argument (0x0x7f761aca4a90) 0 + vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16) + std::logic_error (0x0x7f761aca4af8) 0 + primary-for std::invalid_argument (0x0x7f761aca4a90) + std::exception (0x0x7f761ae38c00) 0 nearly-empty + primary-for std::logic_error (0x0x7f761aca4af8) + +Vtable for std::length_error +std::length_error::_ZTVSt12length_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12length_error) +16 (int (*)(...))std::length_error::~length_error +24 (int (*)(...))std::length_error::~length_error +32 (int (*)(...))std::logic_error::what + +Class std::length_error + size=16 align=8 + base size=16 base align=8 +std::length_error (0x0x7f761aca4b60) 0 + vptr=((& std::length_error::_ZTVSt12length_error) + 16) + std::logic_error (0x0x7f761aca4bc8) 0 + primary-for std::length_error (0x0x7f761aca4b60) + std::exception (0x0x7f761ae38c60) 0 nearly-empty + primary-for std::logic_error (0x0x7f761aca4bc8) + +Vtable for std::out_of_range +std::out_of_range::_ZTVSt12out_of_range: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12out_of_range) +16 (int (*)(...))std::out_of_range::~out_of_range +24 (int (*)(...))std::out_of_range::~out_of_range +32 (int (*)(...))std::logic_error::what + +Class std::out_of_range + size=16 align=8 + base size=16 base align=8 +std::out_of_range (0x0x7f761aca4c30) 0 + vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16) + std::logic_error (0x0x7f761aca4c98) 0 + primary-for std::out_of_range (0x0x7f761aca4c30) + std::exception (0x0x7f761ae38cc0) 0 nearly-empty + primary-for std::logic_error (0x0x7f761aca4c98) + +Vtable for std::runtime_error +std::runtime_error::_ZTVSt13runtime_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt13runtime_error) +16 (int (*)(...))std::runtime_error::~runtime_error +24 (int (*)(...))std::runtime_error::~runtime_error +32 (int (*)(...))std::runtime_error::what + +Class std::runtime_error + size=16 align=8 + base size=16 base align=8 +std::runtime_error (0x0x7f761aca4d00) 0 + vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16) + std::exception (0x0x7f761ae38d20) 0 nearly-empty + primary-for std::runtime_error (0x0x7f761aca4d00) + +Vtable for std::range_error +std::range_error::_ZTVSt11range_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt11range_error) +16 (int (*)(...))std::range_error::~range_error +24 (int (*)(...))std::range_error::~range_error +32 (int (*)(...))std::runtime_error::what + +Class std::range_error + size=16 align=8 + base size=16 base align=8 +std::range_error (0x0x7f761aca4d68) 0 + vptr=((& std::range_error::_ZTVSt11range_error) + 16) + std::runtime_error (0x0x7f761aca4dd0) 0 + primary-for std::range_error (0x0x7f761aca4d68) + std::exception (0x0x7f761ae38d80) 0 nearly-empty + primary-for std::runtime_error (0x0x7f761aca4dd0) + +Vtable for std::overflow_error +std::overflow_error::_ZTVSt14overflow_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt14overflow_error) +16 (int (*)(...))std::overflow_error::~overflow_error +24 (int (*)(...))std::overflow_error::~overflow_error +32 (int (*)(...))std::runtime_error::what + +Class std::overflow_error + size=16 align=8 + base size=16 base align=8 +std::overflow_error (0x0x7f761aca4e38) 0 + vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16) + std::runtime_error (0x0x7f761aca4ea0) 0 + primary-for std::overflow_error (0x0x7f761aca4e38) + std::exception (0x0x7f761ae38de0) 0 nearly-empty + primary-for std::runtime_error (0x0x7f761aca4ea0) + +Vtable for std::underflow_error +std::underflow_error::_ZTVSt15underflow_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt15underflow_error) +16 (int (*)(...))std::underflow_error::~underflow_error +24 (int (*)(...))std::underflow_error::~underflow_error +32 (int (*)(...))std::runtime_error::what + +Class std::underflow_error + size=16 align=8 + base size=16 base align=8 +std::underflow_error (0x0x7f761aca4f08) 0 + vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16) + std::runtime_error (0x0x7f761aca4f70) 0 + primary-for std::underflow_error (0x0x7f761aca4f08) + std::exception (0x0x7f761ae38e40) 0 nearly-empty + primary-for std::runtime_error (0x0x7f761aca4f70) + +Vtable for std::_V2::error_category +std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt3_V214error_categoryE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))std::_V2::error_category::_M_message +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))std::_V2::error_category::default_error_condition +64 (int (*)(...))std::_V2::error_category::equivalent +72 (int (*)(...))std::_V2::error_category::equivalent + +Class std::_V2::error_category + size=8 align=8 + base size=8 base align=8 +std::_V2::error_category (0x0x7f761aa9b000) 0 nearly-empty + vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16) + +Class std::error_code + size=16 align=8 + base size=16 base align=8 +std::error_code (0x0x7f761aa9b360) 0 + +Class std::error_condition + size=16 align=8 + base size=16 base align=8 +std::error_condition (0x0x7f761aa9bba0) 0 + +Vtable for std::system_error +std::system_error::_ZTVSt12system_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12system_error) +16 (int (*)(...))std::system_error::~system_error +24 (int (*)(...))std::system_error::~system_error +32 (int (*)(...))std::runtime_error::what + +Class std::system_error + size=32 align=8 + base size=32 base align=8 +std::system_error (0x0x7f761aa9a2d8) 0 + vptr=((& std::system_error::_ZTVSt12system_error) + 16) + std::runtime_error (0x0x7f761aa9a340) 0 + primary-for std::system_error (0x0x7f761aa9a2d8) + std::exception (0x0x7f761aace780) 0 nearly-empty + primary-for std::runtime_error (0x0x7f761aa9a340) + +Vtable for std::ios_base::failure +std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E) +16 (int (*)(...))std::ios_base::failure::~failure +24 (int (*)(...))std::ios_base::failure::~failure +32 (int (*)(...))std::ios_base::failure::what + +Class std::ios_base::failure + size=32 align=8 + base size=32 base align=8 +std::ios_base::failure (0x0x7f761aa9a5b0) 0 + vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16) + std::system_error (0x0x7f761aa9a618) 0 + primary-for std::ios_base::failure (0x0x7f761aa9a5b0) + std::runtime_error (0x0x7f761aa9a680) 0 + primary-for std::system_error (0x0x7f761aa9a618) + std::exception (0x0x7f761ab03d20) 0 nearly-empty + primary-for std::runtime_error (0x0x7f761aa9a680) + +Class std::ios_base::_Callback_list + size=24 align=8 + base size=24 base align=8 +std::ios_base::_Callback_list (0x0x7f761ab03d80) 0 + +Class std::ios_base::_Words + size=16 align=8 + base size=16 base align=8 +std::ios_base::_Words (0x0x7f761ab03de0) 0 + +Class std::ios_base::Init + size=1 align=1 + base size=0 base align=1 +std::ios_base::Init (0x0x7f761ab03e40) 0 empty + +Vtable for std::ios_base +std::ios_base::_ZTVSt8ios_base: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt8ios_base) +16 (int (*)(...))std::ios_base::~ios_base +24 (int (*)(...))std::ios_base::~ios_base + +Class std::ios_base + size=216 align=8 + base size=216 base align=8 +std::ios_base (0x0x7f761ab03cc0) 0 + vptr=((& std::ios_base::_ZTVSt8ios_base) + 16) + +Class std::ctype_base + size=1 align=1 + base size=0 base align=1 +std::ctype_base (0x0x7f761abf7780) 0 empty + +Class std::__num_base + size=1 align=1 + base size=0 base align=1 +std::__num_base (0x0x7f761a8b6960) 0 empty + +VTT for std::basic_ostream +std::basic_ostream::_ZTTSo: 2 entries +0 ((& std::basic_ostream::_ZTVSo) + 24) +8 ((& std::basic_ostream::_ZTVSo) + 64) + +VTT for std::basic_ostream +std::basic_ostream::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries +0 ((& std::basic_ostream::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_ostream::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64) + +VTT for std::basic_istream +std::basic_istream::_ZTTSi: 2 entries +0 ((& std::basic_istream::_ZTVSi) + 24) +8 ((& std::basic_istream::_ZTVSi) + 64) + +VTT for std::basic_istream +std::basic_istream::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries +0 ((& std::basic_istream::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_istream::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64) + +Construction vtable for std::basic_istream (0x0x7f761a84cd68 instance) in std::basic_iostream +std::basic_iostream::_ZTCSd0_Si: 10 entries +0 24 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISi) +24 0 +32 0 +40 18446744073709551592 +48 (int (*)(...))-24 +56 (int (*)(...))(& _ZTISi) +64 0 +72 0 + +Construction vtable for std::basic_ostream (0x0x7f761a84ce38 instance) in std::basic_iostream +std::basic_iostream::_ZTCSd16_So: 10 entries +0 8 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISo) +24 0 +32 0 +40 18446744073709551608 +48 (int (*)(...))-8 +56 (int (*)(...))(& _ZTISo) +64 0 +72 0 + +VTT for std::basic_iostream +std::basic_iostream::_ZTTSd: 7 entries +0 ((& std::basic_iostream::_ZTVSd) + 24) +8 ((& std::basic_iostream::_ZTCSd0_Si) + 24) +16 ((& std::basic_iostream::_ZTCSd0_Si) + 64) +24 ((& std::basic_iostream::_ZTCSd16_So) + 24) +32 ((& std::basic_iostream::_ZTCSd16_So) + 64) +40 ((& std::basic_iostream::_ZTVSd) + 104) +48 ((& std::basic_iostream::_ZTVSd) + 64) + +Construction vtable for std::basic_istream (0x0x7f761a497af8 instance) in std::basic_iostream +std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries +0 24 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551592 +48 (int (*)(...))-24 +56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +64 0 +72 0 + +Construction vtable for std::basic_ostream (0x0x7f761a497bc8 instance) in std::basic_iostream +std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries +0 8 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551608 +48 (int (*)(...))-8 +56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +64 0 +72 0 + +VTT for std::basic_iostream +std::basic_iostream::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries +0 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24) +16 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64) +24 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24) +32 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64) +40 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104) +48 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64) + +Class QByteArrayDataPtr + size=8 align=8 + base size=8 base align=8 +QByteArrayDataPtr (0x0x7f761a4dd300) 0 + +Class QByteArray + size=8 align=8 + base size=8 base align=8 +QByteArray (0x0x7f761a4dd360) 0 + +Class QByteRef + size=16 align=8 + base size=12 base align=8 +QByteRef (0x0x7f761a607720) 0 + +Class QStringDataPtr + size=8 align=8 + base size=8 base align=8 +QStringDataPtr (0x0x7f761a2a85a0) 0 + +Class QStringView + size=16 align=8 + base size=16 base align=8 +QStringView (0x0x7f761a2a8a20) 0 + +Class QLatin1String + size=16 align=8 + base size=16 base align=8 +QLatin1String (0x0x7f761a38cae0) 0 + +Class QString::Null + size=1 align=1 + base size=0 base align=1 +QString::Null (0x0x7f761a440a80) 0 empty + +Class QString + size=8 align=8 + base size=8 base align=8 +QString (0x0x7f761a440960) 0 + +Class QCharRef + size=16 align=8 + base size=12 base align=8 +QCharRef (0x0x7f7619f08900) 0 + +Class QStringRef + size=16 align=8 + base size=16 base align=8 +QStringRef (0x0x7f7619c984e0) 0 + +Class QtPrivate::ArgBase + size=1 align=1 + base size=1 base align=1 +QtPrivate::ArgBase (0x0x7f7619e2a300) 0 + +Class QtPrivate::QStringViewArg + size=24 align=8 + base size=24 base align=8 +QtPrivate::QStringViewArg (0x0x7f7619d31a28) 0 + QtPrivate::ArgBase (0x0x7f7619e2a360) 0 + +Class QtPrivate::QLatin1StringArg + size=24 align=8 + base size=24 base align=8 +QtPrivate::QLatin1StringArg (0x0x7f7619d31a90) 0 + QtPrivate::ArgBase (0x0x7f7619e2a540) 0 + +Class std::__erased_type + size=1 align=1 + base size=0 base align=1 +std::__erased_type (0x0x7f7619af5480) 0 empty + +Class std::allocator_arg_t + size=1 align=1 + base size=0 base align=1 +std::allocator_arg_t (0x0x7f7619af54e0) 0 empty + +Class std::__uses_alloc_base + size=1 align=1 + base size=0 base align=1 +std::__uses_alloc_base (0x0x7f7619af5660) 0 empty + +Class std::__uses_alloc0::_Sink + size=1 align=1 + base size=0 base align=1 +std::__uses_alloc0::_Sink (0x0x7f7619af5720) 0 empty + +Class std::__uses_alloc0 + size=1 align=1 + base size=1 base align=1 +std::__uses_alloc0 (0x0x7f7619d31e38) 0 + std::__uses_alloc_base (0x0x7f7619af56c0) 0 empty + +Class std::_Swallow_assign + size=1 align=1 + base size=0 base align=1 +std::_Swallow_assign (0x0x7f7619c5aa80) 0 empty + +Vtable for std::bad_function_call +std::bad_function_call::_ZTVSt17bad_function_call: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt17bad_function_call) +16 (int (*)(...))std::bad_function_call::~bad_function_call +24 (int (*)(...))std::bad_function_call::~bad_function_call +32 (int (*)(...))std::bad_function_call::what + +Class std::bad_function_call + size=8 align=8 + base size=8 base align=8 +std::bad_function_call (0x0x7f76198dd0d0) 0 nearly-empty + vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16) + std::exception (0x0x7f76198d33c0) 0 nearly-empty + primary-for std::bad_function_call (0x0x7f76198dd0d0) + +Class std::_Nocopy_types + size=16 align=8 + base size=16 base align=8 +std::_Nocopy_types (0x0x7f76198d3480) 0 + +Class std::_Any_data + size=16 align=8 + base size=16 base align=8 +std::_Any_data (0x0x7f76198d34e0) 0 + +Class std::_Function_base + size=24 align=8 + base size=24 base align=8 +std::_Function_base (0x0x7f76198d37e0) 0 + +Class QtPrivate::QHashCombine + size=1 align=1 + base size=0 base align=1 +QtPrivate::QHashCombine (0x0x7f76196cbc60) 0 empty + +Class QtPrivate::QHashCombineCommutative + size=1 align=1 + base size=0 base align=1 +QtPrivate::QHashCombineCommutative (0x0x7f76196cbd20) 0 empty + +Class std::_Bit_reference + size=16 align=8 + base size=16 base align=8 +std::_Bit_reference (0x0x7f76197fe480) 0 + +Class std::_Bit_iterator_base + size=16 align=8 + base size=12 base align=8 +std::_Bit_iterator_base (0x0x7f7619712c30) 0 + std::iterator (0x0x7f76197feba0) 0 empty + +Class std::_Bit_iterator + size=16 align=8 + base size=12 base align=8 +std::_Bit_iterator (0x0x7f7619712d68) 0 + std::_Bit_iterator_base (0x0x7f7619712dd0) 0 + std::iterator (0x0x7f761982d240) 0 empty + +Class std::_Bit_const_iterator + size=16 align=8 + base size=12 base align=8 +std::_Bit_const_iterator (0x0x7f7619712e38) 0 + std::_Bit_iterator_base (0x0x7f7619712ea0) 0 + std::iterator (0x0x7f761982da20) 0 empty + +Class std::__detail::_List_node_base + size=16 align=8 + base size=16 base align=8 +std::__detail::_List_node_base (0x0x7f761927c5a0) 0 + +Class QListData::NotArrayCompatibleLayout + size=1 align=1 + base size=0 base align=1 +QListData::NotArrayCompatibleLayout (0x0x7f7619349360) 0 empty + +Class QListData::NotIndirectLayout + size=1 align=1 + base size=0 base align=1 +QListData::NotIndirectLayout (0x0x7f76193493c0) 0 empty + +Class QListData::ArrayCompatibleLayout + size=1 align=1 + base size=1 base align=1 +QListData::ArrayCompatibleLayout (0x0x7f761986fa90) 0 empty + QListData::NotIndirectLayout (0x0x7f7619349420) 0 empty + +Class QListData::InlineWithPaddingLayout + size=1 align=1 + base size=1 base align=1 +QListData::InlineWithPaddingLayout (0x0x7f76192a28c0) 0 empty + QListData::NotArrayCompatibleLayout (0x0x7f7619349480) 0 empty + QListData::NotIndirectLayout (0x0x7f76193494e0) 0 empty + +Class QListData::IndirectLayout + size=1 align=1 + base size=1 base align=1 +QListData::IndirectLayout (0x0x7f761986faf8) 0 empty + QListData::NotArrayCompatibleLayout (0x0x7f7619349540) 0 empty + +Class QListData::Data + size=24 align=8 + base size=24 base align=8 +QListData::Data (0x0x7f76193495a0) 0 + +Class QListData + size=8 align=8 + base size=8 base align=8 +QListData (0x0x7f7619349300) 0 + +Class QRegExp + size=8 align=8 + base size=8 base align=8 +QRegExp (0x0x7f761943c720) 0 + +Class QStringMatcher::Data + size=272 align=8 + base size=272 base align=8 +QStringMatcher::Data (0x0x7f761911bc60) 0 + +Class QStringMatcher + size=1048 align=8 + base size=1048 base align=8 +QStringMatcher (0x0x7f761911bc00) 0 + +Class QStringList + size=8 align=8 + base size=8 base align=8 +QStringList (0x0x7f76191266e8) 0 + QList (0x0x7f7619126750) 0 + QListSpecialMethods (0x0x7f761911bea0) 0 empty + +Class QScopedPointerPodDeleter + size=1 align=1 + base size=0 base align=1 +QScopedPointerPodDeleter (0x0x7f76191e5de0) 0 empty + +Class std::_Rb_tree_node_base + size=32 align=8 + base size=32 base align=8 +std::_Rb_tree_node_base (0x0x7f7618ea3060) 0 + +Class std::_Rb_tree_header + size=40 align=8 + base size=40 base align=8 +std::_Rb_tree_header (0x0x7f7618ea33c0) 0 + +Class QtPrivate::AbstractDebugStreamFunction + size=16 align=8 + base size=16 base align=8 +QtPrivate::AbstractDebugStreamFunction (0x0x7f7618ce59c0) 0 + +Class QtPrivate::AbstractComparatorFunction + size=24 align=8 + base size=24 base align=8 +QtPrivate::AbstractComparatorFunction (0x0x7f7618ce5d20) 0 + +Class QtPrivate::AbstractConverterFunction + size=8 align=8 + base size=8 base align=8 +QtPrivate::AbstractConverterFunction (0x0x7f7618d082a0) 0 + +Class QMetaType + size=80 align=8 + base size=80 base align=8 +QMetaType (0x0x7f7618d087e0) 0 + +Class QtMetaTypePrivate::VariantData + size=24 align=8 + base size=20 base align=8 +QtMetaTypePrivate::VariantData (0x0x7f7618d6e9c0) 0 + +Class QtMetaTypePrivate::VectorBoolElements + size=1 align=1 + base size=0 base align=1 +QtMetaTypePrivate::VectorBoolElements (0x0x7f7618d910c0) 0 empty + +Class QtMetaTypePrivate::QSequentialIterableImpl + size=104 align=8 + base size=104 base align=8 +QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f7618d91f00) 0 + +Class QtMetaTypePrivate::QAssociativeIterableImpl + size=112 align=8 + base size=112 base align=8 +QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f7618a80600) 0 + +Class QtMetaTypePrivate::QPairVariantInterfaceImpl + size=40 align=8 + base size=40 base align=8 +QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f7618ad6b40) 0 + +Class std::chrono::_V2::system_clock + size=1 align=1 + base size=0 base align=1 +std::chrono::_V2::system_clock (0x0x7f76189a6120) 0 empty + +Class std::chrono::_V2::steady_clock + size=1 align=1 + base size=0 base align=1 +std::chrono::_V2::steady_clock (0x0x7f76186a0ba0) 0 empty + +Vtable for QObjectData +QObjectData::_ZTV11QObjectData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QObjectData) +16 (int (*)(...))__cxa_pure_virtual +24 (int (*)(...))__cxa_pure_virtual + +Class QObjectData + size=48 align=8 + base size=48 base align=8 +QObjectData (0x0x7f76186a0c00) 0 + vptr=((& QObjectData::_ZTV11QObjectData) + 16) + +Class QObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QObject::QPrivateSignal (0x0x7f76186a0de0) 0 empty + +Vtable for QObject +QObject::_ZTV7QObject: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QObject) +16 (int (*)(...))QObject::metaObject +24 (int (*)(...))QObject::qt_metacast +32 (int (*)(...))QObject::qt_metacall +40 (int (*)(...))QObject::~QObject +48 (int (*)(...))QObject::~QObject +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QObject + size=16 align=8 + base size=16 base align=8 +QObject (0x0x7f76186a0d80) 0 + vptr=((& QObject::_ZTV7QObject) + 16) + +Vtable for QObjectUserData +QObjectUserData::_ZTV15QObjectUserData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QObjectUserData) +16 (int (*)(...))QObjectUserData::~QObjectUserData +24 (int (*)(...))QObjectUserData::~QObjectUserData + +Class QObjectUserData + size=8 align=8 + base size=8 base align=8 +QObjectUserData (0x0x7f7618782c00) 0 nearly-empty + vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16) + +Class QSignalBlocker + size=16 align=8 + base size=10 base align=8 +QSignalBlocker (0x0x7f7618782d80) 0 + +Class QAbstractAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractAnimation::QPrivateSignal (0x0x7f76187a4660) 0 empty + +Vtable for QAbstractAnimation +QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractAnimation) +16 (int (*)(...))QAbstractAnimation::metaObject +24 (int (*)(...))QAbstractAnimation::qt_metacast +32 (int (*)(...))QAbstractAnimation::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QAbstractAnimation + size=16 align=8 + base size=16 base align=8 +QAbstractAnimation (0x0x7f7618769888) 0 + vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16) + QObject (0x0x7f76187a4600) 0 + primary-for QAbstractAnimation (0x0x7f7618769888) + +Class QAnimationDriver::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAnimationDriver::QPrivateSignal (0x0x7f76187a4a20) 0 empty + +Vtable for QAnimationDriver +QAnimationDriver::_ZTV16QAnimationDriver: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QAnimationDriver) +16 (int (*)(...))QAnimationDriver::metaObject +24 (int (*)(...))QAnimationDriver::qt_metacast +32 (int (*)(...))QAnimationDriver::qt_metacall +40 (int (*)(...))QAnimationDriver::~QAnimationDriver +48 (int (*)(...))QAnimationDriver::~QAnimationDriver +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAnimationDriver::advance +120 (int (*)(...))QAnimationDriver::elapsed +128 (int (*)(...))QAnimationDriver::start +136 (int (*)(...))QAnimationDriver::stop + +Class QAnimationDriver + size=16 align=8 + base size=16 base align=8 +QAnimationDriver (0x0x7f76187698f0) 0 + vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16) + QObject (0x0x7f76187a49c0) 0 + primary-for QAnimationDriver (0x0x7f76187698f0) + +Class QEventLoop::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QEventLoop::QPrivateSignal (0x0x7f76187a4c60) 0 empty + +Vtable for QEventLoop +QEventLoop::_ZTV10QEventLoop: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QEventLoop) +16 (int (*)(...))QEventLoop::metaObject +24 (int (*)(...))QEventLoop::qt_metacast +32 (int (*)(...))QEventLoop::qt_metacall +40 (int (*)(...))QEventLoop::~QEventLoop +48 (int (*)(...))QEventLoop::~QEventLoop +56 (int (*)(...))QEventLoop::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QEventLoop + size=16 align=8 + base size=16 base align=8 +QEventLoop (0x0x7f7618769958) 0 + vptr=((& QEventLoop::_ZTV10QEventLoop) + 16) + QObject (0x0x7f76187a4c00) 0 + primary-for QEventLoop (0x0x7f7618769958) + +Class QEventLoopLocker + size=8 align=8 + base size=8 base align=8 +QEventLoopLocker (0x0x7f76187fa540) 0 + +Class QAbstractEventDispatcher::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractEventDispatcher::QPrivateSignal (0x0x7f76187fa600) 0 empty + +Class QAbstractEventDispatcher::TimerInfo + size=12 align=4 + base size=12 base align=4 +QAbstractEventDispatcher::TimerInfo (0x0x7f76187fa660) 0 + +Vtable for QAbstractEventDispatcher +QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher) +16 (int (*)(...))QAbstractEventDispatcher::metaObject +24 (int (*)(...))QAbstractEventDispatcher::qt_metacast +32 (int (*)(...))QAbstractEventDispatcher::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))QAbstractEventDispatcher::startingUp +216 (int (*)(...))QAbstractEventDispatcher::closingDown + +Class QAbstractEventDispatcher + size=16 align=8 + base size=16 base align=8 +QAbstractEventDispatcher (0x0x7f7618769a90) 0 + vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16) + QObject (0x0x7f76187fa5a0) 0 + primary-for QAbstractEventDispatcher (0x0x7f7618769a90) + +Class QMapNodeBase + size=24 align=8 + base size=24 base align=8 +QMapNodeBase (0x0x7f761885e660) 0 + +Class QMapDataBase + size=40 align=8 + base size=40 base align=8 +QMapDataBase (0x0x7f7618487300) 0 + +Class QHashData::Node + size=16 align=8 + base size=16 base align=8 +QHashData::Node (0x0x7f7618553c60) 0 + +Class QHashData + size=48 align=8 + base size=44 base align=8 +QHashData (0x0x7f7618553c00) 0 + +Class QHashDummyValue + size=1 align=1 + base size=0 base align=1 +QHashDummyValue (0x0x7f7618553f00) 0 empty + +Class QVariant::PrivateShared + size=16 align=8 + base size=12 base align=8 +QVariant::PrivateShared (0x0x7f7618280660) 0 + +Class QVariant::Private::Data + size=8 align=8 + base size=8 base align=8 +QVariant::Private::Data (0x0x7f7618280720) 0 + +Class QVariant::Private + size=16 align=8 + base size=12 base align=8 +QVariant::Private (0x0x7f76182806c0) 0 + +Class QVariant::Handler + size=72 align=8 + base size=72 base align=8 +QVariant::Handler (0x0x7f7618280780) 0 + +Class QVariant + size=16 align=8 + base size=16 base align=8 +QVariant (0x0x7f7618280600) 0 + +Class QVariantComparisonHelper + size=8 align=8 + base size=8 base align=8 +QVariantComparisonHelper (0x0x7f76183e4a20) 0 + +Class QSequentialIterable::const_iterator + size=112 align=8 + base size=112 base align=8 +QSequentialIterable::const_iterator (0x0x7f76184440c0) 0 + +Class QSequentialIterable + size=104 align=8 + base size=104 base align=8 +QSequentialIterable (0x0x7f7618444060) 0 + +Class QAssociativeIterable::const_iterator + size=120 align=8 + base size=120 base align=8 +QAssociativeIterable::const_iterator (0x0x7f76184441e0) 0 + +Class QAssociativeIterable + size=112 align=8 + base size=112 base align=8 +QAssociativeIterable (0x0x7f7618444180) 0 + +Class QModelIndex + size=24 align=8 + base size=24 base align=8 +QModelIndex (0x0x7f761810f360) 0 + +Class QPersistentModelIndex + size=8 align=8 + base size=8 base align=8 +QPersistentModelIndex (0x0x7f7618164f60) 0 + +Class QAbstractItemModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemModel::QPrivateSignal (0x0x7f7618233d80) 0 empty + +Vtable for QAbstractItemModel +QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractItemModel) +16 (int (*)(...))QAbstractItemModel::metaObject +24 (int (*)(...))QAbstractItemModel::qt_metacast +32 (int (*)(...))QAbstractItemModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractItemModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractItemModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QAbstractItemModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QAbstractItemModel + size=16 align=8 + base size=16 base align=8 +QAbstractItemModel (0x0x7f7618238c30) 0 + vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16) + QObject (0x0x7f7618233d20) 0 + primary-for QAbstractItemModel (0x0x7f7618238c30) + +Class QAbstractTableModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractTableModel::QPrivateSignal (0x0x7f7617f19180) 0 empty + +Vtable for QAbstractTableModel +QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractTableModel) +16 (int (*)(...))QAbstractTableModel::metaObject +24 (int (*)(...))QAbstractTableModel::qt_metacast +32 (int (*)(...))QAbstractTableModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractTableModel::index +120 (int (*)(...))QAbstractTableModel::parent +128 (int (*)(...))QAbstractTableModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractTableModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractTableModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QAbstractTableModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QAbstractTableModel + size=16 align=8 + base size=16 base align=8 +QAbstractTableModel (0x0x7f7617e8c270) 0 + vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16) + QAbstractItemModel (0x0x7f7617e8c2d8) 0 + primary-for QAbstractTableModel (0x0x7f7617e8c270) + QObject (0x0x7f7617f19120) 0 + primary-for QAbstractItemModel (0x0x7f7617e8c2d8) + +Class QAbstractListModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractListModel::QPrivateSignal (0x0x7f7617f19300) 0 empty + +Vtable for QAbstractListModel +QAbstractListModel::_ZTV18QAbstractListModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractListModel) +16 (int (*)(...))QAbstractListModel::metaObject +24 (int (*)(...))QAbstractListModel::qt_metacast +32 (int (*)(...))QAbstractListModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractListModel::index +120 (int (*)(...))QAbstractListModel::parent +128 (int (*)(...))QAbstractListModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))QAbstractListModel::columnCount +152 (int (*)(...))QAbstractListModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractListModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QAbstractListModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QAbstractListModel + size=16 align=8 + base size=16 base align=8 +QAbstractListModel (0x0x7f7617e8c340) 0 + vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16) + QAbstractItemModel (0x0x7f7617e8c3a8) 0 + primary-for QAbstractListModel (0x0x7f7617e8c340) + QObject (0x0x7f7617f192a0) 0 + primary-for QAbstractItemModel (0x0x7f7617e8c3a8) + +Vtable for QAbstractNativeEventFilter +QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QAbstractNativeEventFilter + size=16 align=8 + base size=16 base align=8 +QAbstractNativeEventFilter (0x0x7f7617f19a20) 0 + vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16) + +Class QAbstractProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractProxyModel::QPrivateSignal (0x0x7f7617f19ae0) 0 empty + +Vtable for QAbstractProxyModel +QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractProxyModel) +16 (int (*)(...))QAbstractProxyModel::metaObject +24 (int (*)(...))QAbstractProxyModel::qt_metacast +32 (int (*)(...))QAbstractProxyModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractProxyModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QAbstractProxyModel::headerData +184 (int (*)(...))QAbstractProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::mimeTypes +216 (int (*)(...))QAbstractProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QAbstractProxyModel::dropMimeData +240 (int (*)(...))QAbstractProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractProxyModel::fetchMore +312 (int (*)(...))QAbstractProxyModel::canFetchMore +320 (int (*)(...))QAbstractProxyModel::flags +328 (int (*)(...))QAbstractProxyModel::sort +336 (int (*)(...))QAbstractProxyModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QAbstractProxyModel::setSourceModel +392 (int (*)(...))__cxa_pure_virtual +400 (int (*)(...))__cxa_pure_virtual +408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource +416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource + +Class QAbstractProxyModel + size=16 align=8 + base size=16 base align=8 +QAbstractProxyModel (0x0x7f7617e8c478) 0 + vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16) + QAbstractItemModel (0x0x7f7617e8c4e0) 0 + primary-for QAbstractProxyModel (0x0x7f7617e8c478) + QObject (0x0x7f7617f19a80) 0 + primary-for QAbstractItemModel (0x0x7f7617e8c4e0) + +Class QAbstractState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractState::QPrivateSignal (0x0x7f7617f19d20) 0 empty + +Vtable for QAbstractState +QAbstractState::_ZTV14QAbstractState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QAbstractState) +16 (int (*)(...))QAbstractState::metaObject +24 (int (*)(...))QAbstractState::qt_metacast +32 (int (*)(...))QAbstractState::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QAbstractState + size=16 align=8 + base size=16 base align=8 +QAbstractState (0x0x7f7617e8c548) 0 + vptr=((& QAbstractState::_ZTV14QAbstractState) + 16) + QObject (0x0x7f7617f19cc0) 0 + primary-for QAbstractState (0x0x7f7617e8c548) + +Class QAbstractTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractTransition::QPrivateSignal (0x0x7f7617f19f60) 0 empty + +Vtable for QAbstractTransition +QAbstractTransition::_ZTV19QAbstractTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractTransition) +16 (int (*)(...))QAbstractTransition::metaObject +24 (int (*)(...))QAbstractTransition::qt_metacast +32 (int (*)(...))QAbstractTransition::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QAbstractTransition + size=16 align=8 + base size=16 base align=8 +QAbstractTransition (0x0x7f7617e8c5b0) 0 + vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16) + QObject (0x0x7f7617f19f00) 0 + primary-for QAbstractTransition (0x0x7f7617e8c5b0) + +Class QAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAnimationGroup::QPrivateSignal (0x0x7f7617fb42a0) 0 empty + +Vtable for QAnimationGroup +QAnimationGroup::_ZTV15QAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAnimationGroup) +16 (int (*)(...))QAnimationGroup::metaObject +24 (int (*)(...))QAnimationGroup::qt_metacast +32 (int (*)(...))QAnimationGroup::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QAnimationGroup + size=16 align=8 + base size=16 base align=8 +QAnimationGroup (0x0x7f7617e8c618) 0 + vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16) + QAbstractAnimation (0x0x7f7617e8c680) 0 + primary-for QAnimationGroup (0x0x7f7617e8c618) + QObject (0x0x7f7617fb4240) 0 + primary-for QAbstractAnimation (0x0x7f7617e8c680) + +Class QBasicTimer + size=4 align=4 + base size=4 base align=4 +QBasicTimer (0x0x7f76180075a0) 0 + +Class QBitArray + size=8 align=8 + base size=8 base align=8 +QBitArray (0x0x7f7617c84f00) 0 + +Class QBitRef + size=16 align=8 + base size=12 base align=8 +QBitRef (0x0x7f7617d043c0) 0 + +Class QIODevice::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIODevice::QPrivateSignal (0x0x7f7617d4b660) 0 empty + +Vtable for QIODevice +QIODevice::_ZTV9QIODevice: 30 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QIODevice) +16 (int (*)(...))QIODevice::metaObject +24 (int (*)(...))QIODevice::qt_metacast +32 (int (*)(...))QIODevice::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIODevice::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QIODevice::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QIODevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))__cxa_pure_virtual + +Class QIODevice + size=16 align=8 + base size=16 base align=8 +QIODevice (0x0x7f7617d40c30) 0 + vptr=((& QIODevice::_ZTV9QIODevice) + 16) + QObject (0x0x7f7617d4b600) 0 + primary-for QIODevice (0x0x7f7617d40c30) + +Class QBuffer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QBuffer::QPrivateSignal (0x0x7f7617d9b000) 0 empty + +Vtable for QBuffer +QBuffer::_ZTV7QBuffer: 30 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QBuffer) +16 (int (*)(...))QBuffer::metaObject +24 (int (*)(...))QBuffer::qt_metacast +32 (int (*)(...))QBuffer::qt_metacall +40 (int (*)(...))QBuffer::~QBuffer +48 (int (*)(...))QBuffer::~QBuffer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QBuffer::connectNotify +104 (int (*)(...))QBuffer::disconnectNotify +112 (int (*)(...))QIODevice::isSequential +120 (int (*)(...))QBuffer::open +128 (int (*)(...))QBuffer::close +136 (int (*)(...))QBuffer::pos +144 (int (*)(...))QBuffer::size +152 (int (*)(...))QBuffer::seek +160 (int (*)(...))QBuffer::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QBuffer::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QBuffer::readData +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QBuffer::writeData + +Class QBuffer + size=16 align=8 + base size=16 base align=8 +QBuffer (0x0x7f7617d40d68) 0 + vptr=((& QBuffer::_ZTV7QBuffer) + 16) + QIODevice (0x0x7f7617d40dd0) 0 + primary-for QBuffer (0x0x7f7617d40d68) + QObject (0x0x7f7617d4bf60) 0 + primary-for QIODevice (0x0x7f7617d40dd0) + +Class QByteArrayMatcher::Data + size=272 align=8 + base size=272 base align=8 +QByteArrayMatcher::Data (0x0x7f7617d9b2a0) 0 + +Class QByteArrayMatcher + size=1040 align=8 + base size=1040 base align=8 +QByteArrayMatcher (0x0x7f7617d9b240) 0 + +Class QStaticByteArrayMatcherBase::Skiptable + size=256 align=1 + base size=256 base align=1 +QStaticByteArrayMatcherBase::Skiptable (0x0x7f7617d9b420) 0 + +Class QStaticByteArrayMatcherBase + size=256 align=16 + base size=256 base align=16 +QStaticByteArrayMatcherBase (0x0x7f7617d9b3c0) 0 + +Class QSharedData + size=4 align=4 + base size=4 base align=4 +QSharedData (0x0x7f7617de1300) 0 + +Class QLocale + size=8 align=8 + base size=8 base align=8 +QLocale (0x0x7f7617e291e0) 0 + +Class QCalendar::YearMonthDay + size=12 align=4 + base size=12 base align=4 +QCalendar::YearMonthDay (0x0x7f7617b996c0) 0 + +Class QCalendar + size=8 align=8 + base size=8 base align=8 +QCalendar (0x0x7f7617b99660) 0 + +Class QDate + size=8 align=8 + base size=8 base align=8 +QDate (0x0x7f7617b99ea0) 0 + +Class QTime + size=4 align=4 + base size=4 base align=4 +QTime (0x0x7f7617c25780) 0 + +Class QDateTime::ShortData + size=8 align=8 + base size=8 base align=8 +QDateTime::ShortData (0x0x7f7617890420) 0 + +Class QDateTime::Data + size=8 align=8 + base size=8 base align=8 +QDateTime::Data (0x0x7f7617890480) 0 + +Class QDateTime + size=8 align=8 + base size=8 base align=8 +QDateTime (0x0x7f76178903c0) 0 + +Vtable for QTextStream +QTextStream::_ZTV11QTextStream: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTextStream) +16 (int (*)(...))QTextStream::~QTextStream +24 (int (*)(...))QTextStream::~QTextStream + +Class QTextStream + size=16 align=8 + base size=16 base align=8 +QTextStream (0x0x7f761795eb40) 0 + vptr=((& QTextStream::_ZTV11QTextStream) + 16) + +Class QTextStreamManipulator + size=40 align=8 + base size=38 base align=8 +QTextStreamManipulator (0x0x7f76179c4420) 0 + +Class QContiguousCacheData + size=24 align=4 + base size=24 base align=4 +QContiguousCacheData (0x0x7f7617a540c0) 0 + +Vtable for __gnu_cxx::__concurrence_lock_error +__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error +24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error +32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what + +Class __gnu_cxx::__concurrence_lock_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_lock_error (0x0x7f761795fdd0) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16) + std::exception (0x0x7f761767ff00) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f761795fdd0) + +Vtable for __gnu_cxx::__concurrence_unlock_error +__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error +24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error +32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what + +Class __gnu_cxx::__concurrence_unlock_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_unlock_error (0x0x7f761795fe38) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16) + std::exception (0x0x7f76176a7060) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f761795fe38) + +Vtable for __gnu_cxx::__concurrence_broadcast_error +__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error +24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error +32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what + +Class __gnu_cxx::__concurrence_broadcast_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_broadcast_error (0x0x7f761795fea0) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16) + std::exception (0x0x7f76176a7180) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f761795fea0) + +Vtable for __gnu_cxx::__concurrence_wait_error +__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error +24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error +32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what + +Class __gnu_cxx::__concurrence_wait_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_wait_error (0x0x7f761795ff70) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16) + std::exception (0x0x7f76176a72a0) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f761795ff70) + +Class __gnu_cxx::__mutex + size=40 align=8 + base size=40 base align=8 +__gnu_cxx::__mutex (0x0x7f76176cc300) 0 + +Class __gnu_cxx::__recursive_mutex + size=40 align=8 + base size=40 base align=8 +__gnu_cxx::__recursive_mutex (0x0x7f76176cc600) 0 + +Class __gnu_cxx::__scoped_lock + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__scoped_lock (0x0x7f76176cc900) 0 + +Class __gnu_cxx::__cond + size=48 align=8 + base size=48 base align=8 +__gnu_cxx::__cond (0x0x7f76176ccc60) 0 + +Vtable for std::bad_weak_ptr +std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12bad_weak_ptr) +16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr +24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr +32 (int (*)(...))std::bad_weak_ptr::what + +Class std::bad_weak_ptr + size=8 align=8 + base size=8 base align=8 +std::bad_weak_ptr (0x0x7f7617767000) 0 nearly-empty + vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16) + std::exception (0x0x7f7617746e40) 0 nearly-empty + primary-for std::bad_weak_ptr (0x0x7f7617767000) + +Class std::_Sp_make_shared_tag + size=1 align=1 + base size=0 base align=1 +std::_Sp_make_shared_tag (0x0x7f76177a9de0) 0 empty + +Class std::__sp_array_delete + size=1 align=1 + base size=0 base align=1 +std::__sp_array_delete (0x0x7f76177d8240) 0 empty + +Class std::_Sp_locker + size=2 align=1 + base size=2 base align=1 +std::_Sp_locker (0x0x7f761751a0c0) 0 + +Class QtSharedPointer::NormalDeleter + size=1 align=1 + base size=0 base align=1 +QtSharedPointer::NormalDeleter (0x0x7f76175485a0) 0 empty + +Class QtSharedPointer::ExternalRefCountData + size=16 align=8 + base size=16 base align=8 +QtSharedPointer::ExternalRefCountData (0x0x7f7617548720) 0 + +Class QtPrivate::EnableInternalData + size=1 align=1 + base size=0 base align=1 +QtPrivate::EnableInternalData (0x0x7f76175ce060) 0 empty + +Class QDebug::Stream + size=80 align=8 + base size=76 base align=8 +QDebug::Stream (0x0x7f76175fd720) 0 + +Class QDebug + size=8 align=8 + base size=8 base align=8 +QDebug (0x0x7f76175fd6c0) 0 + +Class QDebugStateSaver + size=8 align=8 + base size=8 base align=8 +QDebugStateSaver (0x0x7f7617390060) 0 + +Class QNoDebug + size=1 align=1 + base size=0 base align=1 +QNoDebug (0x0x7f7617390120) 0 empty + +Class QCborError + size=4 align=4 + base size=4 base align=4 +QCborError (0x0x7f761741c360) 0 + +Class QRegularExpression + size=8 align=8 + base size=8 base align=8 +QRegularExpression (0x0x7f761741cae0) 0 + +Class QRegularExpressionMatch + size=8 align=8 + base size=8 base align=8 +QRegularExpressionMatch (0x0x7f76170d09c0) 0 + +Class QRegularExpressionMatchIterator + size=8 align=8 + base size=8 base align=8 +QRegularExpressionMatchIterator (0x0x7f761713b780) 0 + +Class QUrl + size=8 align=8 + base size=8 base align=8 +QUrl (0x0x7f76171b31e0) 0 + +Class QUuid + size=16 align=4 + base size=16 base align=4 +QUuid (0x0x7f7616f0a180) 0 + +Class QCborParserError + size=16 align=8 + base size=12 base align=8 +QCborParserError (0x0x7f7616f66cc0) 0 + +Class QCborValue + size=24 align=8 + base size=20 base align=8 +QCborValue (0x0x7f7616f66d80) 0 + +Class QCborValueRef + size=16 align=8 + base size=16 base align=8 +QCborValueRef (0x0x7f7616ddb960) 0 + +Class QCborArray::Iterator + size=16 align=8 + base size=16 base align=8 +QCborArray::Iterator (0x0x7f7616a823c0) 0 + +Class QCborArray::ConstIterator + size=16 align=8 + base size=16 base align=8 +QCborArray::ConstIterator (0x0x7f7616a82420) 0 + +Class QCborArray + size=8 align=8 + base size=8 base align=8 +QCborArray (0x0x7f7616a82360) 0 + +Class QCborMap::Iterator + size=16 align=8 + base size=16 base align=8 +QCborMap::Iterator (0x0x7f7616bf9000) 0 + +Class QCborMap::ConstIterator + size=16 align=8 + base size=16 base align=8 +QCborMap::ConstIterator (0x0x7f7616bf9060) 0 + +Class QCborMap + size=8 align=8 + base size=8 base align=8 +QCborMap (0x0x7f7616bd9f60) 0 + +Class qfloat16::Wrap + size=2 align=2 + base size=2 base align=2 +qfloat16::Wrap (0x0x7f76169fb7e0) 0 + +Class qfloat16 + size=2 align=2 + base size=2 base align=2 +qfloat16 (0x0x7f76169fb780) 0 + +Class QCborStreamWriter + size=8 align=8 + base size=8 base align=8 +QCborStreamWriter (0x0x7f76166e9480) 0 + +Class QCborStreamReader + size=24 align=8 + base size=20 base align=8 +QCborStreamReader (0x0x7f76167191e0) 0 + +Class QCollatorSortKey + size=8 align=8 + base size=8 base align=8 +QCollatorSortKey (0x0x7f761679c300) 0 + +Class QCollator + size=8 align=8 + base size=8 base align=8 +QCollator (0x0x7f761679c4e0) 0 + +Class QCommandLineOption + size=8 align=8 + base size=8 base align=8 +QCommandLineOption (0x0x7f7616493ae0) 0 + +Vtable for QEvent +QEvent::_ZTV6QEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QEvent) +16 (int (*)(...))QEvent::~QEvent +24 (int (*)(...))QEvent::~QEvent + +Class QEvent + size=24 align=8 + base size=20 base align=8 +QEvent (0x0x7f7616594060) 0 + vptr=((& QEvent::_ZTV6QEvent) + 16) + +Vtable for QTimerEvent +QTimerEvent::_ZTV11QTimerEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTimerEvent) +16 (int (*)(...))QTimerEvent::~QTimerEvent +24 (int (*)(...))QTimerEvent::~QTimerEvent + +Class QTimerEvent + size=24 align=8 + base size=24 base align=8 +QTimerEvent (0x0x7f7616561a28) 0 + vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16) + QEvent (0x0x7f7616594420) 0 + primary-for QTimerEvent (0x0x7f7616561a28) + +Vtable for QChildEvent +QChildEvent::_ZTV11QChildEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QChildEvent) +16 (int (*)(...))QChildEvent::~QChildEvent +24 (int (*)(...))QChildEvent::~QChildEvent + +Class QChildEvent + size=32 align=8 + base size=32 base align=8 +QChildEvent (0x0x7f7616561a90) 0 + vptr=((& QChildEvent::_ZTV11QChildEvent) + 16) + QEvent (0x0x7f76165944e0) 0 + primary-for QChildEvent (0x0x7f7616561a90) + +Vtable for QDynamicPropertyChangeEvent +QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent) +16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent +24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent + +Class QDynamicPropertyChangeEvent + size=32 align=8 + base size=32 base align=8 +QDynamicPropertyChangeEvent (0x0x7f76165c6000) 0 + vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16) + QEvent (0x0x7f7616594b40) 0 + primary-for QDynamicPropertyChangeEvent (0x0x7f76165c6000) + +Vtable for QDeferredDeleteEvent +QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent) +16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent +24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent + +Class QDeferredDeleteEvent + size=24 align=8 + base size=24 base align=8 +QDeferredDeleteEvent (0x0x7f76165c6068) 0 + vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16) + QEvent (0x0x7f7616594c00) 0 + primary-for QDeferredDeleteEvent (0x0x7f76165c6068) + +Class QCoreApplication::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCoreApplication::QPrivateSignal (0x0x7f7616594d20) 0 empty + +Vtable for QCoreApplication +QCoreApplication::_ZTV16QCoreApplication: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QCoreApplication) +16 (int (*)(...))QCoreApplication::metaObject +24 (int (*)(...))QCoreApplication::qt_metacast +32 (int (*)(...))QCoreApplication::qt_metacall +40 (int (*)(...))QCoreApplication::~QCoreApplication +48 (int (*)(...))QCoreApplication::~QCoreApplication +56 (int (*)(...))QCoreApplication::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QCoreApplication::notify +120 (int (*)(...))QCoreApplication::compressEvent + +Class QCoreApplication + size=16 align=8 + base size=16 base align=8 +QCoreApplication (0x0x7f76165c60d0) 0 + vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16) + QObject (0x0x7f7616594cc0) 0 + primary-for QCoreApplication (0x0x7f76165c60d0) + +Class QCommandLineParser + size=8 align=8 + base size=8 base align=8 +QCommandLineParser (0x0x7f7616594f60) 0 + +Class QConcatenateTablesProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QConcatenateTablesProxyModel::QPrivateSignal (0x0x7f76165f3120) 0 empty + +Vtable for QConcatenateTablesProxyModel +QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel) +16 (int (*)(...))QConcatenateTablesProxyModel::metaObject +24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast +32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall +40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel +48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QConcatenateTablesProxyModel::index +120 (int (*)(...))QConcatenateTablesProxyModel::parent +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))QConcatenateTablesProxyModel::rowCount +144 (int (*)(...))QConcatenateTablesProxyModel::columnCount +152 (int (*)(...))QAbstractItemModel::hasChildren +160 (int (*)(...))QConcatenateTablesProxyModel::data +168 (int (*)(...))QConcatenateTablesProxyModel::setData +176 (int (*)(...))QConcatenateTablesProxyModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QConcatenateTablesProxyModel::itemData +200 (int (*)(...))QConcatenateTablesProxyModel::setItemData +208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes +216 (int (*)(...))QConcatenateTablesProxyModel::mimeData +224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData +232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QConcatenateTablesProxyModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QConcatenateTablesProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QConcatenateTablesProxyModel + size=16 align=8 + base size=16 base align=8 +QConcatenateTablesProxyModel (0x0x7f76165c6138) 0 + vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16) + QAbstractItemModel (0x0x7f76165c61a0) 0 + primary-for QConcatenateTablesProxyModel (0x0x7f76165c6138) + QObject (0x0x7f76165f30c0) 0 + primary-for QAbstractItemModel (0x0x7f76165c61a0) + +Class QCryptographicHash + size=8 align=8 + base size=8 base align=8 +QCryptographicHash (0x0x7f76165f3300) 0 + +Class QDataStream + size=32 align=8 + base size=32 base align=8 +QDataStream (0x0x7f76165f3420) 0 + +Class QtPrivate::StreamStateSaver + size=16 align=8 + base size=12 base align=8 +QtPrivate::StreamStateSaver (0x0x7f76165f35a0) 0 + +Class QElapsedTimer + size=16 align=8 + base size=16 base align=8 +QElapsedTimer (0x0x7f761665fcc0) 0 + +Class QDeadlineTimer + size=16 align=8 + base size=16 base align=8 +QDeadlineTimer (0x0x7f7616297420) 0 + +Class QFileDevice::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileDevice::QPrivateSignal (0x0x7f76163d4120) 0 empty + +Vtable for QFileDevice +QFileDevice::_ZTV11QFileDevice: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFileDevice) +16 (int (*)(...))QFileDevice::metaObject +24 (int (*)(...))QFileDevice::qt_metacast +32 (int (*)(...))QFileDevice::qt_metacall +40 (int (*)(...))QFileDevice::~QFileDevice +48 (int (*)(...))QFileDevice::~QFileDevice +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFileDevice::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QFileDevice::writeData +240 (int (*)(...))QFileDevice::fileName +248 (int (*)(...))QFileDevice::resize +256 (int (*)(...))QFileDevice::permissions +264 (int (*)(...))QFileDevice::setPermissions + +Class QFileDevice + size=16 align=8 + base size=16 base align=8 +QFileDevice (0x0x7f76163c63a8) 0 + vptr=((& QFileDevice::_ZTV11QFileDevice) + 16) + QIODevice (0x0x7f76163c6410) 0 + primary-for QFileDevice (0x0x7f76163c63a8) + QObject (0x0x7f76163d40c0) 0 + primary-for QIODevice (0x0x7f76163c6410) + +Class QFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFile::QPrivateSignal (0x0x7f76163d4a20) 0 empty + +Vtable for QFile +QFile::_ZTV5QFile: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QFile) +16 (int (*)(...))QFile::metaObject +24 (int (*)(...))QFile::qt_metacast +32 (int (*)(...))QFile::qt_metacall +40 (int (*)(...))QFile::~QFile +48 (int (*)(...))QFile::~QFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QFile::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFile::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QFileDevice::writeData +240 (int (*)(...))QFile::fileName +248 (int (*)(...))QFile::resize +256 (int (*)(...))QFile::permissions +264 (int (*)(...))QFile::setPermissions + +Class QFile + size=16 align=8 + base size=16 base align=8 +QFile (0x0x7f76163c6548) 0 + vptr=((& QFile::_ZTV5QFile) + 16) + QFileDevice (0x0x7f76163c65b0) 0 + primary-for QFile (0x0x7f76163c6548) + QIODevice (0x0x7f76163c6618) 0 + primary-for QFileDevice (0x0x7f76163c65b0) + QObject (0x0x7f76163d49c0) 0 + primary-for QIODevice (0x0x7f76163c6618) + +Class QFileInfo + size=8 align=8 + base size=8 base align=8 +QFileInfo (0x0x7f76164460c0) 0 + +Class QDir + size=8 align=8 + base size=8 base align=8 +QDir (0x0x7f76160f3f60) 0 + +Class QDirIterator + size=8 align=8 + base size=8 base align=8 +QDirIterator (0x0x7f761620df60) 0 + +Class QEasingCurve + size=8 align=8 + base size=8 base align=8 +QEasingCurve (0x0x7f7616249720) 0 + +Class QEventTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QEventTransition::QPrivateSignal (0x0x7f7615f70840) 0 empty + +Vtable for QEventTransition +QEventTransition::_ZTV16QEventTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QEventTransition) +16 (int (*)(...))QEventTransition::metaObject +24 (int (*)(...))QEventTransition::qt_metacast +32 (int (*)(...))QEventTransition::qt_metacall +40 (int (*)(...))QEventTransition::~QEventTransition +48 (int (*)(...))QEventTransition::~QEventTransition +56 (int (*)(...))QEventTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QEventTransition::eventTest +120 (int (*)(...))QEventTransition::onTransition + +Class QEventTransition + size=16 align=8 + base size=16 base align=8 +QEventTransition (0x0x7f7615f3b2d8) 0 + vptr=((& QEventTransition::_ZTV16QEventTransition) + 16) + QAbstractTransition (0x0x7f7615f3b340) 0 + primary-for QEventTransition (0x0x7f7615f3b2d8) + QObject (0x0x7f7615f707e0) 0 + primary-for QAbstractTransition (0x0x7f7615f3b340) + +Vtable for QException +QException::_ZTV10QException: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QException) +16 (int (*)(...))QException::~QException +24 (int (*)(...))QException::~QException +32 (int (*)(...))std::exception::what +40 (int (*)(...))QException::raise +48 (int (*)(...))QException::clone + +Class QException + size=8 align=8 + base size=8 base align=8 +QException (0x0x7f7615f3b3a8) 0 nearly-empty + vptr=((& QException::_ZTV10QException) + 16) + std::exception (0x0x7f7615f70a20) 0 nearly-empty + primary-for QException (0x0x7f7615f3b3a8) + +Vtable for QUnhandledException +QUnhandledException::_ZTV19QUnhandledException: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QUnhandledException) +16 (int (*)(...))QUnhandledException::~QUnhandledException +24 (int (*)(...))QUnhandledException::~QUnhandledException +32 (int (*)(...))std::exception::what +40 (int (*)(...))QUnhandledException::raise +48 (int (*)(...))QUnhandledException::clone + +Class QUnhandledException + size=8 align=8 + base size=8 base align=8 +QUnhandledException (0x0x7f7615f3b410) 0 nearly-empty + vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16) + QException (0x0x7f7615f3b478) 0 nearly-empty + primary-for QUnhandledException (0x0x7f7615f3b410) + std::exception (0x0x7f7615f70a80) 0 nearly-empty + primary-for QException (0x0x7f7615f3b478) + +Class QtPrivate::ExceptionHolder + size=8 align=8 + base size=8 base align=8 +QtPrivate::ExceptionHolder (0x0x7f7615f70ae0) 0 + +Class QtPrivate::ExceptionStore + size=8 align=8 + base size=8 base align=8 +QtPrivate::ExceptionStore (0x0x7f7615f70ba0) 0 + +Vtable for QFactoryInterface +QFactoryInterface::_ZTV17QFactoryInterface: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QFactoryInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QFactoryInterface + size=8 align=8 + base size=8 base align=8 +QFactoryInterface (0x0x7f7615f70c00) 0 nearly-empty + vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16) + +Class QFileSelector::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSelector::QPrivateSignal (0x0x7f7615f70e40) 0 empty + +Vtable for QFileSelector +QFileSelector::_ZTV13QFileSelector: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QFileSelector) +16 (int (*)(...))QFileSelector::metaObject +24 (int (*)(...))QFileSelector::qt_metacast +32 (int (*)(...))QFileSelector::qt_metacall +40 (int (*)(...))QFileSelector::~QFileSelector +48 (int (*)(...))QFileSelector::~QFileSelector +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QFileSelector + size=16 align=8 + base size=16 base align=8 +QFileSelector (0x0x7f7615f3b4e0) 0 + vptr=((& QFileSelector::_ZTV13QFileSelector) + 16) + QObject (0x0x7f7615f70de0) 0 + primary-for QFileSelector (0x0x7f7615f3b4e0) + +Class QFileSystemWatcher::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSystemWatcher::QPrivateSignal (0x0x7f7615fbb0c0) 0 empty + +Vtable for QFileSystemWatcher +QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QFileSystemWatcher) +16 (int (*)(...))QFileSystemWatcher::metaObject +24 (int (*)(...))QFileSystemWatcher::qt_metacast +32 (int (*)(...))QFileSystemWatcher::qt_metacall +40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher +48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QFileSystemWatcher + size=16 align=8 + base size=16 base align=8 +QFileSystemWatcher (0x0x7f7615f3b548) 0 + vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16) + QObject (0x0x7f7615fbb060) 0 + primary-for QFileSystemWatcher (0x0x7f7615f3b548) + +Class QFinalState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFinalState::QPrivateSignal (0x0x7f7615fbb300) 0 empty + +Vtable for QFinalState +QFinalState::_ZTV11QFinalState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFinalState) +16 (int (*)(...))QFinalState::metaObject +24 (int (*)(...))QFinalState::qt_metacast +32 (int (*)(...))QFinalState::qt_metacall +40 (int (*)(...))QFinalState::~QFinalState +48 (int (*)(...))QFinalState::~QFinalState +56 (int (*)(...))QFinalState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFinalState::onEntry +120 (int (*)(...))QFinalState::onExit + +Class QFinalState + size=16 align=8 + base size=16 base align=8 +QFinalState (0x0x7f7615f3b5b0) 0 + vptr=((& QFinalState::_ZTV11QFinalState) + 16) + QAbstractState (0x0x7f7615f3b618) 0 + primary-for QFinalState (0x0x7f7615f3b5b0) + QObject (0x0x7f7615fbb2a0) 0 + primary-for QAbstractState (0x0x7f7615f3b618) + +Vtable for QRunnable +QRunnable::_ZTV9QRunnable: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QRunnable) +16 (int (*)(...))__cxa_pure_virtual +24 0 +32 0 + +Class QRunnable + size=16 align=8 + base size=12 base align=8 +QRunnable (0x0x7f7615fbb4e0) 0 + vptr=((& QRunnable::_ZTV9QRunnable) + 16) + +Class QBasicMutex + size=8 align=8 + base size=8 base align=8 +QBasicMutex (0x0x7f7615fbb780) 0 + +Class QMutex + size=8 align=8 + base size=8 base align=8 +QMutex (0x0x7f7615f3b6e8) 0 + QBasicMutex (0x0x7f761604a420) 0 + +Class QRecursiveMutex + size=8 align=8 + base size=8 base align=8 +QRecursiveMutex (0x0x7f7615f3b750) 0 + QMutex (0x0x7f7615f3b7b8) 0 + QBasicMutex (0x0x7f761604a660) 0 + +Class QMutexLocker + size=8 align=8 + base size=8 base align=8 +QMutexLocker (0x0x7f761604a6c0) 0 + +Class QtPrivate::ResultItem + size=16 align=8 + base size=16 base align=8 +QtPrivate::ResultItem (0x0x7f761604acc0) 0 + +Class QtPrivate::ResultIteratorBase + size=16 align=8 + base size=12 base align=8 +QtPrivate::ResultIteratorBase (0x0x7f7615c79300) 0 + +Vtable for QtPrivate::ResultStoreBase +QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE) +16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase +24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase + +Class QtPrivate::ResultStoreBase + size=48 align=8 + base size=44 base align=8 +QtPrivate::ResultStoreBase (0x0x7f7615c794e0) 0 + vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16) + +Class std::__mutex_base + size=40 align=8 + base size=40 base align=8 +std::__mutex_base (0x0x7f7615cefcc0) 0 + +Class std::mutex + size=40 align=8 + base size=40 base align=8 +std::mutex (0x0x7f7615d010d0) 0 + std::__mutex_base (0x0x7f7615cefd20) 0 + +Class std::defer_lock_t + size=1 align=1 + base size=0 base align=1 +std::defer_lock_t (0x0x7f7615ceff00) 0 empty + +Class std::try_to_lock_t + size=1 align=1 + base size=0 base align=1 +std::try_to_lock_t (0x0x7f7615ceff60) 0 empty + +Class std::adopt_lock_t + size=1 align=1 + base size=0 base align=1 +std::adopt_lock_t (0x0x7f7615d14000) 0 empty + +Class std::__recursive_mutex_base + size=40 align=8 + base size=40 base align=8 +std::__recursive_mutex_base (0x0x7f7615d14a20) 0 + +Class std::recursive_mutex + size=40 align=8 + base size=40 base align=8 +std::recursive_mutex (0x0x7f7615d01138) 0 + std::__recursive_mutex_base (0x0x7f7615d14a80) 0 + +Class std::timed_mutex + size=40 align=8 + base size=40 base align=8 +std::timed_mutex (0x0x7f7615d0caf0) 0 + std::__mutex_base (0x0x7f7615d14e40) 0 + std::__timed_mutex_impl (0x0x7f7615d14ea0) 0 empty + +Class std::recursive_timed_mutex + size=40 align=8 + base size=40 base align=8 +std::recursive_timed_mutex (0x0x7f7615d0ce70) 0 + std::__recursive_mutex_base (0x0x7f7615d59240) 0 + std::__timed_mutex_impl (0x0x7f7615d592a0) 0 empty + +Class std::once_flag + size=4 align=4 + base size=4 base align=4 +std::once_flag (0x0x7f7615d599c0) 0 + +Vtable for QFutureInterfaceBase +QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QFutureInterfaceBase) +16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase +24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase + +Class QFutureInterfaceBase + size=16 align=8 + base size=16 base align=8 +QFutureInterfaceBase (0x0x7f7615d59c00) 0 + vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16) + +Class QFutureWatcherBase::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFutureWatcherBase::QPrivateSignal (0x0x7f7615e12f60) 0 empty + +Vtable for QFutureWatcherBase +QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QFutureWatcherBase) +16 (int (*)(...))QFutureWatcherBase::metaObject +24 (int (*)(...))QFutureWatcherBase::qt_metacast +32 (int (*)(...))QFutureWatcherBase::qt_metacall +40 0 +48 0 +56 (int (*)(...))QFutureWatcherBase::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QFutureWatcherBase::connectNotify +104 (int (*)(...))QFutureWatcherBase::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QFutureWatcherBase + size=16 align=8 + base size=16 base align=8 +QFutureWatcherBase (0x0x7f7615d01f08) 0 + vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16) + QObject (0x0x7f7615e12f00) 0 + primary-for QFutureWatcherBase (0x0x7f7615d01f08) + +Class QHistoryState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHistoryState::QPrivateSignal (0x0x7f7615e61300) 0 empty + +Vtable for QHistoryState +QHistoryState::_ZTV13QHistoryState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QHistoryState) +16 (int (*)(...))QHistoryState::metaObject +24 (int (*)(...))QHistoryState::qt_metacast +32 (int (*)(...))QHistoryState::qt_metacall +40 (int (*)(...))QHistoryState::~QHistoryState +48 (int (*)(...))QHistoryState::~QHistoryState +56 (int (*)(...))QHistoryState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QHistoryState::onEntry +120 (int (*)(...))QHistoryState::onExit + +Class QHistoryState + size=16 align=8 + base size=16 base align=8 +QHistoryState (0x0x7f7615e3e750) 0 + vptr=((& QHistoryState::_ZTV13QHistoryState) + 16) + QAbstractState (0x0x7f7615e3e7b8) 0 + primary-for QHistoryState (0x0x7f7615e3e750) + QObject (0x0x7f7615e612a0) 0 + primary-for QAbstractState (0x0x7f7615e3e7b8) + +Class QIdentityProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIdentityProxyModel::QPrivateSignal (0x0x7f7615e61600) 0 empty + +Vtable for QIdentityProxyModel +QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QIdentityProxyModel) +16 (int (*)(...))QIdentityProxyModel::metaObject +24 (int (*)(...))QIdentityProxyModel::qt_metacast +32 (int (*)(...))QIdentityProxyModel::qt_metacall +40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel +48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIdentityProxyModel::index +120 (int (*)(...))QIdentityProxyModel::parent +128 (int (*)(...))QIdentityProxyModel::sibling +136 (int (*)(...))QIdentityProxyModel::rowCount +144 (int (*)(...))QIdentityProxyModel::columnCount +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QIdentityProxyModel::headerData +184 (int (*)(...))QAbstractProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::mimeTypes +216 (int (*)(...))QAbstractProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QIdentityProxyModel::dropMimeData +240 (int (*)(...))QAbstractProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QIdentityProxyModel::insertRows +264 (int (*)(...))QIdentityProxyModel::insertColumns +272 (int (*)(...))QIdentityProxyModel::removeRows +280 (int (*)(...))QIdentityProxyModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractProxyModel::fetchMore +312 (int (*)(...))QAbstractProxyModel::canFetchMore +320 (int (*)(...))QAbstractProxyModel::flags +328 (int (*)(...))QAbstractProxyModel::sort +336 (int (*)(...))QAbstractProxyModel::buddy +344 (int (*)(...))QIdentityProxyModel::match +352 (int (*)(...))QAbstractProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QIdentityProxyModel::setSourceModel +392 (int (*)(...))QIdentityProxyModel::mapToSource +400 (int (*)(...))QIdentityProxyModel::mapFromSource +408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource +416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource + +Class QIdentityProxyModel + size=16 align=8 + base size=16 base align=8 +QIdentityProxyModel (0x0x7f7615e3e820) 0 + vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16) + QAbstractProxyModel (0x0x7f7615e3e888) 0 + primary-for QIdentityProxyModel (0x0x7f7615e3e820) + QAbstractItemModel (0x0x7f7615e3e8f0) 0 + primary-for QAbstractProxyModel (0x0x7f7615e3e888) + QObject (0x0x7f7615e615a0) 0 + primary-for QAbstractItemModel (0x0x7f7615e3e8f0) + +Class QItemSelectionRange + size=16 align=8 + base size=16 base align=8 +QItemSelectionRange (0x0x7f7615e617e0) 0 + +Class QItemSelectionModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QItemSelectionModel::QPrivateSignal (0x0x7f7615b45120) 0 empty + +Vtable for QItemSelectionModel +QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QItemSelectionModel) +16 (int (*)(...))QItemSelectionModel::metaObject +24 (int (*)(...))QItemSelectionModel::qt_metacast +32 (int (*)(...))QItemSelectionModel::qt_metacall +40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel +48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QItemSelectionModel::setCurrentIndex +120 (int (*)(...))QItemSelectionModel::select +128 (int (*)(...))QItemSelectionModel::select +136 (int (*)(...))QItemSelectionModel::clear +144 (int (*)(...))QItemSelectionModel::reset +152 (int (*)(...))QItemSelectionModel::clearCurrentIndex + +Class QItemSelectionModel + size=16 align=8 + base size=16 base align=8 +QItemSelectionModel (0x0x7f7615b43270) 0 + vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16) + QObject (0x0x7f7615b450c0) 0 + primary-for QItemSelectionModel (0x0x7f7615b43270) + +Class QItemSelection + size=8 align=8 + base size=8 base align=8 +QItemSelection (0x0x7f7615b43410) 0 + QList (0x0x7f7615b43478) 0 + QListSpecialMethods (0x0x7f7615b45c00) 0 empty + +Class QJsonValue + size=24 align=8 + base size=20 base align=8 +QJsonValue (0x0x7f7615bf8540) 0 + +Class QJsonValueRef + size=16 align=8 + base size=12 base align=8 +QJsonValueRef (0x0x7f76159611e0) 0 + +Class QJsonValuePtr + size=24 align=8 + base size=24 base align=8 +QJsonValuePtr (0x0x7f761599e180) 0 + +Class QJsonValueRefPtr + size=16 align=8 + base size=16 base align=8 +QJsonValueRefPtr (0x0x7f761599e420) 0 + +Class QJsonArray::iterator + size=16 align=8 + base size=12 base align=8 +QJsonArray::iterator (0x0x7f76159e3780) 0 + +Class QJsonArray::const_iterator + size=16 align=8 + base size=12 base align=8 +QJsonArray::const_iterator (0x0x7f76159e37e0) 0 + +Class QJsonArray + size=16 align=8 + base size=16 base align=8 +QJsonArray (0x0x7f76159e3720) 0 + +Class QJsonParseError + size=8 align=4 + base size=8 base align=4 +QJsonParseError (0x0x7f76157116c0) 0 + +Class QJsonDocument + size=8 align=8 + base size=8 base align=8 +QJsonDocument (0x0x7f7615711720) 0 + +Class QJsonObject::iterator + size=16 align=8 + base size=12 base align=8 +QJsonObject::iterator (0x0x7f7615760f00) 0 + +Class QJsonObject::const_iterator + size=16 align=8 + base size=12 base align=8 +QJsonObject::const_iterator (0x0x7f7615760f60) 0 + +Class QJsonObject + size=16 align=8 + base size=16 base align=8 +QJsonObject (0x0x7f7615760ea0) 0 + +Class QLibrary::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLibrary::QPrivateSignal (0x0x7f761549c3c0) 0 empty + +Vtable for QLibrary +QLibrary::_ZTV8QLibrary: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QLibrary) +16 (int (*)(...))QLibrary::metaObject +24 (int (*)(...))QLibrary::qt_metacast +32 (int (*)(...))QLibrary::qt_metacall +40 (int (*)(...))QLibrary::~QLibrary +48 (int (*)(...))QLibrary::~QLibrary +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QLibrary + size=32 align=8 + base size=25 base align=8 +QLibrary (0x0x7f761549f0d0) 0 + vptr=((& QLibrary::_ZTV8QLibrary) + 16) + QObject (0x0x7f761549c360) 0 + primary-for QLibrary (0x0x7f761549f0d0) + +Class QVersionNumber::SegmentStorage + size=8 align=8 + base size=8 base align=8 +QVersionNumber::SegmentStorage (0x0x7f76154e9240) 0 + +Class QVersionNumber + size=8 align=8 + base size=8 base align=8 +QVersionNumber (0x0x7f761549cd20) 0 + +Class QLibraryInfo + size=1 align=1 + base size=0 base align=1 +QLibraryInfo (0x0x7f76155829c0) 0 empty + +Class QPoint + size=8 align=4 + base size=8 base align=4 +QPoint (0x0x7f7615582a20) 0 + +Class QPointF + size=16 align=8 + base size=16 base align=8 +QPointF (0x0x7f76155f28a0) 0 + +Class QLine + size=16 align=4 + base size=16 base align=4 +QLine (0x0x7f7615660a80) 0 + +Class QLineF + size=32 align=8 + base size=32 base align=8 +QLineF (0x0x7f76152d3e40) 0 + +Class QLinkedListData + size=32 align=8 + base size=25 base align=8 +QLinkedListData (0x0x7f761537f120) 0 + +Class QLockFile + size=8 align=8 + base size=8 base align=8 +QLockFile (0x0x7f761541a660) 0 + +Class QLoggingCategory::AtomicBools + size=4 align=1 + base size=4 base align=1 +QLoggingCategory::AtomicBools (0x0x7f761541a8a0) 0 + +Class QLoggingCategory + size=24 align=8 + base size=24 base align=8 +QLoggingCategory (0x0x7f761541a840) 0 + +Class QMargins + size=16 align=4 + base size=16 base align=4 +QMargins (0x0x7f761541acc0) 0 + +Class QMarginsF + size=32 align=8 + base size=32 base align=8 +QMarginsF (0x0x7f76150d1c00) 0 + +Class QMessageAuthenticationCode + size=8 align=8 + base size=8 base align=8 +QMessageAuthenticationCode (0x0x7f7614f43420) 0 + +Class QMetaMethod + size=16 align=8 + base size=12 base align=8 +QMetaMethod (0x0x7f7614f43480) 0 + +Class QMetaEnum + size=16 align=8 + base size=12 base align=8 +QMetaEnum (0x0x7f7614faccc0) 0 + +Class QMetaProperty + size=32 align=8 + base size=32 base align=8 +QMetaProperty (0x0x7f7614feeea0) 0 + +Class QMetaClassInfo + size=16 align=8 + base size=12 base align=8 +QMetaClassInfo (0x0x7f761500f000) 0 + +Class QMimeData::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMimeData::QPrivateSignal (0x0x7f761504b5a0) 0 empty + +Vtable for QMimeData +QMimeData::_ZTV9QMimeData: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QMimeData) +16 (int (*)(...))QMimeData::metaObject +24 (int (*)(...))QMimeData::qt_metacast +32 (int (*)(...))QMimeData::qt_metacall +40 (int (*)(...))QMimeData::~QMimeData +48 (int (*)(...))QMimeData::~QMimeData +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QMimeData::hasFormat +120 (int (*)(...))QMimeData::formats +128 (int (*)(...))QMimeData::retrieveData + +Class QMimeData + size=16 align=8 + base size=16 base align=8 +QMimeData (0x0x7f761503bd00) 0 + vptr=((& QMimeData::_ZTV9QMimeData) + 16) + QObject (0x0x7f761504b540) 0 + primary-for QMimeData (0x0x7f761503bd00) + +Class QMimeType + size=8 align=8 + base size=8 base align=8 +QMimeType (0x0x7f761504b780) 0 + +Class QMimeDatabase + size=8 align=8 + base size=8 base align=8 +QMimeDatabase (0x0x7f7614d196c0) 0 + +Class QObjectCleanupHandler::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QObjectCleanupHandler::QPrivateSignal (0x0x7f7614d19780) 0 empty + +Vtable for QObjectCleanupHandler +QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QObjectCleanupHandler) +16 (int (*)(...))QObjectCleanupHandler::metaObject +24 (int (*)(...))QObjectCleanupHandler::qt_metacast +32 (int (*)(...))QObjectCleanupHandler::qt_metacall +40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler +48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QObjectCleanupHandler + size=24 align=8 + base size=24 base align=8 +QObjectCleanupHandler (0x0x7f7614d18888) 0 + vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16) + QObject (0x0x7f7614d19720) 0 + primary-for QObjectCleanupHandler (0x0x7f7614d18888) + +Class QOperatingSystemVersion + size=16 align=4 + base size=16 base align=4 +QOperatingSystemVersion (0x0x7f7614d198a0) 0 + +Class QParallelAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QParallelAnimationGroup::QPrivateSignal (0x0x7f7614da4060) 0 empty + +Vtable for QParallelAnimationGroup +QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QParallelAnimationGroup) +16 (int (*)(...))QParallelAnimationGroup::metaObject +24 (int (*)(...))QParallelAnimationGroup::qt_metacast +32 (int (*)(...))QParallelAnimationGroup::qt_metacall +40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup +48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup +56 (int (*)(...))QParallelAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QParallelAnimationGroup::duration +120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime +128 (int (*)(...))QParallelAnimationGroup::updateState +136 (int (*)(...))QParallelAnimationGroup::updateDirection + +Class QParallelAnimationGroup + size=16 align=8 + base size=16 base align=8 +QParallelAnimationGroup (0x0x7f7614da1138) 0 + vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16) + QAnimationGroup (0x0x7f7614da11a0) 0 + primary-for QParallelAnimationGroup (0x0x7f7614da1138) + QAbstractAnimation (0x0x7f7614da1208) 0 + primary-for QAnimationGroup (0x0x7f7614da11a0) + QObject (0x0x7f7614da4000) 0 + primary-for QAbstractAnimation (0x0x7f7614da1208) + +Class QPauseAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPauseAnimation::QPrivateSignal (0x0x7f7614da42a0) 0 empty + +Vtable for QPauseAnimation +QPauseAnimation::_ZTV15QPauseAnimation: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QPauseAnimation) +16 (int (*)(...))QPauseAnimation::metaObject +24 (int (*)(...))QPauseAnimation::qt_metacast +32 (int (*)(...))QPauseAnimation::qt_metacall +40 (int (*)(...))QPauseAnimation::~QPauseAnimation +48 (int (*)(...))QPauseAnimation::~QPauseAnimation +56 (int (*)(...))QPauseAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPauseAnimation::duration +120 (int (*)(...))QPauseAnimation::updateCurrentTime +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QPauseAnimation + size=16 align=8 + base size=16 base align=8 +QPauseAnimation (0x0x7f7614da1270) 0 + vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16) + QAbstractAnimation (0x0x7f7614da12d8) 0 + primary-for QPauseAnimation (0x0x7f7614da1270) + QObject (0x0x7f7614da4240) 0 + primary-for QAbstractAnimation (0x0x7f7614da12d8) + +Class QStaticPlugin + size=16 align=8 + base size=16 base align=8 +QStaticPlugin (0x0x7f7614da4de0) 0 + +Class QPluginLoader::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPluginLoader::QPrivateSignal (0x0x7f7614dfff60) 0 empty + +Vtable for QPluginLoader +QPluginLoader::_ZTV13QPluginLoader: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QPluginLoader) +16 (int (*)(...))QPluginLoader::metaObject +24 (int (*)(...))QPluginLoader::qt_metacast +32 (int (*)(...))QPluginLoader::qt_metacall +40 (int (*)(...))QPluginLoader::~QPluginLoader +48 (int (*)(...))QPluginLoader::~QPluginLoader +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPluginLoader + size=32 align=8 + base size=25 base align=8 +QPluginLoader (0x0x7f7614e0f618) 0 + vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16) + QObject (0x0x7f7614dfff00) 0 + primary-for QPluginLoader (0x0x7f7614e0f618) + +Class QProcessEnvironment + size=8 align=8 + base size=8 base align=8 +QProcessEnvironment (0x0x7f7614e250c0) 0 + +Class QProcess::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProcess::QPrivateSignal (0x0x7f7614ae9540) 0 empty + +Vtable for QProcess +QProcess::_ZTV8QProcess: 31 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QProcess) +16 (int (*)(...))QProcess::metaObject +24 (int (*)(...))QProcess::qt_metacast +32 (int (*)(...))QProcess::qt_metacall +40 (int (*)(...))QProcess::~QProcess +48 (int (*)(...))QProcess::~QProcess +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QProcess::isSequential +120 (int (*)(...))QProcess::open +128 (int (*)(...))QProcess::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QProcess::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QProcess::bytesAvailable +184 (int (*)(...))QProcess::bytesToWrite +192 (int (*)(...))QProcess::canReadLine +200 (int (*)(...))QProcess::waitForReadyRead +208 (int (*)(...))QProcess::waitForBytesWritten +216 (int (*)(...))QProcess::readData +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QProcess::writeData +240 (int (*)(...))QProcess::setupChildProcess + +Class QProcess + size=16 align=8 + base size=16 base align=8 +QProcess (0x0x7f7614ae4a90) 0 + vptr=((& QProcess::_ZTV8QProcess) + 16) + QIODevice (0x0x7f7614ae4af8) 0 + primary-for QProcess (0x0x7f7614ae4a90) + QObject (0x0x7f7614ae94e0) 0 + primary-for QIODevice (0x0x7f7614ae4af8) + +Class QVariantAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QVariantAnimation::QPrivateSignal (0x0x7f7614ae9c00) 0 empty + +Vtable for QVariantAnimation +QVariantAnimation::_ZTV17QVariantAnimation: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QVariantAnimation) +16 (int (*)(...))QVariantAnimation::metaObject +24 (int (*)(...))QVariantAnimation::qt_metacast +32 (int (*)(...))QVariantAnimation::qt_metacall +40 (int (*)(...))QVariantAnimation::~QVariantAnimation +48 (int (*)(...))QVariantAnimation::~QVariantAnimation +56 (int (*)(...))QVariantAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QVariantAnimation::duration +120 (int (*)(...))QVariantAnimation::updateCurrentTime +128 (int (*)(...))QVariantAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection +144 (int (*)(...))QVariantAnimation::updateCurrentValue +152 (int (*)(...))QVariantAnimation::interpolated + +Class QVariantAnimation + size=16 align=8 + base size=16 base align=8 +QVariantAnimation (0x0x7f7614ae4b60) 0 + vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16) + QAbstractAnimation (0x0x7f7614ae4bc8) 0 + primary-for QVariantAnimation (0x0x7f7614ae4b60) + QObject (0x0x7f7614ae9ba0) 0 + primary-for QAbstractAnimation (0x0x7f7614ae4bc8) + +Class QPropertyAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPropertyAnimation::QPrivateSignal (0x0x7f7614ae9ea0) 0 empty + +Vtable for QPropertyAnimation +QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QPropertyAnimation) +16 (int (*)(...))QPropertyAnimation::metaObject +24 (int (*)(...))QPropertyAnimation::qt_metacast +32 (int (*)(...))QPropertyAnimation::qt_metacall +40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation +48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation +56 (int (*)(...))QPropertyAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QVariantAnimation::duration +120 (int (*)(...))QVariantAnimation::updateCurrentTime +128 (int (*)(...))QPropertyAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection +144 (int (*)(...))QPropertyAnimation::updateCurrentValue +152 (int (*)(...))QVariantAnimation::interpolated + +Class QPropertyAnimation + size=16 align=8 + base size=16 base align=8 +QPropertyAnimation (0x0x7f7614ae4c98) 0 + vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16) + QVariantAnimation (0x0x7f7614ae4d00) 0 + primary-for QPropertyAnimation (0x0x7f7614ae4c98) + QAbstractAnimation (0x0x7f7614ae4d68) 0 + primary-for QVariantAnimation (0x0x7f7614ae4d00) + QObject (0x0x7f7614ae9e40) 0 + primary-for QAbstractAnimation (0x0x7f7614ae4d68) + +Class std::random_device + size=5000 align=8 + base size=5000 base align=8 +std::random_device (0x0x7f7614bba600) 0 + +Class std::bernoulli_distribution::param_type + size=8 align=8 + base size=8 base align=8 +std::bernoulli_distribution::param_type (0x0x7f76148b8360) 0 + +Class std::bernoulli_distribution + size=8 align=8 + base size=8 base align=8 +std::bernoulli_distribution (0x0x7f76148b8300) 0 + +Class std::seed_seq + size=24 align=8 + base size=24 base align=8 +std::seed_seq (0x0x7f76146ab0c0) 0 + +Class QRandomGenerator::Storage + size=2504 align=8 + base size=2504 base align=8 +QRandomGenerator::Storage (0x0x7f76144b5d20) 0 + +Class QRandomGenerator + size=2512 align=8 + base size=2512 base align=8 +QRandomGenerator (0x0x7f76144b5cc0) 0 + +Class QRandomGenerator64 + size=2512 align=8 + base size=2512 base align=8 +QRandomGenerator64 (0x0x7f7614542a28) 0 + QRandomGenerator (0x0x7f7614560840) 0 + +Class QReadWriteLock + size=8 align=8 + base size=8 base align=8 +QReadWriteLock (0x0x7f7614584420) 0 + +Class QReadLocker + size=8 align=8 + base size=8 base align=8 +QReadLocker (0x0x7f76145846c0) 0 + +Class QWriteLocker + size=8 align=8 + base size=8 base align=8 +QWriteLocker (0x0x7f7614584ba0) 0 + +Class QSize + size=8 align=4 + base size=8 base align=4 +QSize (0x0x7f761460f0c0) 0 + +Class QSizeF + size=16 align=8 + base size=16 base align=8 +QSizeF (0x0x7f761465df60) 0 + +Class QRect + size=16 align=4 + base size=16 base align=4 +QRect (0x0x7f76142fd000) 0 + +Class QRectF + size=32 align=8 + base size=32 base align=8 +QRectF (0x0x7f76143c3060) 0 + +Class QResource + size=8 align=8 + base size=8 base align=8 +QResource (0x0x7f7614080180) 0 + +Class QSaveFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSaveFile::QPrivateSignal (0x0x7f7614080420) 0 empty + +Vtable for QSaveFile +QSaveFile::_ZTV9QSaveFile: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSaveFile) +16 (int (*)(...))QSaveFile::metaObject +24 (int (*)(...))QSaveFile::qt_metacast +32 (int (*)(...))QSaveFile::qt_metacall +40 (int (*)(...))QSaveFile::~QSaveFile +48 (int (*)(...))QSaveFile::~QSaveFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QSaveFile::open +128 (int (*)(...))QSaveFile::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFileDevice::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QSaveFile::writeData +240 (int (*)(...))QSaveFile::fileName +248 (int (*)(...))QFileDevice::resize +256 (int (*)(...))QFileDevice::permissions +264 (int (*)(...))QFileDevice::setPermissions + +Class QSaveFile + size=16 align=8 + base size=16 base align=8 +QSaveFile (0x0x7f761441e410) 0 + vptr=((& QSaveFile::_ZTV9QSaveFile) + 16) + QFileDevice (0x0x7f761441e478) 0 + primary-for QSaveFile (0x0x7f761441e410) + QIODevice (0x0x7f761441e4e0) 0 + primary-for QFileDevice (0x0x7f761441e478) + QObject (0x0x7f76140803c0) 0 + primary-for QIODevice (0x0x7f761441e4e0) + +Class QSemaphore + size=8 align=8 + base size=8 base align=8 +QSemaphore (0x0x7f7614080a20) 0 + +Class QSemaphoreReleaser + size=16 align=8 + base size=12 base align=8 +QSemaphoreReleaser (0x0x7f7614080ba0) 0 + +Class QSequentialAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSequentialAnimationGroup::QPrivateSignal (0x0x7f761416e7e0) 0 empty + +Vtable for QSequentialAnimationGroup +QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup) +16 (int (*)(...))QSequentialAnimationGroup::metaObject +24 (int (*)(...))QSequentialAnimationGroup::qt_metacast +32 (int (*)(...))QSequentialAnimationGroup::qt_metacall +40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup +48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup +56 (int (*)(...))QSequentialAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSequentialAnimationGroup::duration +120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime +128 (int (*)(...))QSequentialAnimationGroup::updateState +136 (int (*)(...))QSequentialAnimationGroup::updateDirection + +Class QSequentialAnimationGroup + size=16 align=8 + base size=16 base align=8 +QSequentialAnimationGroup (0x0x7f7614174c98) 0 + vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16) + QAnimationGroup (0x0x7f7614174d00) 0 + primary-for QSequentialAnimationGroup (0x0x7f7614174c98) + QAbstractAnimation (0x0x7f7614174d68) 0 + primary-for QAnimationGroup (0x0x7f7614174d00) + QObject (0x0x7f761416e780) 0 + primary-for QAbstractAnimation (0x0x7f7614174d68) + +Class QSettings::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSettings::QPrivateSignal (0x0x7f761416ea20) 0 empty + +Vtable for QSettings +QSettings::_ZTV9QSettings: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSettings) +16 (int (*)(...))QSettings::metaObject +24 (int (*)(...))QSettings::qt_metacast +32 (int (*)(...))QSettings::qt_metacall +40 (int (*)(...))QSettings::~QSettings +48 (int (*)(...))QSettings::~QSettings +56 (int (*)(...))QSettings::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSettings + size=16 align=8 + base size=16 base align=8 +QSettings (0x0x7f7614174dd0) 0 + vptr=((& QSettings::_ZTV9QSettings) + 16) + QObject (0x0x7f761416e9c0) 0 + primary-for QSettings (0x0x7f7614174dd0) + +Class QSharedMemory::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSharedMemory::QPrivateSignal (0x0x7f761416eea0) 0 empty + +Vtable for QSharedMemory +QSharedMemory::_ZTV13QSharedMemory: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSharedMemory) +16 (int (*)(...))QSharedMemory::metaObject +24 (int (*)(...))QSharedMemory::qt_metacast +32 (int (*)(...))QSharedMemory::qt_metacall +40 (int (*)(...))QSharedMemory::~QSharedMemory +48 (int (*)(...))QSharedMemory::~QSharedMemory +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSharedMemory + size=16 align=8 + base size=16 base align=8 +QSharedMemory (0x0x7f7614174e38) 0 + vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16) + QObject (0x0x7f761416ee40) 0 + primary-for QSharedMemory (0x0x7f7614174e38) + +Class QSignalMapper::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSignalMapper::QPrivateSignal (0x0x7f76141c2120) 0 empty + +Vtable for QSignalMapper +QSignalMapper::_ZTV13QSignalMapper: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSignalMapper) +16 (int (*)(...))QSignalMapper::metaObject +24 (int (*)(...))QSignalMapper::qt_metacast +32 (int (*)(...))QSignalMapper::qt_metacall +40 (int (*)(...))QSignalMapper::~QSignalMapper +48 (int (*)(...))QSignalMapper::~QSignalMapper +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSignalMapper + size=16 align=8 + base size=16 base align=8 +QSignalMapper (0x0x7f7614174ea0) 0 + vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16) + QObject (0x0x7f76141c20c0) 0 + primary-for QSignalMapper (0x0x7f7614174ea0) + +Class QSignalTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSignalTransition::QPrivateSignal (0x0x7f76141c2360) 0 empty + +Vtable for QSignalTransition +QSignalTransition::_ZTV17QSignalTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QSignalTransition) +16 (int (*)(...))QSignalTransition::metaObject +24 (int (*)(...))QSignalTransition::qt_metacast +32 (int (*)(...))QSignalTransition::qt_metacall +40 (int (*)(...))QSignalTransition::~QSignalTransition +48 (int (*)(...))QSignalTransition::~QSignalTransition +56 (int (*)(...))QSignalTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSignalTransition::eventTest +120 (int (*)(...))QSignalTransition::onTransition + +Class QSignalTransition + size=16 align=8 + base size=16 base align=8 +QSignalTransition (0x0x7f7614174f08) 0 + vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16) + QAbstractTransition (0x0x7f7614174f70) 0 + primary-for QSignalTransition (0x0x7f7614174f08) + QObject (0x0x7f76141c2300) 0 + primary-for QAbstractTransition (0x0x7f7614174f70) + +Class QSocketNotifier::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSocketNotifier::QPrivateSignal (0x0x7f76141c2600) 0 empty + +Vtable for QSocketNotifier +QSocketNotifier::_ZTV15QSocketNotifier: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSocketNotifier) +16 (int (*)(...))QSocketNotifier::metaObject +24 (int (*)(...))QSocketNotifier::qt_metacast +32 (int (*)(...))QSocketNotifier::qt_metacall +40 (int (*)(...))QSocketNotifier::~QSocketNotifier +48 (int (*)(...))QSocketNotifier::~QSocketNotifier +56 (int (*)(...))QSocketNotifier::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSocketNotifier + size=16 align=8 + base size=16 base align=8 +QSocketNotifier (0x0x7f76141e5000) 0 + vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16) + QObject (0x0x7f76141c25a0) 0 + primary-for QSocketNotifier (0x0x7f76141e5000) + +Class QSortFilterProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSortFilterProxyModel::QPrivateSignal (0x0x7f76141c2840) 0 empty + +Vtable for QSortFilterProxyModel +QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QSortFilterProxyModel) +16 (int (*)(...))QSortFilterProxyModel::metaObject +24 (int (*)(...))QSortFilterProxyModel::qt_metacast +32 (int (*)(...))QSortFilterProxyModel::qt_metacall +40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel +48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSortFilterProxyModel::index +120 (int (*)(...))QSortFilterProxyModel::parent +128 (int (*)(...))QSortFilterProxyModel::sibling +136 (int (*)(...))QSortFilterProxyModel::rowCount +144 (int (*)(...))QSortFilterProxyModel::columnCount +152 (int (*)(...))QSortFilterProxyModel::hasChildren +160 (int (*)(...))QSortFilterProxyModel::data +168 (int (*)(...))QSortFilterProxyModel::setData +176 (int (*)(...))QSortFilterProxyModel::headerData +184 (int (*)(...))QSortFilterProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QSortFilterProxyModel::mimeTypes +216 (int (*)(...))QSortFilterProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QSortFilterProxyModel::dropMimeData +240 (int (*)(...))QSortFilterProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QSortFilterProxyModel::insertRows +264 (int (*)(...))QSortFilterProxyModel::insertColumns +272 (int (*)(...))QSortFilterProxyModel::removeRows +280 (int (*)(...))QSortFilterProxyModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QSortFilterProxyModel::fetchMore +312 (int (*)(...))QSortFilterProxyModel::canFetchMore +320 (int (*)(...))QSortFilterProxyModel::flags +328 (int (*)(...))QSortFilterProxyModel::sort +336 (int (*)(...))QSortFilterProxyModel::buddy +344 (int (*)(...))QSortFilterProxyModel::match +352 (int (*)(...))QSortFilterProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QSortFilterProxyModel::setSourceModel +392 (int (*)(...))QSortFilterProxyModel::mapToSource +400 (int (*)(...))QSortFilterProxyModel::mapFromSource +408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource +416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource +424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow +432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn +440 (int (*)(...))QSortFilterProxyModel::lessThan + +Class QSortFilterProxyModel + size=16 align=8 + base size=16 base align=8 +QSortFilterProxyModel (0x0x7f76141e5068) 0 + vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16) + QAbstractProxyModel (0x0x7f76141e50d0) 0 + primary-for QSortFilterProxyModel (0x0x7f76141e5068) + QAbstractItemModel (0x0x7f76141e5138) 0 + primary-for QAbstractProxyModel (0x0x7f76141e50d0) + QObject (0x0x7f76141c27e0) 0 + primary-for QAbstractItemModel (0x0x7f76141e5138) + +Class QStandardPaths + size=1 align=1 + base size=0 base align=1 +QStandardPaths (0x0x7f76141c2c60) 0 empty + +Class QState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QState::QPrivateSignal (0x0x7f761423b5a0) 0 empty + +Vtable for QState +QState::_ZTV6QState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QState) +16 (int (*)(...))QState::metaObject +24 (int (*)(...))QState::qt_metacast +32 (int (*)(...))QState::qt_metacall +40 (int (*)(...))QState::~QState +48 (int (*)(...))QState::~QState +56 (int (*)(...))QState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QState::onEntry +120 (int (*)(...))QState::onExit + +Class QState + size=16 align=8 + base size=16 base align=8 +QState (0x0x7f76141e52d8) 0 + vptr=((& QState::_ZTV6QState) + 16) + QAbstractState (0x0x7f76141e5340) 0 + primary-for QState (0x0x7f76141e52d8) + QObject (0x0x7f761423b540) 0 + primary-for QAbstractState (0x0x7f76141e5340) + +Class QStateMachine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStateMachine::QPrivateSignal (0x0x7f761423ba20) 0 empty + +Vtable for QStateMachine::SignalEvent +QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE) +16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent +24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent + +Class QStateMachine::SignalEvent + size=48 align=8 + base size=48 base align=8 +QStateMachine::SignalEvent (0x0x7f76141e54e0) 0 + vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16) + QEvent (0x0x7f761423ba80) 0 + primary-for QStateMachine::SignalEvent (0x0x7f76141e54e0) + +Vtable for QStateMachine::WrappedEvent +QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE) +16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent +24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent + +Class QStateMachine::WrappedEvent + size=40 align=8 + base size=40 base align=8 +QStateMachine::WrappedEvent (0x0x7f76141e5548) 0 + vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16) + QEvent (0x0x7f761423bae0) 0 + primary-for QStateMachine::WrappedEvent (0x0x7f76141e5548) + +Vtable for QStateMachine +QStateMachine::_ZTV13QStateMachine: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QStateMachine) +16 (int (*)(...))QStateMachine::metaObject +24 (int (*)(...))QStateMachine::qt_metacast +32 (int (*)(...))QStateMachine::qt_metacall +40 (int (*)(...))QStateMachine::~QStateMachine +48 (int (*)(...))QStateMachine::~QStateMachine +56 (int (*)(...))QStateMachine::event +64 (int (*)(...))QStateMachine::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStateMachine::onEntry +120 (int (*)(...))QStateMachine::onExit +128 (int (*)(...))QStateMachine::beginSelectTransitions +136 (int (*)(...))QStateMachine::endSelectTransitions +144 (int (*)(...))QStateMachine::beginMicrostep +152 (int (*)(...))QStateMachine::endMicrostep + +Class QStateMachine + size=16 align=8 + base size=16 base align=8 +QStateMachine (0x0x7f76141e53a8) 0 + vptr=((& QStateMachine::_ZTV13QStateMachine) + 16) + QState (0x0x7f76141e5410) 0 + primary-for QStateMachine (0x0x7f76141e53a8) + QAbstractState (0x0x7f76141e5478) 0 + primary-for QState (0x0x7f76141e5410) + QObject (0x0x7f761423b9c0) 0 + primary-for QAbstractState (0x0x7f76141e5478) + +Class QStorageInfo + size=8 align=8 + base size=8 base align=8 +QStorageInfo (0x0x7f761423bea0) 0 + +Class QAbstractConcatenable + size=1 align=1 + base size=0 base align=1 +QAbstractConcatenable (0x0x7f7613f6ac60) 0 empty + +Class QStringListModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStringListModel::QPrivateSignal (0x0x7f761401b000) 0 empty + +Vtable for QStringListModel +QStringListModel::_ZTV16QStringListModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QStringListModel) +16 (int (*)(...))QStringListModel::metaObject +24 (int (*)(...))QStringListModel::qt_metacast +32 (int (*)(...))QStringListModel::qt_metacall +40 (int (*)(...))QStringListModel::~QStringListModel +48 (int (*)(...))QStringListModel::~QStringListModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractListModel::index +120 (int (*)(...))QAbstractListModel::parent +128 (int (*)(...))QStringListModel::sibling +136 (int (*)(...))QStringListModel::rowCount +144 (int (*)(...))QAbstractListModel::columnCount +152 (int (*)(...))QAbstractListModel::hasChildren +160 (int (*)(...))QStringListModel::data +168 (int (*)(...))QStringListModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QStringListModel::itemData +200 (int (*)(...))QStringListModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractListModel::dropMimeData +240 (int (*)(...))QStringListModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QStringListModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QStringListModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QStringListModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QStringListModel::flags +328 (int (*)(...))QStringListModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QStringListModel + size=24 align=8 + base size=24 base align=8 +QStringListModel (0x0x7f7613fd3e38) 0 + vptr=((& QStringListModel::_ZTV16QStringListModel) + 16) + QAbstractListModel (0x0x7f7613fd3ea0) 0 + primary-for QStringListModel (0x0x7f7613fd3e38) + QAbstractItemModel (0x0x7f7613fd3f08) 0 + primary-for QAbstractListModel (0x0x7f7613fd3ea0) + QObject (0x0x7f7613ff0f60) 0 + primary-for QAbstractItemModel (0x0x7f7613fd3f08) + +Class QSystemSemaphore + size=8 align=8 + base size=8 base align=8 +QSystemSemaphore (0x0x7f761401b120) 0 + +Class QTemporaryDir + size=8 align=8 + base size=8 base align=8 +QTemporaryDir (0x0x7f761401b1e0) 0 + +Class QTemporaryFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTemporaryFile::QPrivateSignal (0x0x7f761401b300) 0 empty + +Vtable for QTemporaryFile +QTemporaryFile::_ZTV14QTemporaryFile: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QTemporaryFile) +16 (int (*)(...))QTemporaryFile::metaObject +24 (int (*)(...))QTemporaryFile::qt_metacast +32 (int (*)(...))QTemporaryFile::qt_metacall +40 (int (*)(...))QTemporaryFile::~QTemporaryFile +48 (int (*)(...))QTemporaryFile::~QTemporaryFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QTemporaryFile::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFile::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QFileDevice::writeData +240 (int (*)(...))QTemporaryFile::fileName +248 (int (*)(...))QFile::resize +256 (int (*)(...))QFile::permissions +264 (int (*)(...))QFile::setPermissions + +Class QTemporaryFile + size=16 align=8 + base size=16 base align=8 +QTemporaryFile (0x0x7f7613fd3f70) 0 + vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16) + QFile (0x0x7f7614043000) 0 + primary-for QTemporaryFile (0x0x7f7613fd3f70) + QFileDevice (0x0x7f7614043068) 0 + primary-for QFile (0x0x7f7614043000) + QIODevice (0x0x7f76140430d0) 0 + primary-for QFileDevice (0x0x7f7614043068) + QObject (0x0x7f761401b2a0) 0 + primary-for QIODevice (0x0x7f76140430d0) + +Class QTextBoundaryFinder + size=48 align=8 + base size=48 base align=8 +QTextBoundaryFinder (0x0x7f761401b660) 0 + +Class QTextCodec::ConverterState + size=32 align=8 + base size=32 base align=8 +QTextCodec::ConverterState (0x0x7f761401bea0) 0 + +Vtable for QTextCodec +QTextCodec::_ZTV10QTextCodec: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTextCodec) +16 (int (*)(...))__cxa_pure_virtual +24 (int (*)(...))QTextCodec::aliases +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 0 +64 0 + +Class QTextCodec + size=8 align=8 + base size=8 base align=8 +QTextCodec (0x0x7f761401be40) 0 nearly-empty + vptr=((& QTextCodec::_ZTV10QTextCodec) + 16) + +Class QTextEncoder + size=40 align=8 + base size=40 base align=8 +QTextEncoder (0x0x7f7613c998a0) 0 + +Class QTextDecoder + size=40 align=8 + base size=40 base align=8 +QTextDecoder (0x0x7f7613c99a80) 0 + +Vtable for std::thread::_State +std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt6thread6_StateE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class std::thread::_State + size=8 align=8 + base size=8 base align=8 +std::thread::_State (0x0x7f7613c99cc0) 0 nearly-empty + vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16) + +Class std::thread::id + size=8 align=8 + base size=8 base align=8 +std::thread::id (0x0x7f7613c99d20) 0 + +Class std::thread + size=8 align=8 + base size=8 base align=8 +std::thread (0x0x7f7613c99c60) 0 + +Class std::condition_variable + size=48 align=8 + base size=48 base align=8 +std::condition_variable (0x0x7f7613b81120) 0 + +Class std::__at_thread_exit_elt + size=16 align=8 + base size=16 base align=8 +std::__at_thread_exit_elt (0x0x7f7613b814e0) 0 + +Class std::_V2::condition_variable_any + size=64 align=8 + base size=64 base align=8 +std::_V2::condition_variable_any (0x0x7f7613b81540) 0 + +Class std::__atomic_futex_unsigned_base + size=1 align=1 + base size=0 base align=1 +std::__atomic_futex_unsigned_base (0x0x7f7613907840) 0 empty + +Vtable for std::future_error +std::future_error::_ZTVSt12future_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12future_error) +16 (int (*)(...))std::future_error::~future_error +24 (int (*)(...))std::future_error::~future_error +32 (int (*)(...))std::future_error::what + +Class std::future_error + size=32 align=8 + base size=32 base align=8 +std::future_error (0x0x7f761390b478) 0 + vptr=((& std::future_error::_ZTVSt12future_error) + 16) + std::logic_error (0x0x7f761390b4e0) 0 + primary-for std::future_error (0x0x7f761390b478) + std::exception (0x0x7f7613907f60) 0 nearly-empty + primary-for std::logic_error (0x0x7f761390b4e0) + +Class std::__future_base::_Result_base::_Deleter + size=1 align=1 + base size=0 base align=1 +std::__future_base::_Result_base::_Deleter (0x0x7f761393b6c0) 0 empty + +Vtable for std::__future_base::_Result_base +std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE) +16 (int (*)(...))__cxa_pure_virtual +24 0 +32 0 + +Class std::__future_base::_Result_base + size=16 align=8 + base size=16 base align=8 +std::__future_base::_Result_base (0x0x7f761393b660) 0 + vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16) + +Class std::__future_base::_State_baseV2::__exception_ptr_tag + size=1 align=1 + base size=0 base align=1 +std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f76136fbde0) 0 empty + +Class std::__future_base::_State_baseV2::_Make_ready + size=32 align=8 + base size=32 base align=8 +std::__future_base::_State_baseV2::_Make_ready (0x0x7f76136fcd00) 0 + std::__at_thread_exit_elt (0x0x7f76136fbea0) 0 + +Vtable for std::__future_base::_State_baseV2 +std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E) +16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2 +24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2 +32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async +40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future + +Class std::__future_base::_State_baseV2 + size=32 align=8 + base size=28 base align=8 +std::__future_base::_State_baseV2 (0x0x7f761393b840) 0 + vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16) + +Class std::__future_base + size=1 align=1 + base size=0 base align=1 +std::__future_base (0x0x7f761393b600) 0 empty + +Vtable for std::__future_base::_Async_state_commonV2 +std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E) +16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2 +24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2 +32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async +40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future + +Class std::__future_base::_Async_state_commonV2 + size=48 align=8 + base size=44 base align=8 +std::__future_base::_Async_state_commonV2 (0x0x7f7612e97a28) 0 + vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16) + std::__future_base::_State_baseV2 (0x0x7f7612eb5ea0) 0 + primary-for std::__future_base::_Async_state_commonV2 (0x0x7f7612e97a28) + +Class QThread::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QThread::QPrivateSignal (0x0x7f7612ef0780) 0 empty + +Vtable for QThread +QThread::_ZTV7QThread: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QThread) +16 (int (*)(...))QThread::metaObject +24 (int (*)(...))QThread::qt_metacast +32 (int (*)(...))QThread::qt_metacall +40 (int (*)(...))QThread::~QThread +48 (int (*)(...))QThread::~QThread +56 (int (*)(...))QThread::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QThread::run + +Class QThread + size=16 align=8 + base size=16 base align=8 +QThread (0x0x7f7612e97d68) 0 + vptr=((& QThread::_ZTV7QThread) + 16) + QObject (0x0x7f7612ef0720) 0 + primary-for QThread (0x0x7f7612e97d68) + +Class QThreadPool::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QThreadPool::QPrivateSignal (0x0x7f7612ef0b40) 0 empty + +Vtable for QThreadPool +QThreadPool::_ZTV11QThreadPool: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QThreadPool) +16 (int (*)(...))QThreadPool::metaObject +24 (int (*)(...))QThreadPool::qt_metacast +32 (int (*)(...))QThreadPool::qt_metacall +40 (int (*)(...))QThreadPool::~QThreadPool +48 (int (*)(...))QThreadPool::~QThreadPool +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QThreadPool + size=16 align=8 + base size=16 base align=8 +QThreadPool (0x0x7f7612e97dd0) 0 + vptr=((& QThreadPool::_ZTV11QThreadPool) + 16) + QObject (0x0x7f7612ef0ae0) 0 + primary-for QThreadPool (0x0x7f7612e97dd0) + +Class QThreadStorageData + size=4 align=4 + base size=4 base align=4 +QThreadStorageData (0x0x7f7612ef0d20) 0 + +Class QTimeLine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimeLine::QPrivateSignal (0x0x7f7612f36420) 0 empty + +Vtable for QTimeLine +QTimeLine::_ZTV9QTimeLine: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTimeLine) +16 (int (*)(...))QTimeLine::metaObject +24 (int (*)(...))QTimeLine::qt_metacast +32 (int (*)(...))QTimeLine::qt_metacall +40 (int (*)(...))QTimeLine::~QTimeLine +48 (int (*)(...))QTimeLine::~QTimeLine +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTimeLine::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTimeLine::valueForTime + +Class QTimeLine + size=16 align=8 + base size=16 base align=8 +QTimeLine (0x0x7f7612e97e38) 0 + vptr=((& QTimeLine::_ZTV9QTimeLine) + 16) + QObject (0x0x7f7612f363c0) 0 + primary-for QTimeLine (0x0x7f7612e97e38) + +Class QTimer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimer::QPrivateSignal (0x0x7f7612f36660) 0 empty + +Vtable for QTimer +QTimer::_ZTV6QTimer: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QTimer) +16 (int (*)(...))QTimer::metaObject +24 (int (*)(...))QTimer::qt_metacast +32 (int (*)(...))QTimer::qt_metacall +40 (int (*)(...))QTimer::~QTimer +48 (int (*)(...))QTimer::~QTimer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTimer::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTimer + size=32 align=8 + base size=29 base align=8 +QTimer (0x0x7f7612e97ea0) 0 + vptr=((& QTimer::_ZTV6QTimer) + 16) + QObject (0x0x7f7612f36600) 0 + primary-for QTimer (0x0x7f7612e97ea0) + +Class QTimeZone::OffsetData + size=32 align=8 + base size=28 base align=8 +QTimeZone::OffsetData (0x0x7f7612fa3000) 0 + +Class QTimeZone + size=8 align=8 + base size=8 base align=8 +QTimeZone (0x0x7f7612f7af60) 0 + +Class QTranslator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTranslator::QPrivateSignal (0x0x7f761303f0c0) 0 empty + +Vtable for QTranslator +QTranslator::_ZTV11QTranslator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTranslator) +16 (int (*)(...))QTranslator::metaObject +24 (int (*)(...))QTranslator::qt_metacast +32 (int (*)(...))QTranslator::qt_metacall +40 (int (*)(...))QTranslator::~QTranslator +48 (int (*)(...))QTranslator::~QTranslator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTranslator::translate +120 (int (*)(...))QTranslator::isEmpty + +Class QTranslator + size=16 align=8 + base size=16 base align=8 +QTranslator (0x0x7f76130345b0) 0 + vptr=((& QTranslator::_ZTV11QTranslator) + 16) + QObject (0x0x7f761303f060) 0 + primary-for QTranslator (0x0x7f76130345b0) + +Class QTransposeProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTransposeProxyModel::QPrivateSignal (0x0x7f761303f300) 0 empty + +Vtable for QTransposeProxyModel +QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QTransposeProxyModel) +16 (int (*)(...))QTransposeProxyModel::metaObject +24 (int (*)(...))QTransposeProxyModel::qt_metacast +32 (int (*)(...))QTransposeProxyModel::qt_metacall +40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel +48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTransposeProxyModel::index +120 (int (*)(...))QTransposeProxyModel::parent +128 (int (*)(...))QAbstractProxyModel::sibling +136 (int (*)(...))QTransposeProxyModel::rowCount +144 (int (*)(...))QTransposeProxyModel::columnCount +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QTransposeProxyModel::headerData +184 (int (*)(...))QTransposeProxyModel::setHeaderData +192 (int (*)(...))QTransposeProxyModel::itemData +200 (int (*)(...))QTransposeProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::mimeTypes +216 (int (*)(...))QAbstractProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QAbstractProxyModel::dropMimeData +240 (int (*)(...))QAbstractProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QTransposeProxyModel::insertRows +264 (int (*)(...))QTransposeProxyModel::insertColumns +272 (int (*)(...))QTransposeProxyModel::removeRows +280 (int (*)(...))QTransposeProxyModel::removeColumns +288 (int (*)(...))QTransposeProxyModel::moveRows +296 (int (*)(...))QTransposeProxyModel::moveColumns +304 (int (*)(...))QAbstractProxyModel::fetchMore +312 (int (*)(...))QAbstractProxyModel::canFetchMore +320 (int (*)(...))QAbstractProxyModel::flags +328 (int (*)(...))QTransposeProxyModel::sort +336 (int (*)(...))QAbstractProxyModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QTransposeProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QTransposeProxyModel::setSourceModel +392 (int (*)(...))QTransposeProxyModel::mapToSource +400 (int (*)(...))QTransposeProxyModel::mapFromSource +408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource +416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource + +Class QTransposeProxyModel + size=16 align=8 + base size=16 base align=8 +QTransposeProxyModel (0x0x7f7613034618) 0 + vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16) + QAbstractProxyModel (0x0x7f7613034680) 0 + primary-for QTransposeProxyModel (0x0x7f7613034618) + QAbstractItemModel (0x0x7f76130346e8) 0 + primary-for QAbstractProxyModel (0x0x7f7613034680) + QObject (0x0x7f761303f2a0) 0 + primary-for QAbstractItemModel (0x0x7f76130346e8) + +Class QUrlQuery + size=8 align=8 + base size=8 base align=8 +QUrlQuery (0x0x7f761303f4e0) 0 + +Class QWaitCondition + size=8 align=8 + base size=8 base align=8 +QWaitCondition (0x0x7f7612d3e9c0) 0 + +Class QXmlStreamStringRef + size=16 align=8 + base size=16 base align=8 +QXmlStreamStringRef (0x0x7f7612d3eae0) 0 + +Class QXmlStreamAttribute + size=80 align=8 + base size=73 base align=8 +QXmlStreamAttribute (0x0x7f7612dcdea0) 0 + +Class QXmlStreamAttributes + size=8 align=8 + base size=8 base align=8 +QXmlStreamAttributes (0x0x7f7612e459c0) 0 + QVector (0x0x7f7612e4a600) 0 + +Class QXmlStreamNamespaceDeclaration + size=40 align=8 + base size=40 base align=8 +QXmlStreamNamespaceDeclaration (0x0x7f7612e4a900) 0 + +Class QXmlStreamNotationDeclaration + size=56 align=8 + base size=56 base align=8 +QXmlStreamNotationDeclaration (0x0x7f7612ad08a0) 0 + +Class QXmlStreamEntityDeclaration + size=88 align=8 + base size=88 base align=8 +QXmlStreamEntityDeclaration (0x0x7f7612b318a0) 0 + +Vtable for QXmlStreamEntityResolver +QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver) +16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver +24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver +32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity +40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity + +Class QXmlStreamEntityResolver + size=8 align=8 + base size=8 base align=8 +QXmlStreamEntityResolver (0x0x7f7612b96960) 0 nearly-empty + vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16) + +Class QXmlStreamReader + size=8 align=8 + base size=8 base align=8 +QXmlStreamReader (0x0x7f7612b969c0) 0 + +Class QXmlStreamWriter + size=8 align=8 + base size=8 base align=8 +QXmlStreamWriter (0x0x7f7612bdd8a0) 0 + +Class QRgba64 + size=8 align=8 + base size=8 base align=8 +QRgba64 (0x0x7f7612bddea0) 0 + +Class QColor::CT + size=10 align=2 + base size=10 base align=2 +QColor::CT (0x0x7f76128abf60) 0 + +Class QColor + size=16 align=4 + base size=14 base align=4 +QColor (0x0x7f76128abf00) 0 + +Class QRegion::QRegionData + size=16 align=8 + base size=16 base align=8 +QRegion::QRegionData (0x0x7f7612970e40) 0 + +Class QRegion + size=8 align=8 + base size=8 base align=8 +QRegion (0x0x7f7612970de0) 0 + +Class QKeySequence + size=8 align=8 + base size=8 base align=8 +QKeySequence (0x0x7f76126fba80) 0 + +Class QVector2D + size=8 align=4 + base size=8 base align=4 +QVector2D (0x0x7f76127e3600) 0 + +Class QTouchDevice + size=8 align=8 + base size=8 base align=8 +QTouchDevice (0x0x7f76128506c0) 0 + +Vtable for QInputEvent +QInputEvent::_ZTV11QInputEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QInputEvent) +16 (int (*)(...))QInputEvent::~QInputEvent +24 (int (*)(...))QInputEvent::~QInputEvent + +Class QInputEvent + size=32 align=8 + base size=32 base align=8 +QInputEvent (0x0x7f76124740d0) 0 + vptr=((& QInputEvent::_ZTV11QInputEvent) + 16) + QEvent (0x0x7f7612850f60) 0 + primary-for QInputEvent (0x0x7f76124740d0) + +Vtable for QEnterEvent +QEnterEvent::_ZTV11QEnterEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QEnterEvent) +16 (int (*)(...))QEnterEvent::~QEnterEvent +24 (int (*)(...))QEnterEvent::~QEnterEvent + +Class QEnterEvent + size=72 align=8 + base size=72 base align=8 +QEnterEvent (0x0x7f7612474138) 0 + vptr=((& QEnterEvent::_ZTV11QEnterEvent) + 16) + QEvent (0x0x7f76124a3180) 0 + primary-for QEnterEvent (0x0x7f7612474138) + +Vtable for QMouseEvent +QMouseEvent::_ZTV11QMouseEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QMouseEvent) +16 (int (*)(...))QMouseEvent::~QMouseEvent +24 (int (*)(...))QMouseEvent::~QMouseEvent + +Class QMouseEvent + size=104 align=8 + base size=100 base align=8 +QMouseEvent (0x0x7f76124741a0) 0 + vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16) + QInputEvent (0x0x7f7612474208) 0 + primary-for QMouseEvent (0x0x7f76124741a0) + QEvent (0x0x7f76124a3540) 0 + primary-for QInputEvent (0x0x7f7612474208) + +Vtable for QHoverEvent +QHoverEvent::_ZTV11QHoverEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHoverEvent) +16 (int (*)(...))QHoverEvent::~QHoverEvent +24 (int (*)(...))QHoverEvent::~QHoverEvent + +Class QHoverEvent + size=64 align=8 + base size=64 base align=8 +QHoverEvent (0x0x7f7612474270) 0 + vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16) + QInputEvent (0x0x7f76124742d8) 0 + primary-for QHoverEvent (0x0x7f7612474270) + QEvent (0x0x7f76124a3a20) 0 + primary-for QInputEvent (0x0x7f76124742d8) + +Vtable for QWheelEvent +QWheelEvent::_ZTV11QWheelEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QWheelEvent) +16 (int (*)(...))QWheelEvent::~QWheelEvent +24 (int (*)(...))QWheelEvent::~QWheelEvent + +Class QWheelEvent + size=96 align=8 + base size=96 base align=8 +QWheelEvent (0x0x7f7612474340) 0 + vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16) + QInputEvent (0x0x7f76124743a8) 0 + primary-for QWheelEvent (0x0x7f7612474340) + QEvent (0x0x7f76124a3c00) 0 + primary-for QInputEvent (0x0x7f76124743a8) + +Vtable for QTabletEvent +QTabletEvent::_ZTV12QTabletEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QTabletEvent) +16 (int (*)(...))QTabletEvent::~QTabletEvent +24 (int (*)(...))QTabletEvent::~QTabletEvent + +Class QTabletEvent + size=128 align=8 + base size=128 base align=8 +QTabletEvent (0x0x7f7612474410) 0 + vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16) + QInputEvent (0x0x7f7612474478) 0 + primary-for QTabletEvent (0x0x7f7612474410) + QEvent (0x0x7f76124e5360) 0 + primary-for QInputEvent (0x0x7f7612474478) + +Vtable for QNativeGestureEvent +QNativeGestureEvent::_ZTV19QNativeGestureEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QNativeGestureEvent) +16 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent +24 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent + +Class QNativeGestureEvent + size=112 align=8 + base size=112 base align=8 +QNativeGestureEvent (0x0x7f76124744e0) 0 + vptr=((& QNativeGestureEvent::_ZTV19QNativeGestureEvent) + 16) + QInputEvent (0x0x7f7612474548) 0 + primary-for QNativeGestureEvent (0x0x7f76124744e0) + QEvent (0x0x7f76124e5c60) 0 + primary-for QInputEvent (0x0x7f7612474548) + +Vtable for QKeyEvent +QKeyEvent::_ZTV9QKeyEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QKeyEvent) +16 (int (*)(...))QKeyEvent::~QKeyEvent +24 (int (*)(...))QKeyEvent::~QKeyEvent + +Class QKeyEvent + size=64 align=8 + base size=59 base align=8 +QKeyEvent (0x0x7f76124745b0) 0 + vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16) + QInputEvent (0x0x7f7612474618) 0 + primary-for QKeyEvent (0x0x7f76124745b0) + QEvent (0x0x7f76124e5f60) 0 + primary-for QInputEvent (0x0x7f7612474618) + +Vtable for QFocusEvent +QFocusEvent::_ZTV11QFocusEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFocusEvent) +16 (int (*)(...))QFocusEvent::~QFocusEvent +24 (int (*)(...))QFocusEvent::~QFocusEvent + +Class QFocusEvent + size=24 align=8 + base size=24 base align=8 +QFocusEvent (0x0x7f7612474680) 0 + vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16) + QEvent (0x0x7f761251e2a0) 0 + primary-for QFocusEvent (0x0x7f7612474680) + +Vtable for QPaintEvent +QPaintEvent::_ZTV11QPaintEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QPaintEvent) +16 (int (*)(...))QPaintEvent::~QPaintEvent +24 (int (*)(...))QPaintEvent::~QPaintEvent + +Class QPaintEvent + size=56 align=8 + base size=49 base align=8 +QPaintEvent (0x0x7f76124746e8) 0 + vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16) + QEvent (0x0x7f761251e3c0) 0 + primary-for QPaintEvent (0x0x7f76124746e8) + +Vtable for QMoveEvent +QMoveEvent::_ZTV10QMoveEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QMoveEvent) +16 (int (*)(...))QMoveEvent::~QMoveEvent +24 (int (*)(...))QMoveEvent::~QMoveEvent + +Class QMoveEvent + size=40 align=8 + base size=36 base align=8 +QMoveEvent (0x0x7f7612474750) 0 + vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16) + QEvent (0x0x7f761251e4e0) 0 + primary-for QMoveEvent (0x0x7f7612474750) + +Vtable for QExposeEvent +QExposeEvent::_ZTV12QExposeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QExposeEvent) +16 (int (*)(...))QExposeEvent::~QExposeEvent +24 (int (*)(...))QExposeEvent::~QExposeEvent + +Class QExposeEvent + size=32 align=8 + base size=32 base align=8 +QExposeEvent (0x0x7f76124747b8) 0 + vptr=((& QExposeEvent::_ZTV12QExposeEvent) + 16) + QEvent (0x0x7f761251e600) 0 + primary-for QExposeEvent (0x0x7f76124747b8) + +Vtable for QPlatformSurfaceEvent +QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QPlatformSurfaceEvent) +16 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent +24 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent + +Class QPlatformSurfaceEvent + size=24 align=8 + base size=24 base align=8 +QPlatformSurfaceEvent (0x0x7f7612474820) 0 + vptr=((& QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent) + 16) + QEvent (0x0x7f761251e6c0) 0 + primary-for QPlatformSurfaceEvent (0x0x7f7612474820) + +Vtable for QResizeEvent +QResizeEvent::_ZTV12QResizeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QResizeEvent) +16 (int (*)(...))QResizeEvent::~QResizeEvent +24 (int (*)(...))QResizeEvent::~QResizeEvent + +Class QResizeEvent + size=40 align=8 + base size=36 base align=8 +QResizeEvent (0x0x7f7612474888) 0 + vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16) + QEvent (0x0x7f761251e780) 0 + primary-for QResizeEvent (0x0x7f7612474888) + +Vtable for QCloseEvent +QCloseEvent::_ZTV11QCloseEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QCloseEvent) +16 (int (*)(...))QCloseEvent::~QCloseEvent +24 (int (*)(...))QCloseEvent::~QCloseEvent + +Class QCloseEvent + size=24 align=8 + base size=20 base align=8 +QCloseEvent (0x0x7f76124748f0) 0 + vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16) + QEvent (0x0x7f761251e8a0) 0 + primary-for QCloseEvent (0x0x7f76124748f0) + +Vtable for QIconDragEvent +QIconDragEvent::_ZTV14QIconDragEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QIconDragEvent) +16 (int (*)(...))QIconDragEvent::~QIconDragEvent +24 (int (*)(...))QIconDragEvent::~QIconDragEvent + +Class QIconDragEvent + size=24 align=8 + base size=20 base align=8 +QIconDragEvent (0x0x7f7612474958) 0 + vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16) + QEvent (0x0x7f761251e900) 0 + primary-for QIconDragEvent (0x0x7f7612474958) + +Vtable for QShowEvent +QShowEvent::_ZTV10QShowEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QShowEvent) +16 (int (*)(...))QShowEvent::~QShowEvent +24 (int (*)(...))QShowEvent::~QShowEvent + +Class QShowEvent + size=24 align=8 + base size=20 base align=8 +QShowEvent (0x0x7f76124749c0) 0 + vptr=((& QShowEvent::_ZTV10QShowEvent) + 16) + QEvent (0x0x7f761251e960) 0 + primary-for QShowEvent (0x0x7f76124749c0) + +Vtable for QHideEvent +QHideEvent::_ZTV10QHideEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QHideEvent) +16 (int (*)(...))QHideEvent::~QHideEvent +24 (int (*)(...))QHideEvent::~QHideEvent + +Class QHideEvent + size=24 align=8 + base size=20 base align=8 +QHideEvent (0x0x7f7612474a28) 0 + vptr=((& QHideEvent::_ZTV10QHideEvent) + 16) + QEvent (0x0x7f761251e9c0) 0 + primary-for QHideEvent (0x0x7f7612474a28) + +Vtable for QContextMenuEvent +QContextMenuEvent::_ZTV17QContextMenuEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QContextMenuEvent) +16 (int (*)(...))QContextMenuEvent::~QContextMenuEvent +24 (int (*)(...))QContextMenuEvent::~QContextMenuEvent + +Class QContextMenuEvent + size=56 align=8 + base size=49 base align=8 +QContextMenuEvent (0x0x7f7612474a90) 0 + vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16) + QInputEvent (0x0x7f7612474af8) 0 + primary-for QContextMenuEvent (0x0x7f7612474a90) + QEvent (0x0x7f761251ea20) 0 + primary-for QInputEvent (0x0x7f7612474af8) + +Class QInputMethodEvent::Attribute + size=32 align=8 + base size=32 base align=8 +QInputMethodEvent::Attribute (0x0x7f761251ed80) 0 + +Vtable for QInputMethodEvent +QInputMethodEvent::_ZTV17QInputMethodEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QInputMethodEvent) +16 (int (*)(...))QInputMethodEvent::~QInputMethodEvent +24 (int (*)(...))QInputMethodEvent::~QInputMethodEvent + +Class QInputMethodEvent + size=56 align=8 + base size=56 base align=8 +QInputMethodEvent (0x0x7f7612474b60) 0 + vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16) + QEvent (0x0x7f761251ed20) 0 + primary-for QInputMethodEvent (0x0x7f7612474b60) + +Class QInputMethodQueryEvent::QueryPair + size=24 align=8 + base size=24 base align=8 +QInputMethodQueryEvent::QueryPair (0x0x7f76125e0120) 0 + +Vtable for QInputMethodQueryEvent +QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QInputMethodQueryEvent) +16 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent +24 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent + +Class QInputMethodQueryEvent + size=32 align=8 + base size=32 base align=8 +QInputMethodQueryEvent (0x0x7f76125c8d68) 0 + vptr=((& QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent) + 16) + QEvent (0x0x7f76125e00c0) 0 + primary-for QInputMethodQueryEvent (0x0x7f76125c8d68) + +Vtable for QDropEvent +QDropEvent::_ZTV10QDropEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QDropEvent) +16 (int (*)(...))QDropEvent::~QDropEvent +24 (int (*)(...))QDropEvent::~QDropEvent + +Class QDropEvent + size=72 align=8 + base size=72 base align=8 +QDropEvent (0x0x7f7612642e38) 0 + vptr=((& QDropEvent::_ZTV10QDropEvent) + 16) + QEvent (0x0x7f761263be40) 0 + primary-for QDropEvent (0x0x7f7612642e38) + +Vtable for QDragMoveEvent +QDragMoveEvent::_ZTV14QDragMoveEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QDragMoveEvent) +16 (int (*)(...))QDragMoveEvent::~QDragMoveEvent +24 (int (*)(...))QDragMoveEvent::~QDragMoveEvent + +Class QDragMoveEvent + size=88 align=8 + base size=88 base align=8 +QDragMoveEvent (0x0x7f7612642ea0) 0 + vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16) + QDropEvent (0x0x7f7612642f08) 0 + primary-for QDragMoveEvent (0x0x7f7612642ea0) + QEvent (0x0x7f7612666240) 0 + primary-for QDropEvent (0x0x7f7612642f08) + +Vtable for QDragEnterEvent +QDragEnterEvent::_ZTV15QDragEnterEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QDragEnterEvent) +16 (int (*)(...))QDragEnterEvent::~QDragEnterEvent +24 (int (*)(...))QDragEnterEvent::~QDragEnterEvent + +Class QDragEnterEvent + size=88 align=8 + base size=88 base align=8 +QDragEnterEvent (0x0x7f7612642f70) 0 + vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16) + QDragMoveEvent (0x0x7f7612272000) 0 + primary-for QDragEnterEvent (0x0x7f7612642f70) + QDropEvent (0x0x7f7612272068) 0 + primary-for QDragMoveEvent (0x0x7f7612272000) + QEvent (0x0x7f7612666480) 0 + primary-for QDropEvent (0x0x7f7612272068) + +Vtable for QDragLeaveEvent +QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QDragLeaveEvent) +16 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent +24 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent + +Class QDragLeaveEvent + size=24 align=8 + base size=20 base align=8 +QDragLeaveEvent (0x0x7f76122720d0) 0 + vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16) + QEvent (0x0x7f76126664e0) 0 + primary-for QDragLeaveEvent (0x0x7f76122720d0) + +Vtable for QHelpEvent +QHelpEvent::_ZTV10QHelpEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QHelpEvent) +16 (int (*)(...))QHelpEvent::~QHelpEvent +24 (int (*)(...))QHelpEvent::~QHelpEvent + +Class QHelpEvent + size=40 align=8 + base size=36 base align=8 +QHelpEvent (0x0x7f7612272138) 0 + vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16) + QEvent (0x0x7f7612666540) 0 + primary-for QHelpEvent (0x0x7f7612272138) + +Vtable for QStatusTipEvent +QStatusTipEvent::_ZTV15QStatusTipEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QStatusTipEvent) +16 (int (*)(...))QStatusTipEvent::~QStatusTipEvent +24 (int (*)(...))QStatusTipEvent::~QStatusTipEvent + +Class QStatusTipEvent + size=32 align=8 + base size=32 base align=8 +QStatusTipEvent (0x0x7f76122721a0) 0 + vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16) + QEvent (0x0x7f76126667e0) 0 + primary-for QStatusTipEvent (0x0x7f76122721a0) + +Vtable for QWhatsThisClickedEvent +QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent) +16 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent +24 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent + +Class QWhatsThisClickedEvent + size=32 align=8 + base size=32 base align=8 +QWhatsThisClickedEvent (0x0x7f7612272208) 0 + vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16) + QEvent (0x0x7f76126668a0) 0 + primary-for QWhatsThisClickedEvent (0x0x7f7612272208) + +Vtable for QActionEvent +QActionEvent::_ZTV12QActionEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QActionEvent) +16 (int (*)(...))QActionEvent::~QActionEvent +24 (int (*)(...))QActionEvent::~QActionEvent + +Class QActionEvent + size=40 align=8 + base size=40 base align=8 +QActionEvent (0x0x7f7612272270) 0 + vptr=((& QActionEvent::_ZTV12QActionEvent) + 16) + QEvent (0x0x7f7612666960) 0 + primary-for QActionEvent (0x0x7f7612272270) + +Vtable for QFileOpenEvent +QFileOpenEvent::_ZTV14QFileOpenEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QFileOpenEvent) +16 (int (*)(...))QFileOpenEvent::~QFileOpenEvent +24 (int (*)(...))QFileOpenEvent::~QFileOpenEvent + +Class QFileOpenEvent + size=40 align=8 + base size=40 base align=8 +QFileOpenEvent (0x0x7f76122722d8) 0 + vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16) + QEvent (0x0x7f7612666a80) 0 + primary-for QFileOpenEvent (0x0x7f76122722d8) + +Vtable for QToolBarChangeEvent +QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QToolBarChangeEvent) +16 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent +24 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent + +Class QToolBarChangeEvent + size=24 align=8 + base size=21 base align=8 +QToolBarChangeEvent (0x0x7f7612272340) 0 + vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16) + QEvent (0x0x7f7612666ba0) 0 + primary-for QToolBarChangeEvent (0x0x7f7612272340) + +Vtable for QShortcutEvent +QShortcutEvent::_ZTV14QShortcutEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QShortcutEvent) +16 (int (*)(...))QShortcutEvent::~QShortcutEvent +24 (int (*)(...))QShortcutEvent::~QShortcutEvent + +Class QShortcutEvent + size=40 align=8 + base size=40 base align=8 +QShortcutEvent (0x0x7f76122723a8) 0 + vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16) + QEvent (0x0x7f7612666c60) 0 + primary-for QShortcutEvent (0x0x7f76122723a8) + +Vtable for QWindowStateChangeEvent +QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent) +16 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent +24 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent + +Class QWindowStateChangeEvent + size=32 align=8 + base size=25 base align=8 +QWindowStateChangeEvent (0x0x7f7612272410) 0 + vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16) + QEvent (0x0x7f7612666de0) 0 + primary-for QWindowStateChangeEvent (0x0x7f7612272410) + +Class QPointingDeviceUniqueId + size=8 align=8 + base size=8 base align=8 +QPointingDeviceUniqueId (0x0x7f7612666f60) 0 + +Class QTouchEvent::TouchPoint + size=8 align=8 + base size=8 base align=8 +QTouchEvent::TouchPoint (0x0x7f76122ee360) 0 + +Vtable for QTouchEvent +QTouchEvent::_ZTV11QTouchEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTouchEvent) +16 (int (*)(...))QTouchEvent::~QTouchEvent +24 (int (*)(...))QTouchEvent::~QTouchEvent + +Class QTouchEvent + size=72 align=8 + base size=72 base align=8 +QTouchEvent (0x0x7f76122dbc30) 0 + vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16) + QInputEvent (0x0x7f76122dbc98) 0 + primary-for QTouchEvent (0x0x7f76122dbc30) + QEvent (0x0x7f76122ee300) 0 + primary-for QInputEvent (0x0x7f76122dbc98) + +Vtable for QScrollPrepareEvent +QScrollPrepareEvent::_ZTV19QScrollPrepareEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QScrollPrepareEvent) +16 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent +24 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent + +Class QScrollPrepareEvent + size=112 align=8 + base size=112 base align=8 +QScrollPrepareEvent (0x0x7f76123f2958) 0 + vptr=((& QScrollPrepareEvent::_ZTV19QScrollPrepareEvent) + 16) + QEvent (0x0x7f76123f8900) 0 + primary-for QScrollPrepareEvent (0x0x7f76123f2958) + +Vtable for QScrollEvent +QScrollEvent::_ZTV12QScrollEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QScrollEvent) +16 (int (*)(...))QScrollEvent::~QScrollEvent +24 (int (*)(...))QScrollEvent::~QScrollEvent + +Class QScrollEvent + size=64 align=8 + base size=60 base align=8 +QScrollEvent (0x0x7f76123f29c0) 0 + vptr=((& QScrollEvent::_ZTV12QScrollEvent) + 16) + QEvent (0x0x7f76123f8960) 0 + primary-for QScrollEvent (0x0x7f76123f29c0) + +Vtable for QScreenOrientationChangeEvent +QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QScreenOrientationChangeEvent) +16 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent +24 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent + +Class QScreenOrientationChangeEvent + size=40 align=8 + base size=36 base align=8 +QScreenOrientationChangeEvent (0x0x7f76123f2a28) 0 + vptr=((& QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent) + 16) + QEvent (0x0x7f76123f89c0) 0 + primary-for QScreenOrientationChangeEvent (0x0x7f76123f2a28) + +Vtable for QApplicationStateChangeEvent +QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QApplicationStateChangeEvent) +16 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent +24 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent + +Class QApplicationStateChangeEvent + size=24 align=8 + base size=24 base align=8 +QApplicationStateChangeEvent (0x0x7f76123f2a90) 0 + vptr=((& QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent) + 16) + QEvent (0x0x7f76123f8a20) 0 + primary-for QApplicationStateChangeEvent (0x0x7f76123f2a90) + +Class QFont + size=16 align=8 + base size=12 base align=8 +QFont (0x0x7f76123f8a80) 0 + +Class QPolygon + size=8 align=8 + base size=8 base align=8 +QPolygon (0x0x7f761209cf08) 0 + QVector (0x0x7f76120abae0) 0 + +Class QPolygonF + size=8 align=8 + base size=8 base align=8 +QPolygonF (0x0x7f7612157270) 0 + QVector (0x0x7f761214fc00) 0 + +Class QMatrix + size=48 align=8 + base size=48 base align=8 +QMatrix (0x0x7f76121eeae0) 0 + +Class QPainterPath::Element + size=24 align=8 + base size=24 base align=8 +QPainterPath::Element (0x0x7f7611e57900) 0 + +Class QPainterPath + size=8 align=8 + base size=8 base align=8 +QPainterPath (0x0x7f7611e578a0) 0 + +Class QPainterPathStroker + size=8 align=8 + base size=8 base align=8 +QPainterPathStroker (0x0x7f7611f94c60) 0 + +Class QTransform + size=88 align=8 + base size=88 base align=8 +QTransform (0x0x7f7611fc4360) 0 + +Vtable for QPaintDevice +QPaintDevice::_ZTV12QPaintDevice: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QPaintDevice) +16 0 +24 0 +32 (int (*)(...))QPaintDevice::devType +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QPaintDevice::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QPaintDevice + size=24 align=8 + base size=24 base align=8 +QPaintDevice (0x0x7f7611c47de0) 0 + vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16) + +Class QPixelFormat + size=8 align=8 + base size=8 base align=8 +QPixelFormat (0x0x7f7611c9a420) 0 + +Vtable for QImage +QImage::_ZTV6QImage: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QImage) +16 (int (*)(...))QImage::~QImage +24 (int (*)(...))QImage::~QImage +32 (int (*)(...))QImage::devType +40 (int (*)(...))QImage::paintEngine +48 (int (*)(...))QImage::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QImage + size=32 align=8 + base size=32 base align=8 +QImage (0x0x7f7611d560d0) 0 + vptr=((& QImage::_ZTV6QImage) + 16) + QPaintDevice (0x0x7f7611d2fd20) 0 + primary-for QImage (0x0x7f7611d560d0) + +Vtable for QPixmap +QPixmap::_ZTV7QPixmap: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QPixmap) +16 (int (*)(...))QPixmap::~QPixmap +24 (int (*)(...))QPixmap::~QPixmap +32 (int (*)(...))QPixmap::devType +40 (int (*)(...))QPixmap::paintEngine +48 (int (*)(...))QPixmap::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QPixmap + size=32 align=8 + base size=32 base align=8 +QPixmap (0x0x7f7611a3baf8) 0 + vptr=((& QPixmap::_ZTV7QPixmap) + 16) + QPaintDevice (0x0x7f7611a46ae0) 0 + primary-for QPixmap (0x0x7f7611a3baf8) + +Class QBrush + size=8 align=8 + base size=8 base align=8 +QBrush (0x0x7f7611b20de0) 0 + +Class QBrushData + size=112 align=8 + base size=112 base align=8 +QBrushData (0x0x7f76117ff360) 0 + +Class QGradient + size=64 align=8 + base size=64 base align=8 +QGradient (0x0x7f76117ff5a0) 0 + +Class QLinearGradient + size=64 align=8 + base size=64 base align=8 +QLinearGradient (0x0x7f76117fa4e0) 0 + QGradient (0x0x7f76117ffcc0) 0 + +Class QRadialGradient + size=64 align=8 + base size=64 base align=8 +QRadialGradient (0x0x7f76117fa548) 0 + QGradient (0x0x7f76117ffde0) 0 + +Class QConicalGradient + size=64 align=8 + base size=64 base align=8 +QConicalGradient (0x0x7f76117fa5b0) 0 + QGradient (0x0x7f76117fff00) 0 + +Class QPen + size=8 align=8 + base size=8 base align=8 +QPen (0x0x7f7611878000) 0 + +Class QTextOption::Tab + size=16 align=8 + base size=14 base align=8 +QTextOption::Tab (0x0x7f7611926960) 0 + +Class QTextOption + size=32 align=8 + base size=32 base align=8 +QTextOption (0x0x7f7611926900) 0 + +Class QTextLength + size=16 align=8 + base size=16 base align=8 +QTextLength (0x0x7f76119990c0) 0 + +Class QTextFormat + size=16 align=8 + base size=12 base align=8 +QTextFormat (0x0x7f76119e9a20) 0 + +Class QTextCharFormat + size=16 align=8 + base size=12 base align=8 +QTextCharFormat (0x0x7f76117572d8) 0 + QTextFormat (0x0x7f7611780120) 0 + +Class QTextBlockFormat + size=16 align=8 + base size=12 base align=8 +QTextBlockFormat (0x0x7f76113f86e8) 0 + QTextFormat (0x0x7f76113f6ae0) 0 + +Class QTextListFormat + size=16 align=8 + base size=12 base align=8 +QTextListFormat (0x0x7f7611451c30) 0 + QTextFormat (0x0x7f76114598a0) 0 + +Class QTextImageFormat + size=16 align=8 + base size=12 base align=8 +QTextImageFormat (0x0x7f76114b1068) 0 + QTextCharFormat (0x0x7f76114b10d0) 0 + QTextFormat (0x0x7f76114b8060) 0 + +Class QTextFrameFormat + size=16 align=8 + base size=12 base align=8 +QTextFrameFormat (0x0x7f76114f2618) 0 + QTextFormat (0x0x7f76114f46c0) 0 + +Class QTextTableFormat + size=16 align=8 + base size=12 base align=8 +QTextTableFormat (0x0x7f7611546b60) 0 + QTextFrameFormat (0x0x7f7611546bc8) 0 + QTextFormat (0x0x7f7611558300) 0 + +Class QTextTableCellFormat + size=16 align=8 + base size=12 base align=8 +QTextTableCellFormat (0x0x7f76115b1138) 0 + QTextCharFormat (0x0x7f76115b11a0) 0 + QTextFormat (0x0x7f761159fc60) 0 + +Class QFontDatabase + size=8 align=8 + base size=8 base align=8 +QFontDatabase (0x0x7f761120dae0) 0 + +Class QRawFont + size=8 align=8 + base size=8 base align=8 +QRawFont (0x0x7f761120dcc0) 0 + +Class QGlyphRun + size=8 align=8 + base size=8 base align=8 +QGlyphRun (0x0x7f761132c4e0) 0 + +Class QTextCursor + size=8 align=8 + base size=8 base align=8 +QTextCursor (0x0x7f7611000420) 0 + +Class QTextInlineObject + size=16 align=8 + base size=16 base align=8 +QTextInlineObject (0x0x7f76110dd0c0) 0 + +Class QTextLayout::FormatRange + size=24 align=8 + base size=24 base align=8 +QTextLayout::FormatRange (0x0x7f76110dd4e0) 0 + +Class QTextLayout + size=8 align=8 + base size=8 base align=8 +QTextLayout (0x0x7f76110dd480) 0 + +Class QTextLine + size=16 align=8 + base size=16 base align=8 +QTextLine (0x0x7f761116fba0) 0 + +Vtable for QAbstractUndoItem +QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAbstractUndoItem) +16 (int (*)(...))__cxa_pure_virtual +24 (int (*)(...))__cxa_pure_virtual +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QAbstractUndoItem + size=8 align=8 + base size=8 base align=8 +QAbstractUndoItem (0x0x7f761119c060) 0 nearly-empty + vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16) + +Class QTextDocument::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextDocument::QPrivateSignal (0x0x7f761119c300) 0 empty + +Vtable for QTextDocument +QTextDocument::_ZTV13QTextDocument: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QTextDocument) +16 (int (*)(...))QTextDocument::metaObject +24 (int (*)(...))QTextDocument::qt_metacast +32 (int (*)(...))QTextDocument::qt_metacall +40 (int (*)(...))QTextDocument::~QTextDocument +48 (int (*)(...))QTextDocument::~QTextDocument +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTextDocument::clear +120 (int (*)(...))QTextDocument::createObject +128 (int (*)(...))QTextDocument::loadResource + +Class QTextDocument + size=16 align=8 + base size=16 base align=8 +QTextDocument (0x0x7f7611181958) 0 + vptr=((& QTextDocument::_ZTV13QTextDocument) + 16) + QObject (0x0x7f761119c2a0) 0 + primary-for QTextDocument (0x0x7f7611181958) + +Class QPalette::Data + size=4 align=4 + base size=4 base align=4 +QPalette::Data (0x0x7f7610e0c300) 0 + +Class QPalette + size=16 align=8 + base size=12 base align=8 +QPalette (0x0x7f7610e0c2a0) 0 + +Class QAbstractTextDocumentLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractTextDocumentLayout::QPrivateSignal (0x0x7f7610ef36c0) 0 empty + +Class QAbstractTextDocumentLayout::Selection + size=24 align=8 + base size=24 base align=8 +QAbstractTextDocumentLayout::Selection (0x0x7f7610ef3720) 0 + +Class QAbstractTextDocumentLayout::PaintContext + size=64 align=8 + base size=64 base align=8 +QAbstractTextDocumentLayout::PaintContext (0x0x7f7610ef3780) 0 + +Vtable for QAbstractTextDocumentLayout +QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout) +16 (int (*)(...))QAbstractTextDocumentLayout::metaObject +24 (int (*)(...))QAbstractTextDocumentLayout::qt_metacast +32 (int (*)(...))QAbstractTextDocumentLayout::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject +176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject +184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject + +Class QAbstractTextDocumentLayout + size=16 align=8 + base size=16 base align=8 +QAbstractTextDocumentLayout (0x0x7f7610eed750) 0 + vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16) + QObject (0x0x7f7610ef3660) 0 + primary-for QAbstractTextDocumentLayout (0x0x7f7610eed750) + +Vtable for QTextObjectInterface +QTextObjectInterface::_ZTV20QTextObjectInterface: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QTextObjectInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QTextObjectInterface + size=8 align=8 + base size=8 base align=8 +QTextObjectInterface (0x0x7f7610fc2360) 0 nearly-empty + vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16) + +Class QAccessible::State + size=8 align=8 + base size=5 base align=8 +QAccessible::State (0x0x7f7610fc25a0) 0 + +Vtable for QAccessible::ActivationObserver +QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN11QAccessible18ActivationObserverE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QAccessible::ActivationObserver + size=8 align=8 + base size=8 base align=8 +QAccessible::ActivationObserver (0x0x7f7610fc2600) 0 nearly-empty + vptr=((& QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE) + 16) + +Class QAccessible + size=1 align=1 + base size=0 base align=1 +QAccessible (0x0x7f7610fc2540) 0 empty + +Vtable for QAccessibleInterface +QAccessibleInterface::_ZTV20QAccessibleInterface: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QAccessibleInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QAccessibleInterface::window +56 (int (*)(...))QAccessibleInterface::relations +64 (int (*)(...))QAccessibleInterface::focusChild +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAccessibleInterface::foregroundColor +160 (int (*)(...))QAccessibleInterface::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleInterface::interface_cast + +Class QAccessibleInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleInterface (0x0x7f7610c161e0) 0 nearly-empty + vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16) + +Vtable for QAccessibleTextInterface +QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAccessibleTextInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))QAccessibleTextInterface::textBeforeOffset +104 (int (*)(...))QAccessibleTextInterface::textAfterOffset +112 (int (*)(...))QAccessibleTextInterface::textAtOffset +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleTextInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleTextInterface (0x0x7f7610c16540) 0 nearly-empty + vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16) + +Vtable for QAccessibleEditableTextInterface +QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleEditableTextInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleEditableTextInterface (0x0x7f7610c165a0) 0 nearly-empty + vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16) + +Vtable for QAccessibleValueInterface +QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAccessibleValueInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleValueInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleValueInterface (0x0x7f7610c16600) 0 nearly-empty + vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16) + +Vtable for QAccessibleTableCellInterface +QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface: 12 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QAccessibleTableCellInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleTableCellInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleTableCellInterface (0x0x7f7610c16660) 0 nearly-empty + vptr=((& QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface) + 16) + +Vtable for QAccessibleTableInterface +QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAccessibleTableInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleTableInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleTableInterface (0x0x7f7610c166c0) 0 nearly-empty + vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16) + +Vtable for QAccessibleActionInterface +QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleActionInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))QAccessibleActionInterface::localizedActionName +48 (int (*)(...))QAccessibleActionInterface::localizedActionDescription +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleActionInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleActionInterface (0x0x7f7610c16720) 0 nearly-empty + vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16) + +Vtable for QAccessibleImageInterface +QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAccessibleImageInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleImageInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleImageInterface (0x0x7f7610c16840) 0 nearly-empty + vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16) + +Vtable for QAccessibleEvent +QAccessibleEvent::_ZTV16QAccessibleEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QAccessibleEvent) +16 (int (*)(...))QAccessibleEvent::~QAccessibleEvent +24 (int (*)(...))QAccessibleEvent::~QAccessibleEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleEvent + size=32 align=8 + base size=28 base align=8 +QAccessibleEvent (0x0x7f7610c168a0) 0 + vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16) + +Vtable for QAccessibleStateChangeEvent +QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QAccessibleStateChangeEvent) +16 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent +24 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleStateChangeEvent + size=40 align=8 + base size=40 base align=8 +QAccessibleStateChangeEvent (0x0x7f7610fbdd68) 0 + vptr=((& QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent) + 16) + QAccessibleEvent (0x0x7f7610ca72a0) 0 + primary-for QAccessibleStateChangeEvent (0x0x7f7610fbdd68) + +Vtable for QAccessibleTextCursorEvent +QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextCursorEvent) +16 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent +24 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextCursorEvent + size=32 align=8 + base size=32 base align=8 +QAccessibleTextCursorEvent (0x0x7f7610fbddd0) 0 + vptr=((& QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent) + 16) + QAccessibleEvent (0x0x7f7610ca7660) 0 + primary-for QAccessibleTextCursorEvent (0x0x7f7610fbddd0) + +Vtable for QAccessibleTextSelectionEvent +QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QAccessibleTextSelectionEvent) +16 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent +24 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextSelectionEvent + size=40 align=8 + base size=40 base align=8 +QAccessibleTextSelectionEvent (0x0x7f7610fbde38) 0 + vptr=((& QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent) + 16) + QAccessibleTextCursorEvent (0x0x7f7610fbdea0) 0 + primary-for QAccessibleTextSelectionEvent (0x0x7f7610fbde38) + QAccessibleEvent (0x0x7f7610ca7a80) 0 + primary-for QAccessibleTextCursorEvent (0x0x7f7610fbdea0) + +Vtable for QAccessibleTextInsertEvent +QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextInsertEvent) +16 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent +24 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextInsertEvent + size=48 align=8 + base size=48 base align=8 +QAccessibleTextInsertEvent (0x0x7f7610fbdf08) 0 + vptr=((& QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent) + 16) + QAccessibleTextCursorEvent (0x0x7f7610fbdf70) 0 + primary-for QAccessibleTextInsertEvent (0x0x7f7610fbdf08) + QAccessibleEvent (0x0x7f7610ca7f00) 0 + primary-for QAccessibleTextCursorEvent (0x0x7f7610fbdf70) + +Vtable for QAccessibleTextRemoveEvent +QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextRemoveEvent) +16 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent +24 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextRemoveEvent + size=48 align=8 + base size=48 base align=8 +QAccessibleTextRemoveEvent (0x0x7f7610ce0000) 0 + vptr=((& QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent) + 16) + QAccessibleTextCursorEvent (0x0x7f7610ce0068) 0 + primary-for QAccessibleTextRemoveEvent (0x0x7f7610ce0000) + QAccessibleEvent (0x0x7f7610cd8360) 0 + primary-for QAccessibleTextCursorEvent (0x0x7f7610ce0068) + +Vtable for QAccessibleTextUpdateEvent +QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextUpdateEvent) +16 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent +24 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextUpdateEvent + size=56 align=8 + base size=56 base align=8 +QAccessibleTextUpdateEvent (0x0x7f7610ce00d0) 0 + vptr=((& QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent) + 16) + QAccessibleTextCursorEvent (0x0x7f7610ce0138) 0 + primary-for QAccessibleTextUpdateEvent (0x0x7f7610ce00d0) + QAccessibleEvent (0x0x7f7610cd8780) 0 + primary-for QAccessibleTextCursorEvent (0x0x7f7610ce0138) + +Vtable for QAccessibleValueChangeEvent +QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QAccessibleValueChangeEvent) +16 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent +24 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleValueChangeEvent + size=48 align=8 + base size=48 base align=8 +QAccessibleValueChangeEvent (0x0x7f7610ce01a0) 0 + vptr=((& QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent) + 16) + QAccessibleEvent (0x0x7f7610cd8c00) 0 + primary-for QAccessibleValueChangeEvent (0x0x7f7610ce01a0) + +Vtable for QAccessibleTableModelChangeEvent +QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QAccessibleTableModelChangeEvent) +16 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent +24 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTableModelChangeEvent + size=48 align=8 + base size=48 base align=8 +QAccessibleTableModelChangeEvent (0x0x7f7610ce0208) 0 + vptr=((& QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent) + 16) + QAccessibleEvent (0x0x7f7610d08060) 0 + primary-for QAccessibleTableModelChangeEvent (0x0x7f7610ce0208) + +Vtable for QAccessibleBridge +QAccessibleBridge::_ZTV17QAccessibleBridge: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessibleBridge) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleBridge + size=8 align=8 + base size=8 base align=8 +QAccessibleBridge (0x0x7f7610d08900) 0 nearly-empty + vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16) + +Class QAccessibleBridgePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAccessibleBridgePlugin::QPrivateSignal (0x0x7f7610d08ba0) 0 empty + +Vtable for QAccessibleBridgePlugin +QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin) +16 (int (*)(...))QAccessibleBridgePlugin::metaObject +24 (int (*)(...))QAccessibleBridgePlugin::qt_metacast +32 (int (*)(...))QAccessibleBridgePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleBridgePlugin + size=16 align=8 + base size=16 base align=8 +QAccessibleBridgePlugin (0x0x7f7610ce0270) 0 + vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16) + QObject (0x0x7f7610d08b40) 0 + primary-for QAccessibleBridgePlugin (0x0x7f7610ce0270) + +Vtable for QAccessibleObject +QAccessibleObject::_ZTV17QAccessibleObject: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessibleObject) +16 0 +24 0 +32 (int (*)(...))QAccessibleObject::isValid +40 (int (*)(...))QAccessibleObject::object +48 (int (*)(...))QAccessibleInterface::window +56 (int (*)(...))QAccessibleInterface::relations +64 (int (*)(...))QAccessibleInterface::focusChild +72 (int (*)(...))QAccessibleObject::childAt +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))QAccessibleObject::setText +128 (int (*)(...))QAccessibleObject::rect +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAccessibleInterface::foregroundColor +160 (int (*)(...))QAccessibleInterface::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleInterface::interface_cast + +Class QAccessibleObject + size=16 align=8 + base size=16 base align=8 +QAccessibleObject (0x0x7f7610ce02d8) 0 + vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16) + QAccessibleInterface (0x0x7f7610d08cc0) 0 nearly-empty + primary-for QAccessibleObject (0x0x7f7610ce02d8) + +Vtable for QAccessibleApplication +QAccessibleApplication::_ZTV22QAccessibleApplication: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QAccessibleApplication) +16 (int (*)(...))QAccessibleApplication::~QAccessibleApplication +24 (int (*)(...))QAccessibleApplication::~QAccessibleApplication +32 (int (*)(...))QAccessibleObject::isValid +40 (int (*)(...))QAccessibleObject::object +48 (int (*)(...))QAccessibleApplication::window +56 (int (*)(...))QAccessibleInterface::relations +64 (int (*)(...))QAccessibleApplication::focusChild +72 (int (*)(...))QAccessibleObject::childAt +80 (int (*)(...))QAccessibleApplication::parent +88 (int (*)(...))QAccessibleApplication::child +96 (int (*)(...))QAccessibleApplication::childCount +104 (int (*)(...))QAccessibleApplication::indexOfChild +112 (int (*)(...))QAccessibleApplication::text +120 (int (*)(...))QAccessibleObject::setText +128 (int (*)(...))QAccessibleObject::rect +136 (int (*)(...))QAccessibleApplication::role +144 (int (*)(...))QAccessibleApplication::state +152 (int (*)(...))QAccessibleInterface::foregroundColor +160 (int (*)(...))QAccessibleInterface::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleInterface::interface_cast + +Class QAccessibleApplication + size=16 align=8 + base size=16 base align=8 +QAccessibleApplication (0x0x7f7610ce0340) 0 + vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16) + QAccessibleObject (0x0x7f7610ce03a8) 0 + primary-for QAccessibleApplication (0x0x7f7610ce0340) + QAccessibleInterface (0x0x7f7610d08d20) 0 nearly-empty + primary-for QAccessibleObject (0x0x7f7610ce03a8) + +Class QAccessiblePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAccessiblePlugin::QPrivateSignal (0x0x7f7610d08de0) 0 empty + +Vtable for QAccessiblePlugin +QAccessiblePlugin::_ZTV17QAccessiblePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessiblePlugin) +16 (int (*)(...))QAccessiblePlugin::metaObject +24 (int (*)(...))QAccessiblePlugin::qt_metacast +32 (int (*)(...))QAccessiblePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QAccessiblePlugin + size=16 align=8 + base size=16 base align=8 +QAccessiblePlugin (0x0x7f7610ce0410) 0 + vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16) + QObject (0x0x7f7610d08d80) 0 + primary-for QAccessiblePlugin (0x0x7f7610ce0410) + +Class QSurfaceFormat + size=8 align=8 + base size=8 base align=8 +QSurfaceFormat (0x0x7f7610d08f00) 0 + +Vtable for QSurface +QSurface::_ZTV8QSurface: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QSurface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual + +Class QSurface + size=24 align=8 + base size=24 base align=8 +QSurface (0x0x7f7610d63a80) 0 + vptr=((& QSurface::_ZTV8QSurface) + 16) + +Class QIcon + size=8 align=8 + base size=8 base align=8 +QIcon (0x0x7f7610d63e40) 0 + +Class QCursor + size=8 align=8 + base size=8 base align=8 +QCursor (0x0x7f7610a619c0) 0 + +Class QWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWindow::QPrivateSignal (0x0x7f7610b25780) 0 empty + +Vtable for QWindow +QWindow::_ZTV7QWindow: 45 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QWindow) +16 (int (*)(...))QWindow::metaObject +24 (int (*)(...))QWindow::qt_metacast +32 (int (*)(...))QWindow::qt_metacall +40 (int (*)(...))QWindow::~QWindow +48 (int (*)(...))QWindow::~QWindow +56 (int (*)(...))QWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QWindow::exposeEvent +160 (int (*)(...))QWindow::resizeEvent +168 (int (*)(...))QWindow::moveEvent +176 (int (*)(...))QWindow::focusInEvent +184 (int (*)(...))QWindow::focusOutEvent +192 (int (*)(...))QWindow::showEvent +200 (int (*)(...))QWindow::hideEvent +208 (int (*)(...))QWindow::keyPressEvent +216 (int (*)(...))QWindow::keyReleaseEvent +224 (int (*)(...))QWindow::mousePressEvent +232 (int (*)(...))QWindow::mouseReleaseEvent +240 (int (*)(...))QWindow::mouseDoubleClickEvent +248 (int (*)(...))QWindow::mouseMoveEvent +256 (int (*)(...))QWindow::wheelEvent +264 (int (*)(...))QWindow::touchEvent +272 (int (*)(...))QWindow::tabletEvent +280 (int (*)(...))QWindow::nativeEvent +288 (int (*)(...))QWindow::surfaceHandle +296 (int (*)(...))-16 +304 (int (*)(...))(& _ZTI7QWindow) +312 (int (*)(...))QWindow::_ZThn16_N7QWindowD1Ev +320 (int (*)(...))QWindow::_ZThn16_N7QWindowD0Ev +328 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +336 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +344 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +352 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv + +Class QWindow + size=40 align=8 + base size=40 base align=8 +QWindow (0x0x7f7610b26700) 0 + vptr=((& QWindow::_ZTV7QWindow) + 16) + QObject (0x0x7f7610b256c0) 0 + primary-for QWindow (0x0x7f7610b26700) + QSurface (0x0x7f7610b25720) 16 + vptr=((& QWindow::_ZTV7QWindow) + 312) + +Class QBackingStore + size=8 align=8 + base size=8 base align=8 +QBackingStore (0x0x7f7610b79060) 0 + +Vtable for QBitmap +QBitmap::_ZTV7QBitmap: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QBitmap) +16 (int (*)(...))QBitmap::~QBitmap +24 (int (*)(...))QBitmap::~QBitmap +32 (int (*)(...))QPixmap::devType +40 (int (*)(...))QPixmap::paintEngine +48 (int (*)(...))QPixmap::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QBitmap + size=32 align=8 + base size=32 base align=8 +QBitmap (0x0x7f7610b246e8) 0 + vptr=((& QBitmap::_ZTV7QBitmap) + 16) + QPixmap (0x0x7f7610b24750) 0 + primary-for QBitmap (0x0x7f7610b246e8) + QPaintDevice (0x0x7f7610b79120) 0 + primary-for QPixmap (0x0x7f7610b24750) + +Class QClipboard::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QClipboard::QPrivateSignal (0x0x7f7610bcc660) 0 empty + +Vtable for QClipboard +QClipboard::_ZTV10QClipboard: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QClipboard) +16 (int (*)(...))QClipboard::metaObject +24 (int (*)(...))QClipboard::qt_metacast +32 (int (*)(...))QClipboard::qt_metacall +40 (int (*)(...))QClipboard::~QClipboard +48 (int (*)(...))QClipboard::~QClipboard +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QClipboard + size=16 align=8 + base size=16 base align=8 +QClipboard (0x0x7f7610bc1a28) 0 + vptr=((& QClipboard::_ZTV10QClipboard) + 16) + QObject (0x0x7f7610bcc600) 0 + primary-for QClipboard (0x0x7f7610bc1a28) + +Class QColorTransform + size=8 align=8 + base size=8 base align=8 +QColorTransform (0x0x7f7610bcc780) 0 + +Class QColorSpace + size=8 align=8 + base size=8 base align=8 +QColorSpace (0x0x7f761c0030c0) 0 + +Class QDesktopServices + size=1 align=1 + base size=0 base align=1 +QDesktopServices (0x0x7f7619941ae0) 0 empty + +Class QDrag::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDrag::QPrivateSignal (0x0x7f761995d300) 0 empty + +Vtable for QDrag +QDrag::_ZTV5QDrag: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QDrag) +16 (int (*)(...))QDrag::metaObject +24 (int (*)(...))QDrag::qt_metacast +32 (int (*)(...))QDrag::qt_metacall +40 (int (*)(...))QDrag::~QDrag +48 (int (*)(...))QDrag::~QDrag +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDrag + size=16 align=8 + base size=16 base align=8 +QDrag (0x0x7f76182fa8f0) 0 + vptr=((& QDrag::_ZTV5QDrag) + 16) + QObject (0x0x7f7619941b40) 0 + primary-for QDrag (0x0x7f76182fa8f0) + +Class QFontInfo + size=8 align=8 + base size=8 base align=8 +QFontInfo (0x0x7f761995da20) 0 + +Class QFontMetrics + size=8 align=8 + base size=8 base align=8 +QFontMetrics (0x0x7f761911b2a0) 0 + +Class QFontMetricsF + size=8 align=8 + base size=8 base align=8 +QFontMetricsF (0x0x7f76180ee1e0) 0 + +Class QGenericPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGenericPlugin::QPrivateSignal (0x0x7f7617054c00) 0 empty + +Vtable for QGenericPlugin +QGenericPlugin::_ZTV14QGenericPlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QGenericPlugin) +16 (int (*)(...))QGenericPlugin::metaObject +24 (int (*)(...))QGenericPlugin::qt_metacast +32 (int (*)(...))QGenericPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QGenericPlugin + size=16 align=8 + base size=16 base align=8 +QGenericPlugin (0x0x7f7616c61000) 0 + vptr=((& QGenericPlugin::_ZTV14QGenericPlugin) + 16) + QObject (0x0x7f7617054b40) 0 + primary-for QGenericPlugin (0x0x7f7616c61000) + +Class QGenericPluginFactory + size=1 align=1 + base size=0 base align=1 +QGenericPluginFactory (0x0x7f7616c76a80) 0 empty + +Class QInputMethod::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QInputMethod::QPrivateSignal (0x0x7f7616c9a2a0) 0 empty + +Vtable for QInputMethod +QInputMethod::_ZTV12QInputMethod: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QInputMethod) +16 (int (*)(...))QInputMethod::metaObject +24 (int (*)(...))QInputMethod::qt_metacast +32 (int (*)(...))QInputMethod::qt_metacall +40 (int (*)(...))QInputMethod::~QInputMethod +48 (int (*)(...))QInputMethod::~QInputMethod +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QInputMethod + size=16 align=8 + base size=16 base align=8 +QInputMethod (0x0x7f7616c61068) 0 + vptr=((& QInputMethod::_ZTV12QInputMethod) + 16) + QObject (0x0x7f7616c76ae0) 0 + primary-for QInputMethod (0x0x7f7616c61068) + +Class QGuiApplication::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGuiApplication::QPrivateSignal (0x0x7f7616c9aba0) 0 empty + +Vtable for QGuiApplication +QGuiApplication::_ZTV15QGuiApplication: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGuiApplication) +16 (int (*)(...))QGuiApplication::metaObject +24 (int (*)(...))QGuiApplication::qt_metacast +32 (int (*)(...))QGuiApplication::qt_metacall +40 (int (*)(...))QGuiApplication::~QGuiApplication +48 (int (*)(...))QGuiApplication::~QGuiApplication +56 (int (*)(...))QGuiApplication::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGuiApplication::notify +120 (int (*)(...))QGuiApplication::compressEvent + +Class QGuiApplication + size=16 align=8 + base size=16 base align=8 +QGuiApplication (0x0x7f7616c610d0) 0 + vptr=((& QGuiApplication::_ZTV15QGuiApplication) + 16) + QCoreApplication (0x0x7f7616c617b8) 0 + primary-for QGuiApplication (0x0x7f7616c610d0) + QObject (0x0x7f7616c9aae0) 0 + primary-for QCoreApplication (0x0x7f7616c617b8) + +Class QIconEngine::AvailableSizesArgument + size=16 align=8 + base size=16 base align=8 +QIconEngine::AvailableSizesArgument (0x0x7f7616d481e0) 0 + +Class QIconEngine::ScaledPixmapArgument + size=56 align=8 + base size=56 base align=8 +QIconEngine::ScaledPixmapArgument (0x0x7f7616d48720) 0 + +Vtable for QIconEngine +QIconEngine::_ZTV11QIconEngine: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QIconEngine) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))QIconEngine::actualSize +48 (int (*)(...))QIconEngine::pixmap +56 (int (*)(...))QIconEngine::addPixmap +64 (int (*)(...))QIconEngine::addFile +72 (int (*)(...))QIconEngine::key +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))QIconEngine::read +96 (int (*)(...))QIconEngine::write +104 (int (*)(...))QIconEngine::availableSizes +112 (int (*)(...))QIconEngine::iconName +120 (int (*)(...))QIconEngine::virtual_hook + +Class QIconEngine + size=8 align=8 + base size=8 base align=8 +QIconEngine (0x0x7f7616d48120) 0 nearly-empty + vptr=((& QIconEngine::_ZTV11QIconEngine) + 16) + +Class QIconEnginePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIconEnginePlugin::QPrivateSignal (0x0x7f7616d68960) 0 empty + +Vtable for QIconEnginePlugin +QIconEnginePlugin::_ZTV17QIconEnginePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QIconEnginePlugin) +16 (int (*)(...))QIconEnginePlugin::metaObject +24 (int (*)(...))QIconEnginePlugin::qt_metacast +32 (int (*)(...))QIconEnginePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QIconEnginePlugin + size=16 align=8 + base size=16 base align=8 +QIconEnginePlugin (0x0x7f76168ac6e8) 0 + vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16) + QObject (0x0x7f7616d68900) 0 + primary-for QIconEnginePlugin (0x0x7f76168ac6e8) + +Vtable for QImageIOHandler +QImageIOHandler::_ZTV15QImageIOHandler: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QImageIOHandler) +16 0 +24 0 +32 (int (*)(...))QImageIOHandler::name +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))QImageIOHandler::write +64 (int (*)(...))QImageIOHandler::option +72 (int (*)(...))QImageIOHandler::setOption +80 (int (*)(...))QImageIOHandler::supportsOption +88 (int (*)(...))QImageIOHandler::jumpToNextImage +96 (int (*)(...))QImageIOHandler::jumpToImage +104 (int (*)(...))QImageIOHandler::loopCount +112 (int (*)(...))QImageIOHandler::imageCount +120 (int (*)(...))QImageIOHandler::nextImageDelay +128 (int (*)(...))QImageIOHandler::currentImageNumber +136 (int (*)(...))QImageIOHandler::currentImageRect + +Class QImageIOHandler + size=16 align=8 + base size=16 base align=8 +QImageIOHandler (0x0x7f7616b04a80) 0 + vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16) + +Class QImageIOPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QImageIOPlugin::QPrivateSignal (0x0x7f7616b577e0) 0 empty + +Vtable for QImageIOPlugin +QImageIOPlugin::_ZTV14QImageIOPlugin: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QImageIOPlugin) +16 (int (*)(...))QImageIOPlugin::metaObject +24 (int (*)(...))QImageIOPlugin::qt_metacast +32 (int (*)(...))QImageIOPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QImageIOPlugin + size=16 align=8 + base size=16 base align=8 +QImageIOPlugin (0x0x7f76169b08f0) 0 + vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16) + QObject (0x0x7f7616b57780) 0 + primary-for QImageIOPlugin (0x0x7f76169b08f0) + +Class QImageReader + size=8 align=8 + base size=8 base align=8 +QImageReader (0x0x7f7616bd9ae0) 0 + +Class QImageWriter + size=8 align=8 + base size=8 base align=8 +QImageWriter (0x0x7f7616c671e0) 0 + +Class QVector3D + size=12 align=4 + base size=12 base align=4 +QVector3D (0x0x7f7616c679c0) 0 + +Class QVector4D + size=16 align=4 + base size=16 base align=4 +QVector4D (0x0x7f76160d6360) 0 + +Class QQuaternion + size=16 align=4 + base size=16 base align=4 +QQuaternion (0x0x7f76158e8960) 0 + +Class QMatrix4x4 + size=68 align=4 + base size=68 base align=4 +QMatrix4x4 (0x0x7f76150b2600) 0 + +Class QMovie::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMovie::QPrivateSignal (0x0x7f7614151120) 0 empty + +Vtable for QMovie +QMovie::_ZTV6QMovie: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QMovie) +16 (int (*)(...))QMovie::metaObject +24 (int (*)(...))QMovie::qt_metacast +32 (int (*)(...))QMovie::qt_metacall +40 (int (*)(...))QMovie::~QMovie +48 (int (*)(...))QMovie::~QMovie +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QMovie + size=16 align=8 + base size=16 base align=8 +QMovie (0x0x7f7614d18270) 0 + vptr=((& QMovie::_ZTV6QMovie) + 16) + QObject (0x0x7f761412fde0) 0 + primary-for QMovie (0x0x7f7614d18270) + +Class QOffscreenSurface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOffscreenSurface::QPrivateSignal (0x0x7f7613ed1f00) 0 empty + +Vtable for QOffscreenSurface +QOffscreenSurface::_ZTV17QOffscreenSurface: 26 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QOffscreenSurface) +16 (int (*)(...))QOffscreenSurface::metaObject +24 (int (*)(...))QOffscreenSurface::qt_metacast +32 (int (*)(...))QOffscreenSurface::qt_metacall +40 (int (*)(...))QOffscreenSurface::~QOffscreenSurface +48 (int (*)(...))QOffscreenSurface::~QOffscreenSurface +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QOffscreenSurface::surfaceType +120 (int (*)(...))QOffscreenSurface::format +128 (int (*)(...))QOffscreenSurface::size +136 (int (*)(...))QOffscreenSurface::surfaceHandle +144 (int (*)(...))-16 +152 (int (*)(...))(& _ZTI17QOffscreenSurface) +160 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD1Ev +168 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD0Ev +176 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface6formatEv +184 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface13surfaceHandleEv +192 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface11surfaceTypeEv +200 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface4sizeEv + +Class QOffscreenSurface + size=40 align=8 + base size=40 base align=8 +QOffscreenSurface (0x0x7f761bf5b0e0) 0 + vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 16) + QObject (0x0x7f7613ed1de0) 0 + primary-for QOffscreenSurface (0x0x7f761bf5b0e0) + QSurface (0x0x7f7613ed1ea0) 16 + vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 160) + +Class QOpenGLBuffer + size=8 align=8 + base size=8 base align=8 +QOpenGLBuffer (0x0x7f7613ef2c00) 0 + +Class QOpenGLVersionStatus + size=12 align=4 + base size=12 base align=4 +QOpenGLVersionStatus (0x0x7f7613cfef00) 0 + +Class QOpenGLVersionFunctionsBackend + size=16 align=8 + base size=12 base align=8 +QOpenGLVersionFunctionsBackend (0x0x7f76137fb720) 0 + +Class QOpenGLVersionFunctionsStorage + size=8 align=8 + base size=8 base align=8 +QOpenGLVersionFunctionsStorage (0x0x7f761383a480) 0 + +Class QAbstractOpenGLFunctionsPrivate + size=16 align=8 + base size=9 base align=8 +QAbstractOpenGLFunctionsPrivate (0x0x7f761383a540) 0 + +Vtable for QAbstractOpenGLFunctions +QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAbstractOpenGLFunctions) +16 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions +24 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions +32 (int (*)(...))QAbstractOpenGLFunctions::initializeOpenGLFunctions + +Class QAbstractOpenGLFunctions + size=16 align=8 + base size=16 base align=8 +QAbstractOpenGLFunctions (0x0x7f761383a960) 0 + vptr=((& QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions) + 16) + +Class QOpenGLFunctions_1_0_CoreBackend::Functions + size=384 align=8 + base size=384 base align=8 +QOpenGLFunctions_1_0_CoreBackend::Functions (0x0x7f761358b000) 0 + +Class QOpenGLFunctions_1_0_CoreBackend + size=400 align=8 + base size=400 base align=8 +QOpenGLFunctions_1_0_CoreBackend (0x0x7f7613f18958) 0 + QOpenGLVersionFunctionsBackend (0x0x7f761383af60) 0 + +Class QOpenGLFunctions_1_1_CoreBackend::Functions + size=128 align=8 + base size=128 base align=8 +QOpenGLFunctions_1_1_CoreBackend::Functions (0x0x7f761358ba80) 0 + +Class QOpenGLFunctions_1_1_CoreBackend + size=144 align=8 + base size=144 base align=8 +QOpenGLFunctions_1_1_CoreBackend (0x0x7f7613f189c0) 0 + QOpenGLVersionFunctionsBackend (0x0x7f761358b960) 0 + +Class QOpenGLFunctions_1_2_CoreBackend::Functions + size=48 align=8 + base size=48 base align=8 +QOpenGLFunctions_1_2_CoreBackend::Functions (0x0x7f76135cade0) 0 + +Class QOpenGLFunctions_1_2_CoreBackend + size=64 align=8 + base size=64 base align=8 +QOpenGLFunctions_1_2_CoreBackend (0x0x7f7613f18c30) 0 + QOpenGLVersionFunctionsBackend (0x0x7f76135cad80) 0 + +Class QOpenGLFunctions_1_3_CoreBackend::Functions + size=72 align=8 + base size=72 base align=8 +QOpenGLFunctions_1_3_CoreBackend::Functions (0x0x7f76135f0d80) 0 + +Class QOpenGLFunctions_1_3_CoreBackend + size=88 align=8 + base size=88 base align=8 +QOpenGLFunctions_1_3_CoreBackend (0x0x7f7613f18c98) 0 + QOpenGLVersionFunctionsBackend (0x0x7f76135f0d20) 0 + +Class QOpenGLFunctions_1_4_CoreBackend::Functions + size=56 align=8 + base size=56 base align=8 +QOpenGLFunctions_1_4_CoreBackend::Functions (0x0x7f76133d4ba0) 0 + +Class QOpenGLFunctions_1_4_CoreBackend + size=72 align=8 + base size=72 base align=8 +QOpenGLFunctions_1_4_CoreBackend (0x0x7f7613f51680) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7613658f00) 0 + +Class QOpenGLFunctions_1_5_CoreBackend::Functions + size=152 align=8 + base size=152 base align=8 +QOpenGLFunctions_1_5_CoreBackend::Functions (0x0x7f7613149cc0) 0 + +Class QOpenGLFunctions_1_5_CoreBackend + size=168 align=8 + base size=168 base align=8 +QOpenGLFunctions_1_5_CoreBackend (0x0x7f7613f516e8) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7613149c60) 0 + +Class QOpenGLFunctions_2_0_CoreBackend::Functions + size=744 align=8 + base size=744 base align=8 +QOpenGLFunctions_2_0_CoreBackend::Functions (0x0x7f76131f6540) 0 + +Class QOpenGLFunctions_2_0_CoreBackend + size=760 align=8 + base size=760 base align=8 +QOpenGLFunctions_2_0_CoreBackend (0x0x7f7613f6d750) 0 + QOpenGLVersionFunctionsBackend (0x0x7f76131ccd80) 0 + +Class QOpenGLFunctions_2_1_CoreBackend::Functions + size=48 align=8 + base size=48 base align=8 +QOpenGLFunctions_2_1_CoreBackend::Functions (0x0x7f7612eb5f00) 0 + +Class QOpenGLFunctions_2_1_CoreBackend + size=64 align=8 + base size=64 base align=8 +QOpenGLFunctions_2_1_CoreBackend (0x0x7f7613f6d7b8) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7613228900) 0 + +Class QOpenGLFunctions_3_0_CoreBackend::Functions + size=672 align=8 + base size=672 base align=8 +QOpenGLFunctions_3_0_CoreBackend::Functions (0x0x7f7612fe3b40) 0 + +Class QOpenGLFunctions_3_0_CoreBackend + size=688 align=8 + base size=688 base align=8 +QOpenGLFunctions_3_0_CoreBackend (0x0x7f76140436e8) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7612fe3960) 0 + +Class QOpenGLFunctions_3_1_CoreBackend::Functions + size=96 align=8 + base size=96 base align=8 +QOpenGLFunctions_3_1_CoreBackend::Functions (0x0x7f7612ffec60) 0 + +Class QOpenGLFunctions_3_1_CoreBackend + size=112 align=8 + base size=112 base align=8 +QOpenGLFunctions_3_1_CoreBackend (0x0x7f7614043750) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7612ffec00) 0 + +Class QOpenGLFunctions_3_2_CoreBackend::Functions + size=152 align=8 + base size=152 base align=8 +QOpenGLFunctions_3_2_CoreBackend::Functions (0x0x7f7612d1b600) 0 + +Class QOpenGLFunctions_3_2_CoreBackend + size=168 align=8 + base size=168 base align=8 +QOpenGLFunctions_3_2_CoreBackend (0x0x7f7614043d68) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7612d1b5a0) 0 + +Class QOpenGLFunctions_3_3_CoreBackend::Functions + size=464 align=8 + base size=464 base align=8 +QOpenGLFunctions_3_3_CoreBackend::Functions (0x0x7f7612d8d240) 0 + +Class QOpenGLFunctions_3_3_CoreBackend + size=480 align=8 + base size=480 base align=8 +QOpenGLFunctions_3_3_CoreBackend (0x0x7f7614043dd0) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7612d8d1e0) 0 + +Class QOpenGLFunctions_4_0_CoreBackend::Functions + size=368 align=8 + base size=368 base align=8 +QOpenGLFunctions_4_0_CoreBackend::Functions (0x0x7f7612dcd600) 0 + +Class QOpenGLFunctions_4_0_CoreBackend + size=384 align=8 + base size=384 base align=8 +QOpenGLFunctions_4_0_CoreBackend (0x0x7f7613d24340) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7612dcd5a0) 0 + +Class QOpenGLFunctions_4_1_CoreBackend::Functions + size=704 align=8 + base size=704 base align=8 +QOpenGLFunctions_4_1_CoreBackend::Functions (0x0x7f7612e2e0c0) 0 + +Class QOpenGLFunctions_4_1_CoreBackend + size=720 align=8 + base size=720 base align=8 +QOpenGLFunctions_4_1_CoreBackend (0x0x7f7613d243a8) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7612e2e060) 0 + +Class QOpenGLFunctions_4_2_CoreBackend::Functions + size=96 align=8 + base size=96 base align=8 +QOpenGLFunctions_4_2_CoreBackend::Functions (0x0x7f7612e4a300) 0 + +Class QOpenGLFunctions_4_2_CoreBackend + size=112 align=8 + base size=112 base align=8 +QOpenGLFunctions_4_2_CoreBackend (0x0x7f7613d3b208) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7612e4a000) 0 + +Class QOpenGLFunctions_4_3_CoreBackend::Functions + size=344 align=8 + base size=344 base align=8 +QOpenGLFunctions_4_3_CoreBackend::Functions (0x0x7f761288ecc0) 0 + +Class QOpenGLFunctions_4_3_CoreBackend + size=360 align=8 + base size=360 base align=8 +QOpenGLFunctions_4_3_CoreBackend (0x0x7f7613d3b270) 0 + QOpenGLVersionFunctionsBackend (0x0x7f761288ec60) 0 + +Class QOpenGLFunctions_4_4_CoreBackend::Functions + size=72 align=8 + base size=72 base align=8 +QOpenGLFunctions_4_4_CoreBackend::Functions (0x0x7f76128f42a0) 0 + +Class QOpenGLFunctions_4_4_CoreBackend + size=88 align=8 + base size=88 base align=8 +QOpenGLFunctions_4_4_CoreBackend (0x0x7f7613d3bb60) 0 + QOpenGLVersionFunctionsBackend (0x0x7f76128f41e0) 0 + +Class QOpenGLFunctions_4_5_CoreBackend::Functions + size=848 align=8 + base size=848 base align=8 +QOpenGLFunctions_4_5_CoreBackend::Functions (0x0x7f7612930f60) 0 + +Class QOpenGLFunctions_4_5_CoreBackend + size=864 align=8 + base size=864 base align=8 +QOpenGLFunctions_4_5_CoreBackend (0x0x7f7613d3bbc8) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7612930f00) 0 + +Class QOpenGLFunctions_1_0_DeprecatedBackend::Functions + size=2064 align=8 + base size=2064 base align=8 +QOpenGLFunctions_1_0_DeprecatedBackend::Functions (0x0x7f7612970720) 0 + +Class QOpenGLFunctions_1_0_DeprecatedBackend + size=2080 align=8 + base size=2080 base align=8 +QOpenGLFunctions_1_0_DeprecatedBackend (0x0x7f7613d3bf70) 0 + QOpenGLVersionFunctionsBackend (0x0x7f76129706c0) 0 + +Class QOpenGLFunctions_1_1_DeprecatedBackend::Functions + size=136 align=8 + base size=136 base align=8 +QOpenGLFunctions_1_1_DeprecatedBackend::Functions (0x0x7f7612a6dc00) 0 + +Class QOpenGLFunctions_1_1_DeprecatedBackend + size=152 align=8 + base size=152 base align=8 +QOpenGLFunctions_1_1_DeprecatedBackend (0x0x7f7613d5a000) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7612a6d6c0) 0 + +Class QOpenGLFunctions_1_2_DeprecatedBackend::Functions + size=256 align=8 + base size=256 base align=8 +QOpenGLFunctions_1_2_DeprecatedBackend::Functions (0x0x7f76126ae5a0) 0 + +Class QOpenGLFunctions_1_2_DeprecatedBackend + size=272 align=8 + base size=272 base align=8 +QOpenGLFunctions_1_2_DeprecatedBackend (0x0x7f7613d5ae38) 0 + QOpenGLVersionFunctionsBackend (0x0x7f761268ba80) 0 + +Class QOpenGLFunctions_1_3_DeprecatedBackend::Functions + size=296 align=8 + base size=296 base align=8 +QOpenGLFunctions_1_3_DeprecatedBackend::Functions (0x0x7f76126dbae0) 0 + +Class QOpenGLFunctions_1_3_DeprecatedBackend + size=312 align=8 + base size=312 base align=8 +QOpenGLFunctions_1_3_DeprecatedBackend (0x0x7f7613d5aea0) 0 + QOpenGLVersionFunctionsBackend (0x0x7f76126dba80) 0 + +Class QOpenGLFunctions_1_4_DeprecatedBackend::Functions + size=304 align=8 + base size=304 base align=8 +QOpenGLFunctions_1_4_DeprecatedBackend::Functions (0x0x7f76127393c0) 0 + +Class QOpenGLFunctions_1_4_DeprecatedBackend + size=320 align=8 + base size=320 base align=8 +QOpenGLFunctions_1_4_DeprecatedBackend (0x0x7f7613d68138) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7612739360) 0 + +Class QOpenGLFunctions_2_0_DeprecatedBackend::Functions + size=288 align=8 + base size=288 base align=8 +QOpenGLFunctions_2_0_DeprecatedBackend::Functions (0x0x7f7612759900) 0 + +Class QOpenGLFunctions_2_0_DeprecatedBackend + size=304 align=8 + base size=304 base align=8 +QOpenGLFunctions_2_0_DeprecatedBackend (0x0x7f7613d76d68) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7612759840) 0 + +Class QOpenGLFunctions_3_0_DeprecatedBackend::Functions + size=160 align=8 + base size=160 base align=8 +QOpenGLFunctions_3_0_DeprecatedBackend::Functions (0x0x7f7612795c00) 0 + +Class QOpenGLFunctions_3_0_DeprecatedBackend + size=176 align=8 + base size=176 base align=8 +QOpenGLFunctions_3_0_DeprecatedBackend (0x0x7f7613d76dd0) 0 + QOpenGLVersionFunctionsBackend (0x0x7f7612773720) 0 + +Class QOpenGLFunctions_3_3_DeprecatedBackend::Functions + size=240 align=8 + base size=240 base align=8 +QOpenGLFunctions_3_3_DeprecatedBackend::Functions (0x0x7f76127c4d80) 0 + +Class QOpenGLFunctions_3_3_DeprecatedBackend + size=256 align=8 + base size=256 base align=8 +QOpenGLFunctions_3_3_DeprecatedBackend (0x0x7f7613dbe2d8) 0 + QOpenGLVersionFunctionsBackend (0x0x7f76127c4d20) 0 + +Class QOpenGLFunctions_4_5_DeprecatedBackend::Functions + size=96 align=8 + base size=96 base align=8 +QOpenGLFunctions_4_5_DeprecatedBackend::Functions (0x0x7f7612814900) 0 + +Class QOpenGLFunctions_4_5_DeprecatedBackend + size=112 align=8 + base size=112 base align=8 +QOpenGLFunctions_4_5_DeprecatedBackend (0x0x7f7613dbe340) 0 + QOpenGLVersionFunctionsBackend (0x0x7f76128148a0) 0 + +Class QOpenGLVersionProfile + size=8 align=8 + base size=8 base align=8 +QOpenGLVersionProfile (0x0x7f76123834e0) 0 + +Class QOpenGLContextGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLContextGroup::QPrivateSignal (0x0x7f761206c4e0) 0 empty + +Vtable for QOpenGLContextGroup +QOpenGLContextGroup::_ZTV19QOpenGLContextGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QOpenGLContextGroup) +16 (int (*)(...))QOpenGLContextGroup::metaObject +24 (int (*)(...))QOpenGLContextGroup::qt_metacast +32 (int (*)(...))QOpenGLContextGroup::qt_metacall +40 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup +48 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLContextGroup + size=16 align=8 + base size=16 base align=8 +QOpenGLContextGroup (0x0x7f76137fa478) 0 + vptr=((& QOpenGLContextGroup::_ZTV19QOpenGLContextGroup) + 16) + QObject (0x0x7f761206c480) 0 + primary-for QOpenGLContextGroup (0x0x7f76137fa478) + +Class QOpenGLContext::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLContext::QPrivateSignal (0x0x7f761208c300) 0 empty + +Vtable for QOpenGLContext +QOpenGLContext::_ZTV14QOpenGLContext: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QOpenGLContext) +16 (int (*)(...))QOpenGLContext::metaObject +24 (int (*)(...))QOpenGLContext::qt_metacast +32 (int (*)(...))QOpenGLContext::qt_metacall +40 (int (*)(...))QOpenGLContext::~QOpenGLContext +48 (int (*)(...))QOpenGLContext::~QOpenGLContext +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLContext + size=16 align=8 + base size=16 base align=8 +QOpenGLContext (0x0x7f76137fa4e0) 0 + vptr=((& QOpenGLContext::_ZTV14QOpenGLContext) + 16) + QObject (0x0x7f761208c240) 0 + primary-for QOpenGLContext (0x0x7f76137fa4e0) + +Class QOpenGLDebugMessage + size=8 align=8 + base size=8 base align=8 +QOpenGLDebugMessage (0x0x7f761210ecc0) 0 + +Class QOpenGLDebugLogger::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLDebugLogger::QPrivateSignal (0x0x7f761143fa80) 0 empty + +Vtable for QOpenGLDebugLogger +QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QOpenGLDebugLogger) +16 (int (*)(...))QOpenGLDebugLogger::metaObject +24 (int (*)(...))QOpenGLDebugLogger::qt_metacast +32 (int (*)(...))QOpenGLDebugLogger::qt_metacall +40 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger +48 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLDebugLogger + size=16 align=8 + base size=16 base align=8 +QOpenGLDebugLogger (0x0x7f761297ec98) 0 + vptr=((& QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger) + 16) + QObject (0x0x7f761143f9c0) 0 + primary-for QOpenGLDebugLogger (0x0x7f761297ec98) + +Class QOpenGLFunctions + size=8 align=8 + base size=8 base align=8 +QOpenGLFunctions (0x0x7f761147f660) 0 + +Class QOpenGLFunctionsPrivate::Functions + size=1152 align=8 + base size=1152 base align=8 +QOpenGLFunctionsPrivate::Functions (0x0x7f76114da840) 0 + +Class QOpenGLFunctionsPrivate + size=1152 align=8 + base size=1152 base align=8 +QOpenGLFunctionsPrivate (0x0x7f76114da780) 0 + +Class QOpenGLExtraFunctions + size=8 align=8 + base size=8 base align=8 +QOpenGLExtraFunctions (0x0x7f7612a17068) 0 + QOpenGLFunctions (0x0x7f7617036d20) 0 + +Class QOpenGLExtraFunctionsPrivate::Functions + size=1728 align=8 + base size=1728 base align=8 +QOpenGLExtraFunctionsPrivate::Functions (0x0x7f761617e0c0) 0 + +Class QOpenGLExtraFunctionsPrivate + size=2880 align=8 + base size=2880 base align=8 +QOpenGLExtraFunctionsPrivate (0x0x7f7612a170d0) 0 + QOpenGLFunctionsPrivate (0x0x7f761617e060) 0 + +Vtable for QOpenGLFramebufferObject +QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QOpenGLFramebufferObject) +16 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject +24 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject + +Class QOpenGLFramebufferObject + size=16 align=8 + base size=16 base align=8 +QOpenGLFramebufferObject (0x0x7f7613affb40) 0 + vptr=((& QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject) + 16) + +Class QOpenGLFramebufferObjectFormat + size=8 align=8 + base size=8 base align=8 +QOpenGLFramebufferObjectFormat (0x0x7f7613affde0) 0 + +Vtable for QOpenGLPaintDevice +QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QOpenGLPaintDevice) +16 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice +24 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice +32 (int (*)(...))QOpenGLPaintDevice::devType +40 (int (*)(...))QOpenGLPaintDevice::paintEngine +48 (int (*)(...))QOpenGLPaintDevice::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter +80 (int (*)(...))QOpenGLPaintDevice::ensureActiveTarget + +Class QOpenGLPaintDevice + size=32 align=8 + base size=32 base align=8 +QOpenGLPaintDevice (0x0x7f76113f8d00) 0 + vptr=((& QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice) + 16) + QPaintDevice (0x0x7f7613affe40) 0 + primary-for QOpenGLPaintDevice (0x0x7f76113f8d00) + +Class QOpenGLPixelTransferOptions + size=8 align=8 + base size=8 base align=8 +QOpenGLPixelTransferOptions (0x0x7f76131880c0) 0 + +Class QOpenGLShader::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLShader::QPrivateSignal (0x0x7f7612e77ea0) 0 empty + +Vtable for QOpenGLShader +QOpenGLShader::_ZTV13QOpenGLShader: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QOpenGLShader) +16 (int (*)(...))QOpenGLShader::metaObject +24 (int (*)(...))QOpenGLShader::qt_metacast +32 (int (*)(...))QOpenGLShader::qt_metacall +40 (int (*)(...))QOpenGLShader::~QOpenGLShader +48 (int (*)(...))QOpenGLShader::~QOpenGLShader +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLShader + size=16 align=8 + base size=16 base align=8 +QOpenGLShader (0x0x7f76113bdea0) 0 + vptr=((& QOpenGLShader::_ZTV13QOpenGLShader) + 16) + QObject (0x0x7f7612e77e40) 0 + primary-for QOpenGLShader (0x0x7f76113bdea0) + +Class QOpenGLShaderProgram::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLShaderProgram::QPrivateSignal (0x0x7f7612cd77e0) 0 empty + +Vtable for QOpenGLShaderProgram +QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QOpenGLShaderProgram) +16 (int (*)(...))QOpenGLShaderProgram::metaObject +24 (int (*)(...))QOpenGLShaderProgram::qt_metacast +32 (int (*)(...))QOpenGLShaderProgram::qt_metacall +40 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram +48 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QOpenGLShaderProgram::link + +Class QOpenGLShaderProgram + size=16 align=8 + base size=16 base align=8 +QOpenGLShaderProgram (0x0x7f76113ef270) 0 + vptr=((& QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram) + 16) + QObject (0x0x7f7612cd7780) 0 + primary-for QOpenGLShaderProgram (0x0x7f76113ef270) + +Class QOpenGLTexture + size=8 align=8 + base size=8 base align=8 +QOpenGLTexture (0x0x7f7612cd79c0) 0 + +Class QOpenGLTextureBlitter + size=8 align=8 + base size=8 base align=8 +QOpenGLTextureBlitter (0x0x7f76115e5ea0) 0 + +Class QOpenGLTimerQuery::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLTimerQuery::QPrivateSignal (0x0x7f7610f98120) 0 empty + +Vtable for QOpenGLTimerQuery +QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QOpenGLTimerQuery) +16 (int (*)(...))QOpenGLTimerQuery::metaObject +24 (int (*)(...))QOpenGLTimerQuery::qt_metacast +32 (int (*)(...))QOpenGLTimerQuery::qt_metacall +40 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery +48 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLTimerQuery + size=16 align=8 + base size=16 base align=8 +QOpenGLTimerQuery (0x0x7f76113ef6e8) 0 + vptr=((& QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery) + 16) + QObject (0x0x7f7610f980c0) 0 + primary-for QOpenGLTimerQuery (0x0x7f76113ef6e8) + +Class QOpenGLTimeMonitor::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLTimeMonitor::QPrivateSignal (0x0x7f7610f98360) 0 empty + +Vtable for QOpenGLTimeMonitor +QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QOpenGLTimeMonitor) +16 (int (*)(...))QOpenGLTimeMonitor::metaObject +24 (int (*)(...))QOpenGLTimeMonitor::qt_metacast +32 (int (*)(...))QOpenGLTimeMonitor::qt_metacall +40 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor +48 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLTimeMonitor + size=16 align=8 + base size=16 base align=8 +QOpenGLTimeMonitor (0x0x7f7611089c30) 0 + vptr=((& QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor) + 16) + QObject (0x0x7f7610f98300) 0 + primary-for QOpenGLTimeMonitor (0x0x7f7611089c30) + +Class QOpenGLVertexArrayObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLVertexArrayObject::QPrivateSignal (0x0x7f7610f985a0) 0 empty + +Class QOpenGLVertexArrayObject::Binder + size=8 align=8 + base size=8 base align=8 +QOpenGLVertexArrayObject::Binder (0x0x7f7610f98600) 0 + +Vtable for QOpenGLVertexArrayObject +QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QOpenGLVertexArrayObject) +16 (int (*)(...))QOpenGLVertexArrayObject::metaObject +24 (int (*)(...))QOpenGLVertexArrayObject::qt_metacast +32 (int (*)(...))QOpenGLVertexArrayObject::qt_metacall +40 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject +48 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLVertexArrayObject + size=16 align=8 + base size=16 base align=8 +QOpenGLVertexArrayObject (0x0x7f7611089c98) 0 + vptr=((& QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject) + 16) + QObject (0x0x7f7610f98540) 0 + primary-for QOpenGLVertexArrayObject (0x0x7f7611089c98) + +Class QPaintDeviceWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPaintDeviceWindow::QPrivateSignal (0x0x7f7610f98cc0) 0 empty + +Vtable for QPaintDeviceWindow +QPaintDeviceWindow::_ZTV18QPaintDeviceWindow: 58 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QPaintDeviceWindow) +16 (int (*)(...))QPaintDeviceWindow::metaObject +24 (int (*)(...))QPaintDeviceWindow::qt_metacast +32 (int (*)(...))QPaintDeviceWindow::qt_metacall +40 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow +48 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow +56 (int (*)(...))QPaintDeviceWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QPaintDeviceWindow::exposeEvent +160 (int (*)(...))QWindow::resizeEvent +168 (int (*)(...))QWindow::moveEvent +176 (int (*)(...))QWindow::focusInEvent +184 (int (*)(...))QWindow::focusOutEvent +192 (int (*)(...))QWindow::showEvent +200 (int (*)(...))QWindow::hideEvent +208 (int (*)(...))QWindow::keyPressEvent +216 (int (*)(...))QWindow::keyReleaseEvent +224 (int (*)(...))QWindow::mousePressEvent +232 (int (*)(...))QWindow::mouseReleaseEvent +240 (int (*)(...))QWindow::mouseDoubleClickEvent +248 (int (*)(...))QWindow::mouseMoveEvent +256 (int (*)(...))QWindow::wheelEvent +264 (int (*)(...))QWindow::touchEvent +272 (int (*)(...))QWindow::tabletEvent +280 (int (*)(...))QWindow::nativeEvent +288 (int (*)(...))QWindow::surfaceHandle +296 (int (*)(...))QPaintDeviceWindow::paintEvent +304 (int (*)(...))QPaintDeviceWindow::metric +312 (int (*)(...))QPaintDeviceWindow::paintEngine +320 (int (*)(...))-16 +328 (int (*)(...))(& _ZTI18QPaintDeviceWindow) +336 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD1Ev +344 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD0Ev +352 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +360 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +368 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +376 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv +384 (int (*)(...))-40 +392 (int (*)(...))(& _ZTI18QPaintDeviceWindow) +400 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD1Ev +408 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD0Ev +416 (int (*)(...))QPaintDevice::devType +424 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv +432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow6metricEN12QPaintDevice17PaintDeviceMetricE +440 (int (*)(...))QPaintDevice::initPainter +448 (int (*)(...))QPaintDevice::redirected +456 (int (*)(...))QPaintDevice::sharedPainter + +Class QPaintDeviceWindow + size=64 align=8 + base size=64 base align=8 +QPaintDeviceWindow (0x0x7f761af04310) 0 + vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 16) + QWindow (0x0x7f761af04380) 0 + primary-for QPaintDeviceWindow (0x0x7f761af04310) + QObject (0x0x7f7610f98ba0) 0 + primary-for QWindow (0x0x7f761af04380) + QSurface (0x0x7f7610f98c00) 16 + vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 336) + QPaintDevice (0x0x7f7610f98c60) 40 + vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 400) + +Class QOpenGLWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLWindow::QPrivateSignal (0x0x7f761b309000) 0 empty + +Vtable for QOpenGLWindow +QOpenGLWindow::_ZTV13QOpenGLWindow: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QOpenGLWindow) +16 (int (*)(...))QOpenGLWindow::metaObject +24 (int (*)(...))QOpenGLWindow::qt_metacast +32 (int (*)(...))QOpenGLWindow::qt_metacall +40 (int (*)(...))QOpenGLWindow::~QOpenGLWindow +48 (int (*)(...))QOpenGLWindow::~QOpenGLWindow +56 (int (*)(...))QPaintDeviceWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QPaintDeviceWindow::exposeEvent +160 (int (*)(...))QOpenGLWindow::resizeEvent +168 (int (*)(...))QWindow::moveEvent +176 (int (*)(...))QWindow::focusInEvent +184 (int (*)(...))QWindow::focusOutEvent +192 (int (*)(...))QWindow::showEvent +200 (int (*)(...))QWindow::hideEvent +208 (int (*)(...))QWindow::keyPressEvent +216 (int (*)(...))QWindow::keyReleaseEvent +224 (int (*)(...))QWindow::mousePressEvent +232 (int (*)(...))QWindow::mouseReleaseEvent +240 (int (*)(...))QWindow::mouseDoubleClickEvent +248 (int (*)(...))QWindow::mouseMoveEvent +256 (int (*)(...))QWindow::wheelEvent +264 (int (*)(...))QWindow::touchEvent +272 (int (*)(...))QWindow::tabletEvent +280 (int (*)(...))QWindow::nativeEvent +288 (int (*)(...))QWindow::surfaceHandle +296 (int (*)(...))QOpenGLWindow::paintEvent +304 (int (*)(...))QOpenGLWindow::metric +312 (int (*)(...))QPaintDeviceWindow::paintEngine +320 (int (*)(...))QOpenGLWindow::initializeGL +328 (int (*)(...))QOpenGLWindow::resizeGL +336 (int (*)(...))QOpenGLWindow::paintGL +344 (int (*)(...))QOpenGLWindow::paintUnderGL +352 (int (*)(...))QOpenGLWindow::paintOverGL +360 (int (*)(...))QOpenGLWindow::redirected +368 (int (*)(...))-16 +376 (int (*)(...))(& _ZTI13QOpenGLWindow) +384 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD1Ev +392 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD0Ev +400 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +408 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +416 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +424 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv +432 (int (*)(...))-40 +440 (int (*)(...))(& _ZTI13QOpenGLWindow) +448 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD1Ev +456 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD0Ev +464 (int (*)(...))QPaintDevice::devType +472 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv +480 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QPaintDevice::initPainter +496 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow10redirectedEP6QPoint +504 (int (*)(...))QPaintDevice::sharedPainter + +Class QOpenGLWindow + size=64 align=8 + base size=64 base align=8 +QOpenGLWindow (0x0x7f7611089f70) 0 + vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 16) + QPaintDeviceWindow (0x0x7f761af04540) 0 + primary-for QOpenGLWindow (0x0x7f7611089f70) + QWindow (0x0x7f761af045b0) 0 + primary-for QPaintDeviceWindow (0x0x7f761af04540) + QObject (0x0x7f7610f98ea0) 0 + primary-for QWindow (0x0x7f761af045b0) + QSurface (0x0x7f7610f98f00) 16 + vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 384) + QPaintDevice (0x0x7f7610f98f60) 40 + vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 448) + +Class QPageSize + size=8 align=8 + base size=8 base align=8 +QPageSize (0x0x7f761b3091e0) 0 + +Class QPageLayout + size=8 align=8 + base size=8 base align=8 +QPageLayout (0x0x7f7618afb720) 0 + +Class QPagedPaintDevice::Margins + size=32 align=8 + base size=32 base align=8 +QPagedPaintDevice::Margins (0x0x7f7616ea31e0) 0 + +Vtable for QPagedPaintDevice +QPagedPaintDevice::_ZTV17QPagedPaintDevice: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QPagedPaintDevice) +16 0 +24 0 +32 (int (*)(...))QPaintDevice::devType +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QPaintDevice::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))QPagedPaintDevice::setPageSize +96 (int (*)(...))QPagedPaintDevice::setPageSizeMM +104 (int (*)(...))QPagedPaintDevice::setMargins + +Class QPagedPaintDevice + size=32 align=8 + base size=32 base align=8 +QPagedPaintDevice (0x0x7f76173c52d8) 0 + vptr=((& QPagedPaintDevice::_ZTV17QPagedPaintDevice) + 16) + QPaintDevice (0x0x7f7616ea3180) 0 + primary-for QPagedPaintDevice (0x0x7f76173c52d8) + +Class QPainter::PixmapFragment + size=80 align=8 + base size=80 base align=8 +QPainter::PixmapFragment (0x0x7f7616ea32a0) 0 + +Class QPainter + size=8 align=8 + base size=8 base align=8 +QPainter (0x0x7f7616ea3240) 0 + +Class QTextItem + size=1 align=1 + base size=0 base align=1 +QTextItem (0x0x7f761189a480) 0 empty + +Vtable for QPaintEngine +QPaintEngine::_ZTV12QPaintEngine: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QPaintEngine) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))QPaintEngine::drawRects +64 (int (*)(...))QPaintEngine::drawRects +72 (int (*)(...))QPaintEngine::drawLines +80 (int (*)(...))QPaintEngine::drawLines +88 (int (*)(...))QPaintEngine::drawEllipse +96 (int (*)(...))QPaintEngine::drawEllipse +104 (int (*)(...))QPaintEngine::drawPath +112 (int (*)(...))QPaintEngine::drawPoints +120 (int (*)(...))QPaintEngine::drawPoints +128 (int (*)(...))QPaintEngine::drawPolygon +136 (int (*)(...))QPaintEngine::drawPolygon +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QPaintEngine::drawTextItem +160 (int (*)(...))QPaintEngine::drawTiledPixmap +168 (int (*)(...))QPaintEngine::drawImage +176 (int (*)(...))QPaintEngine::coordinateOffset +184 (int (*)(...))__cxa_pure_virtual + +Class QPaintEngine + size=32 align=8 + base size=32 base align=8 +QPaintEngine (0x0x7f76116703c0) 0 + vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16) + +Class QPaintEngineState + size=4 align=4 + base size=4 base align=4 +QPaintEngineState (0x0x7f7611670ba0) 0 + +Class QPdfWriter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPdfWriter::QPrivateSignal (0x0x7f761b5e0360) 0 empty + +Vtable for QPdfWriter +QPdfWriter::_ZTV10QPdfWriter: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QPdfWriter) +16 (int (*)(...))QPdfWriter::metaObject +24 (int (*)(...))QPdfWriter::qt_metacast +32 (int (*)(...))QPdfWriter::qt_metacall +40 (int (*)(...))QPdfWriter::~QPdfWriter +48 (int (*)(...))QPdfWriter::~QPdfWriter +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPdfWriter::newPage +120 (int (*)(...))QPdfWriter::setPageSize +128 (int (*)(...))QPdfWriter::setPageSizeMM +136 (int (*)(...))QPdfWriter::setMargins +144 (int (*)(...))QPdfWriter::paintEngine +152 (int (*)(...))QPdfWriter::metric +160 (int (*)(...))-16 +168 (int (*)(...))(& _ZTI10QPdfWriter) +176 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD1Ev +184 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD0Ev +192 (int (*)(...))QPaintDevice::devType +200 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter11paintEngineEv +208 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter6metricEN12QPaintDevice17PaintDeviceMetricE +216 (int (*)(...))QPaintDevice::initPainter +224 (int (*)(...))QPaintDevice::redirected +232 (int (*)(...))QPaintDevice::sharedPainter +240 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter7newPageEv +248 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter11setPageSizeEN17QPagedPaintDevice8PageSizeE +256 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter13setPageSizeMMERK6QSizeF +264 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter10setMarginsERKN17QPagedPaintDevice7MarginsE + +Class QPdfWriter + size=48 align=8 + base size=48 base align=8 +QPdfWriter (0x0x7f76193b7700) 0 + vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 16) + QObject (0x0x7f761b5e02a0) 0 + primary-for QPdfWriter (0x0x7f76193b7700) + QPagedPaintDevice (0x0x7f7611651680) 16 + vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 176) + QPaintDevice (0x0x7f761b5e0300) 16 + primary-for QPagedPaintDevice (0x0x7f7611651680) + +Vtable for QPicture +QPicture::_ZTV8QPicture: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QPicture) +16 (int (*)(...))QPicture::~QPicture +24 (int (*)(...))QPicture::~QPicture +32 (int (*)(...))QPicture::devType +40 (int (*)(...))QPicture::paintEngine +48 (int (*)(...))QPicture::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter +80 (int (*)(...))QPicture::setData + +Class QPicture + size=32 align=8 + base size=32 base align=8 +QPicture (0x0x7f76116516e8) 0 + vptr=((& QPicture::_ZTV8QPicture) + 16) + QPaintDevice (0x0x7f761b5e06c0) 0 + primary-for QPicture (0x0x7f76116516e8) + +Class QPictureIO + size=8 align=8 + base size=8 base align=8 +QPictureIO (0x0x7f761475b780) 0 + +Class QPictureFormatPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPictureFormatPlugin::QPrivateSignal (0x0x7f761475b840) 0 empty + +Vtable for QPictureFormatPlugin +QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QPictureFormatPlugin) +16 (int (*)(...))QPictureFormatPlugin::metaObject +24 (int (*)(...))QPictureFormatPlugin::qt_metacast +32 (int (*)(...))QPictureFormatPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPictureFormatPlugin::loadPicture +120 (int (*)(...))QPictureFormatPlugin::savePicture +128 (int (*)(...))__cxa_pure_virtual + +Class QPictureFormatPlugin + size=16 align=8 + base size=16 base align=8 +QPictureFormatPlugin (0x0x7f76142440d0) 0 + vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16) + QObject (0x0x7f761475b7e0) 0 + primary-for QPictureFormatPlugin (0x0x7f76142440d0) + +Class QPixmapCache::Key + size=8 align=8 + base size=8 base align=8 +QPixmapCache::Key (0x0x7f761475b9c0) 0 + +Class QPixmapCache + size=1 align=1 + base size=0 base align=1 +QPixmapCache (0x0x7f761475b960) 0 empty + +Class QRasterWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRasterWindow::QPrivateSignal (0x0x7f7610ca1180) 0 empty + +Vtable for QRasterWindow +QRasterWindow::_ZTV13QRasterWindow: 59 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QRasterWindow) +16 (int (*)(...))QRasterWindow::metaObject +24 (int (*)(...))QRasterWindow::qt_metacast +32 (int (*)(...))QRasterWindow::qt_metacall +40 (int (*)(...))QRasterWindow::~QRasterWindow +48 (int (*)(...))QRasterWindow::~QRasterWindow +56 (int (*)(...))QPaintDeviceWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QPaintDeviceWindow::exposeEvent +160 (int (*)(...))QWindow::resizeEvent +168 (int (*)(...))QWindow::moveEvent +176 (int (*)(...))QWindow::focusInEvent +184 (int (*)(...))QWindow::focusOutEvent +192 (int (*)(...))QWindow::showEvent +200 (int (*)(...))QWindow::hideEvent +208 (int (*)(...))QWindow::keyPressEvent +216 (int (*)(...))QWindow::keyReleaseEvent +224 (int (*)(...))QWindow::mousePressEvent +232 (int (*)(...))QWindow::mouseReleaseEvent +240 (int (*)(...))QWindow::mouseDoubleClickEvent +248 (int (*)(...))QWindow::mouseMoveEvent +256 (int (*)(...))QWindow::wheelEvent +264 (int (*)(...))QWindow::touchEvent +272 (int (*)(...))QWindow::tabletEvent +280 (int (*)(...))QWindow::nativeEvent +288 (int (*)(...))QWindow::surfaceHandle +296 (int (*)(...))QPaintDeviceWindow::paintEvent +304 (int (*)(...))QRasterWindow::metric +312 (int (*)(...))QPaintDeviceWindow::paintEngine +320 (int (*)(...))QRasterWindow::redirected +328 (int (*)(...))-16 +336 (int (*)(...))(& _ZTI13QRasterWindow) +344 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD1Ev +352 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD0Ev +360 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +368 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +376 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +384 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv +392 (int (*)(...))-40 +400 (int (*)(...))(& _ZTI13QRasterWindow) +408 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD1Ev +416 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD0Ev +424 (int (*)(...))QPaintDevice::devType +432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv +440 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow6metricEN12QPaintDevice17PaintDeviceMetricE +448 (int (*)(...))QPaintDevice::initPainter +456 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow10redirectedEP6QPoint +464 (int (*)(...))QPaintDevice::sharedPainter + +Class QRasterWindow + size=64 align=8 + base size=64 base align=8 +QRasterWindow (0x0x7f7610c7bd00) 0 + vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 16) + QPaintDeviceWindow (0x0x7f7618aeca80) 0 + primary-for QRasterWindow (0x0x7f7610c7bd00) + QWindow (0x0x7f7618aecaf0) 0 + primary-for QPaintDeviceWindow (0x0x7f7618aeca80) + QObject (0x0x7f7610ca1060) 0 + primary-for QWindow (0x0x7f7618aecaf0) + QSurface (0x0x7f7610ca10c0) 16 + vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 344) + QPaintDevice (0x0x7f7610ca1120) 40 + vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 408) + +Class QScreen::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScreen::QPrivateSignal (0x0x7f7610ca13c0) 0 empty + +Vtable for QScreen +QScreen::_ZTV7QScreen: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QScreen) +16 (int (*)(...))QScreen::metaObject +24 (int (*)(...))QScreen::qt_metacast +32 (int (*)(...))QScreen::qt_metacall +40 (int (*)(...))QScreen::~QScreen +48 (int (*)(...))QScreen::~QScreen +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QScreen + size=16 align=8 + base size=16 base align=8 +QScreen (0x0x7f7610c7bdd0) 0 + vptr=((& QScreen::_ZTV7QScreen) + 16) + QObject (0x0x7f7610ca1360) 0 + primary-for QScreen (0x0x7f7610c7bdd0) + +Class QSessionManager::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSessionManager::QPrivateSignal (0x0x7f7610ca1600) 0 empty + +Vtable for QSessionManager +QSessionManager::_ZTV15QSessionManager: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSessionManager) +16 (int (*)(...))QSessionManager::metaObject +24 (int (*)(...))QSessionManager::qt_metacast +32 (int (*)(...))QSessionManager::qt_metacall +40 (int (*)(...))QSessionManager::~QSessionManager +48 (int (*)(...))QSessionManager::~QSessionManager +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSessionManager + size=16 align=8 + base size=16 base align=8 +QSessionManager (0x0x7f7610c7be38) 0 + vptr=((& QSessionManager::_ZTV15QSessionManager) + 16) + QObject (0x0x7f7610ca15a0) 0 + primary-for QSessionManager (0x0x7f7610c7be38) + +Vtable for QStandardItem +QStandardItem::_ZTV13QStandardItem: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QStandardItem) +16 (int (*)(...))QStandardItem::~QStandardItem +24 (int (*)(...))QStandardItem::~QStandardItem +32 (int (*)(...))QStandardItem::data +40 (int (*)(...))QStandardItem::setData +48 (int (*)(...))QStandardItem::clone +56 (int (*)(...))QStandardItem::type +64 (int (*)(...))QStandardItem::read +72 (int (*)(...))QStandardItem::write +80 (int (*)(...))QStandardItem::operator< + +Class QStandardItem + size=16 align=8 + base size=16 base align=8 +QStandardItem (0x0x7f7610ca17e0) 0 + vptr=((& QStandardItem::_ZTV13QStandardItem) + 16) + +Class QStandardItemModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStandardItemModel::QPrivateSignal (0x0x7f7611141f60) 0 empty + +Vtable for QStandardItemModel +QStandardItemModel::_ZTV18QStandardItemModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QStandardItemModel) +16 (int (*)(...))QStandardItemModel::metaObject +24 (int (*)(...))QStandardItemModel::qt_metacast +32 (int (*)(...))QStandardItemModel::qt_metacall +40 (int (*)(...))QStandardItemModel::~QStandardItemModel +48 (int (*)(...))QStandardItemModel::~QStandardItemModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStandardItemModel::index +120 (int (*)(...))QStandardItemModel::parent +128 (int (*)(...))QStandardItemModel::sibling +136 (int (*)(...))QStandardItemModel::rowCount +144 (int (*)(...))QStandardItemModel::columnCount +152 (int (*)(...))QStandardItemModel::hasChildren +160 (int (*)(...))QStandardItemModel::data +168 (int (*)(...))QStandardItemModel::setData +176 (int (*)(...))QStandardItemModel::headerData +184 (int (*)(...))QStandardItemModel::setHeaderData +192 (int (*)(...))QStandardItemModel::itemData +200 (int (*)(...))QStandardItemModel::setItemData +208 (int (*)(...))QStandardItemModel::mimeTypes +216 (int (*)(...))QStandardItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QStandardItemModel::dropMimeData +240 (int (*)(...))QStandardItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QStandardItemModel::insertRows +264 (int (*)(...))QStandardItemModel::insertColumns +272 (int (*)(...))QStandardItemModel::removeRows +280 (int (*)(...))QStandardItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QStandardItemModel::flags +328 (int (*)(...))QStandardItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QStandardItemModel + size=16 align=8 + base size=16 base align=8 +QStandardItemModel (0x0x7f761085e410) 0 + vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16) + QAbstractItemModel (0x0x7f761085e478) 0 + primary-for QStandardItemModel (0x0x7f761085e410) + QObject (0x0x7f7611141f00) 0 + primary-for QAbstractItemModel (0x0x7f761085e478) + +Class QStaticText + size=8 align=8 + base size=8 base align=8 +QStaticText (0x0x7f7616e2e360) 0 + +Class QStyleHints::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStyleHints::QPrivateSignal (0x0x7f7615972660) 0 empty + +Vtable for QStyleHints +QStyleHints::_ZTV11QStyleHints: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QStyleHints) +16 (int (*)(...))QStyleHints::metaObject +24 (int (*)(...))QStyleHints::qt_metacast +32 (int (*)(...))QStyleHints::qt_metacall +40 (int (*)(...))QStyleHints::~QStyleHints +48 (int (*)(...))QStyleHints::~QStyleHints +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QStyleHints + size=16 align=8 + base size=16 base align=8 +QStyleHints (0x0x7f7615987000) 0 + vptr=((& QStyleHints::_ZTV11QStyleHints) + 16) + QObject (0x0x7f7615972600) 0 + primary-for QStyleHints (0x0x7f7615987000) + +Class QTextObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextObject::QPrivateSignal (0x0x7f76159728a0) 0 empty + +Vtable for QTextObject +QTextObject::_ZTV11QTextObject: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTextObject) +16 (int (*)(...))QTextObject::metaObject +24 (int (*)(...))QTextObject::qt_metacast +32 (int (*)(...))QTextObject::qt_metacall +40 (int (*)(...))QTextObject::~QTextObject +48 (int (*)(...))QTextObject::~QTextObject +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTextObject + size=16 align=8 + base size=16 base align=8 +QTextObject (0x0x7f7615987068) 0 + vptr=((& QTextObject::_ZTV11QTextObject) + 16) + QObject (0x0x7f7615972840) 0 + primary-for QTextObject (0x0x7f7615987068) + +Class QTextBlockGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextBlockGroup::QPrivateSignal (0x0x7f7615972ae0) 0 empty + +Vtable for QTextBlockGroup +QTextBlockGroup::_ZTV15QTextBlockGroup: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QTextBlockGroup) +16 (int (*)(...))QTextBlockGroup::metaObject +24 (int (*)(...))QTextBlockGroup::qt_metacast +32 (int (*)(...))QTextBlockGroup::qt_metacall +40 (int (*)(...))QTextBlockGroup::~QTextBlockGroup +48 (int (*)(...))QTextBlockGroup::~QTextBlockGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTextBlockGroup::blockInserted +120 (int (*)(...))QTextBlockGroup::blockRemoved +128 (int (*)(...))QTextBlockGroup::blockFormatChanged + +Class QTextBlockGroup + size=16 align=8 + base size=16 base align=8 +QTextBlockGroup (0x0x7f76159870d0) 0 + vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16) + QTextObject (0x0x7f7615987138) 0 + primary-for QTextBlockGroup (0x0x7f76159870d0) + QObject (0x0x7f7615972a80) 0 + primary-for QTextObject (0x0x7f7615987138) + +Vtable for QTextFrameLayoutData +QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QTextFrameLayoutData) +16 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData +24 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData + +Class QTextFrameLayoutData + size=8 align=8 + base size=8 base align=8 +QTextFrameLayoutData (0x0x7f7615972cc0) 0 nearly-empty + vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16) + +Class QTextFrame::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextFrame::QPrivateSignal (0x0x7f7615972d80) 0 empty + +Class QTextFrame::iterator + size=32 align=8 + base size=28 base align=8 +QTextFrame::iterator (0x0x7f7615972de0) 0 + +Vtable for QTextFrame +QTextFrame::_ZTV10QTextFrame: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTextFrame) +16 (int (*)(...))QTextFrame::metaObject +24 (int (*)(...))QTextFrame::qt_metacast +32 (int (*)(...))QTextFrame::qt_metacall +40 (int (*)(...))QTextFrame::~QTextFrame +48 (int (*)(...))QTextFrame::~QTextFrame +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTextFrame + size=16 align=8 + base size=16 base align=8 +QTextFrame (0x0x7f76159871a0) 0 + vptr=((& QTextFrame::_ZTV10QTextFrame) + 16) + QTextObject (0x0x7f7615987208) 0 + primary-for QTextFrame (0x0x7f76159871a0) + QObject (0x0x7f7615972d20) 0 + primary-for QTextObject (0x0x7f7615987208) + +Vtable for QTextBlockUserData +QTextBlockUserData::_ZTV18QTextBlockUserData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QTextBlockUserData) +16 (int (*)(...))QTextBlockUserData::~QTextBlockUserData +24 (int (*)(...))QTextBlockUserData::~QTextBlockUserData + +Class QTextBlockUserData + size=8 align=8 + base size=8 base align=8 +QTextBlockUserData (0x0x7f7612bf3780) 0 nearly-empty + vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16) + +Class QTextBlock::iterator + size=24 align=8 + base size=20 base align=8 +QTextBlock::iterator (0x0x7f7612bf3840) 0 + +Class QTextBlock + size=16 align=8 + base size=12 base align=8 +QTextBlock (0x0x7f7612bf37e0) 0 + +Class QTextFragment + size=16 align=8 + base size=16 base align=8 +QTextFragment (0x0x7f76129f0540) 0 + +Class QSyntaxHighlighter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSyntaxHighlighter::QPrivateSignal (0x0x7f7611e0ed20) 0 empty + +Vtable for QSyntaxHighlighter +QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QSyntaxHighlighter) +16 (int (*)(...))QSyntaxHighlighter::metaObject +24 (int (*)(...))QSyntaxHighlighter::qt_metacast +32 (int (*)(...))QSyntaxHighlighter::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QSyntaxHighlighter + size=16 align=8 + base size=16 base align=8 +QSyntaxHighlighter (0x0x7f7611eb2478) 0 + vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16) + QObject (0x0x7f7611e0ecc0) 0 + primary-for QSyntaxHighlighter (0x0x7f7611eb2478) + +Class QTextDocumentFragment + size=8 align=8 + base size=8 base align=8 +QTextDocumentFragment (0x0x7f7611e0ef00) 0 + +Class QTextDocumentWriter + size=8 align=8 + base size=8 base align=8 +QTextDocumentWriter (0x0x7f7611e0ef60) 0 + +Class QTextList::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextList::QPrivateSignal (0x0x7f7611cab060) 0 empty + +Vtable for QTextList +QTextList::_ZTV9QTextList: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTextList) +16 (int (*)(...))QTextList::metaObject +24 (int (*)(...))QTextList::qt_metacast +32 (int (*)(...))QTextList::qt_metacall +40 (int (*)(...))QTextList::~QTextList +48 (int (*)(...))QTextList::~QTextList +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTextBlockGroup::blockInserted +120 (int (*)(...))QTextBlockGroup::blockRemoved +128 (int (*)(...))QTextBlockGroup::blockFormatChanged + +Class QTextList + size=16 align=8 + base size=16 base align=8 +QTextList (0x0x7f7611eb24e0) 0 + vptr=((& QTextList::_ZTV9QTextList) + 16) + QTextBlockGroup (0x0x7f7611eb2548) 0 + primary-for QTextList (0x0x7f7611eb24e0) + QTextObject (0x0x7f7611eb25b0) 0 + primary-for QTextBlockGroup (0x0x7f7611eb2548) + QObject (0x0x7f7611cab000) 0 + primary-for QTextObject (0x0x7f7611eb25b0) + +Class QTextTableCell + size=16 align=8 + base size=12 base align=8 +QTextTableCell (0x0x7f7611cab660) 0 + +Class QTextTable::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextTable::QPrivateSignal (0x0x7f7611cabea0) 0 empty + +Vtable for QTextTable +QTextTable::_ZTV10QTextTable: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTextTable) +16 (int (*)(...))QTextTable::metaObject +24 (int (*)(...))QTextTable::qt_metacast +32 (int (*)(...))QTextTable::qt_metacall +40 (int (*)(...))QTextTable::~QTextTable +48 (int (*)(...))QTextTable::~QTextTable +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTextTable + size=16 align=8 + base size=16 base align=8 +QTextTable (0x0x7f7611eb2618) 0 + vptr=((& QTextTable::_ZTV10QTextTable) + 16) + QTextFrame (0x0x7f7611eb2680) 0 + primary-for QTextTable (0x0x7f7611eb2618) + QTextObject (0x0x7f7611eb26e8) 0 + primary-for QTextFrame (0x0x7f7611eb2680) + QObject (0x0x7f7611cabe40) 0 + primary-for QTextObject (0x0x7f7611eb26e8) + +Class QValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QValidator::QPrivateSignal (0x0x7f76116b4480) 0 empty + +Vtable for QValidator +QValidator::_ZTV10QValidator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QValidator) +16 (int (*)(...))QValidator::metaObject +24 (int (*)(...))QValidator::qt_metacast +32 (int (*)(...))QValidator::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))QValidator::fixup + +Class QValidator + size=16 align=8 + base size=16 base align=8 +QValidator (0x0x7f7611eb2750) 0 + vptr=((& QValidator::_ZTV10QValidator) + 16) + QObject (0x0x7f76116b4420) 0 + primary-for QValidator (0x0x7f7611eb2750) + +Class QIntValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIntValidator::QPrivateSignal (0x0x7f76116b4780) 0 empty + +Vtable for QIntValidator +QIntValidator::_ZTV13QIntValidator: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QIntValidator) +16 (int (*)(...))QIntValidator::metaObject +24 (int (*)(...))QIntValidator::qt_metacast +32 (int (*)(...))QIntValidator::qt_metacall +40 (int (*)(...))QIntValidator::~QIntValidator +48 (int (*)(...))QIntValidator::~QIntValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIntValidator::validate +120 (int (*)(...))QIntValidator::fixup +128 (int (*)(...))QIntValidator::setRange + +Class QIntValidator + size=24 align=8 + base size=24 base align=8 +QIntValidator (0x0x7f7611eb27b8) 0 + vptr=((& QIntValidator::_ZTV13QIntValidator) + 16) + QValidator (0x0x7f7611eb2820) 0 + primary-for QIntValidator (0x0x7f7611eb27b8) + QObject (0x0x7f76116b4720) 0 + primary-for QValidator (0x0x7f7611eb2820) + +Class QDoubleValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDoubleValidator::QPrivateSignal (0x0x7f76116b49c0) 0 empty + +Vtable for QDoubleValidator +QDoubleValidator::_ZTV16QDoubleValidator: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QDoubleValidator) +16 (int (*)(...))QDoubleValidator::metaObject +24 (int (*)(...))QDoubleValidator::qt_metacast +32 (int (*)(...))QDoubleValidator::qt_metacall +40 (int (*)(...))QDoubleValidator::~QDoubleValidator +48 (int (*)(...))QDoubleValidator::~QDoubleValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDoubleValidator::validate +120 (int (*)(...))QValidator::fixup +128 (int (*)(...))QDoubleValidator::setRange + +Class QDoubleValidator + size=40 align=8 + base size=36 base align=8 +QDoubleValidator (0x0x7f7611eb2888) 0 + vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16) + QValidator (0x0x7f7611eb28f0) 0 + primary-for QDoubleValidator (0x0x7f7611eb2888) + QObject (0x0x7f76116b4960) 0 + primary-for QValidator (0x0x7f7611eb28f0) + +Class QRegExpValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRegExpValidator::QPrivateSignal (0x0x7f76116b4e40) 0 empty + +Vtable for QRegExpValidator +QRegExpValidator::_ZTV16QRegExpValidator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QRegExpValidator) +16 (int (*)(...))QRegExpValidator::metaObject +24 (int (*)(...))QRegExpValidator::qt_metacast +32 (int (*)(...))QRegExpValidator::qt_metacall +40 (int (*)(...))QRegExpValidator::~QRegExpValidator +48 (int (*)(...))QRegExpValidator::~QRegExpValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QRegExpValidator::validate +120 (int (*)(...))QValidator::fixup + +Class QRegExpValidator + size=24 align=8 + base size=24 base align=8 +QRegExpValidator (0x0x7f7611eb2958) 0 + vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16) + QValidator (0x0x7f7611eb29c0) 0 + primary-for QRegExpValidator (0x0x7f7611eb2958) + QObject (0x0x7f76116b4de0) 0 + primary-for QValidator (0x0x7f7611eb29c0) + +Class QRegularExpressionValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRegularExpressionValidator::QPrivateSignal (0x0x7f7610c70060) 0 empty + +Vtable for QRegularExpressionValidator +QRegularExpressionValidator::_ZTV27QRegularExpressionValidator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QRegularExpressionValidator) +16 (int (*)(...))QRegularExpressionValidator::metaObject +24 (int (*)(...))QRegularExpressionValidator::qt_metacast +32 (int (*)(...))QRegularExpressionValidator::qt_metacall +40 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator +48 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QRegularExpressionValidator::validate +120 (int (*)(...))QValidator::fixup + +Class QRegularExpressionValidator + size=16 align=8 + base size=16 base align=8 +QRegularExpressionValidator (0x0x7f7611eb2a28) 0 + vptr=((& QRegularExpressionValidator::_ZTV27QRegularExpressionValidator) + 16) + QValidator (0x0x7f7611eb2a90) 0 + primary-for QRegularExpressionValidator (0x0x7f7611eb2a28) + QObject (0x0x7f7610c70000) 0 + primary-for QValidator (0x0x7f7611eb2a90) + +Class QSizePolicy::Bits + size=4 align=4 + base size=4 base align=4 +QSizePolicy::Bits (0x0x7f7610c702a0) 0 + +Class QSizePolicy + size=4 align=4 + base size=4 base align=4 +QSizePolicy (0x0x7f7610c70240) 0 + +Class QWidgetData + size=88 align=8 + base size=88 base align=8 +QWidgetData (0x0x7f7610606f00) 0 + +Class QWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWidget::QPrivateSignal (0x0x7f7610612060) 0 empty + +Vtable for QWidget +QWidget::_ZTV7QWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QWidget) +16 (int (*)(...))QWidget::metaObject +24 (int (*)(...))QWidget::qt_metacast +32 (int (*)(...))QWidget::qt_metacall +40 (int (*)(...))QWidget::~QWidget +48 (int (*)(...))QWidget::~QWidget +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI7QWidget) +448 (int (*)(...))QWidget::_ZThn16_N7QWidgetD1Ev +456 (int (*)(...))QWidget::_ZThn16_N7QWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QWidget + size=48 align=8 + base size=48 base align=8 +QWidget (0x0x7f7617c96230) 0 + vptr=((& QWidget::_ZTV7QWidget) + 16) + QObject (0x0x7f7610606f60) 0 + primary-for QWidget (0x0x7f7617c96230) + QPaintDevice (0x0x7f7610612000) 16 + vptr=((& QWidget::_ZTV7QWidget) + 448) + +Class QAbstractButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractButton::QPrivateSignal (0x0x7f761065e9c0) 0 empty + +Vtable for QAbstractButton +QAbstractButton::_ZTV15QAbstractButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAbstractButton) +16 (int (*)(...))QAbstractButton::metaObject +24 (int (*)(...))QAbstractButton::qt_metacast +32 (int (*)(...))QAbstractButton::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI15QAbstractButton) +472 0 +480 0 +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractButton + size=48 align=8 + base size=48 base align=8 +QAbstractButton (0x0x7f7610608ea0) 0 + vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16) + QWidget (0x0x7f7617cdcd90) 0 + primary-for QAbstractButton (0x0x7f7610608ea0) + QObject (0x0x7f761065e900) 0 + primary-for QWidget (0x0x7f7617cdcd90) + QPaintDevice (0x0x7f761065e960) 16 + vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 472) + +Class QAbstractSpinBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractSpinBox::QPrivateSignal (0x0x7f761065ec60) 0 empty + +Vtable for QAbstractSpinBox +QAbstractSpinBox::_ZTV16QAbstractSpinBox: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QAbstractSpinBox) +16 (int (*)(...))QAbstractSpinBox::metaObject +24 (int (*)(...))QAbstractSpinBox::qt_metacast +32 (int (*)(...))QAbstractSpinBox::qt_metacall +40 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox +48 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox +56 (int (*)(...))QAbstractSpinBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractSpinBox::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractSpinBox::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QAbstractSpinBox::wheelEvent +208 (int (*)(...))QAbstractSpinBox::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QAbstractSpinBox::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractSpinBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractSpinBox::validate +440 (int (*)(...))QAbstractSpinBox::fixup +448 (int (*)(...))QAbstractSpinBox::stepBy +456 (int (*)(...))QAbstractSpinBox::clear +464 (int (*)(...))QAbstractSpinBox::stepEnabled +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI16QAbstractSpinBox) +488 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev +496 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractSpinBox + size=48 align=8 + base size=48 base align=8 +QAbstractSpinBox (0x0x7f7610608f08) 0 + vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16) + QWidget (0x0x7f7617d1b000) 0 + primary-for QAbstractSpinBox (0x0x7f7610608f08) + QObject (0x0x7f761065eba0) 0 + primary-for QWidget (0x0x7f7617d1b000) + QPaintDevice (0x0x7f761065ec00) 16 + vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 488) + +Class QAbstractSlider::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractSlider::QPrivateSignal (0x0x7f7610681840) 0 empty + +Vtable for QAbstractSlider +QAbstractSlider::_ZTV15QAbstractSlider: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAbstractSlider) +16 (int (*)(...))QAbstractSlider::metaObject +24 (int (*)(...))QAbstractSlider::qt_metacast +32 (int (*)(...))QAbstractSlider::qt_metacall +40 (int (*)(...))QAbstractSlider::~QAbstractSlider +48 (int (*)(...))QAbstractSlider::~QAbstractSlider +56 (int (*)(...))QAbstractSlider::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QAbstractSlider::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractSlider::sliderChange +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI15QAbstractSlider) +456 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev +464 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractSlider + size=48 align=8 + base size=48 base align=8 +QAbstractSlider (0x0x7f7610683068) 0 + vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16) + QWidget (0x0x7f7617d1be00) 0 + primary-for QAbstractSlider (0x0x7f7610683068) + QObject (0x0x7f7610681780) 0 + primary-for QWidget (0x0x7f7617d1be00) + QPaintDevice (0x0x7f76106817e0) 16 + vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 456) + +Class QSlider::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSlider::QPrivateSignal (0x0x7f7610681ae0) 0 empty + +Vtable for QSlider +QSlider::_ZTV7QSlider: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QSlider) +16 (int (*)(...))QSlider::metaObject +24 (int (*)(...))QSlider::qt_metacast +32 (int (*)(...))QSlider::qt_metacall +40 (int (*)(...))QSlider::~QSlider +48 (int (*)(...))QSlider::~QSlider +56 (int (*)(...))QSlider::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QSlider::sizeHint +136 (int (*)(...))QSlider::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSlider::mousePressEvent +176 (int (*)(...))QSlider::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QSlider::mouseMoveEvent +200 (int (*)(...))QAbstractSlider::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QSlider::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractSlider::sliderChange +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI7QSlider) +456 (int (*)(...))QSlider::_ZThn16_N7QSliderD1Ev +464 (int (*)(...))QSlider::_ZThn16_N7QSliderD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSlider + size=48 align=8 + base size=48 base align=8 +QSlider (0x0x7f76106830d0) 0 + vptr=((& QSlider::_ZTV7QSlider) + 16) + QAbstractSlider (0x0x7f7610683138) 0 + primary-for QSlider (0x0x7f76106830d0) + QWidget (0x0x7f7617d4eaf0) 0 + primary-for QAbstractSlider (0x0x7f7610683138) + QObject (0x0x7f7610681a20) 0 + primary-for QWidget (0x0x7f7617d4eaf0) + QPaintDevice (0x0x7f7610681a80) 16 + vptr=((& QSlider::_ZTV7QSlider) + 456) + +Class QStyle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStyle::QPrivateSignal (0x0x7f7610681de0) 0 empty + +Vtable for QStyle +QStyle::_ZTV6QStyle: 37 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QStyle) +16 (int (*)(...))QStyle::metaObject +24 (int (*)(...))QStyle::qt_metacast +32 (int (*)(...))QStyle::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStyle::polish +120 (int (*)(...))QStyle::unpolish +128 (int (*)(...))QStyle::polish +136 (int (*)(...))QStyle::unpolish +144 (int (*)(...))QStyle::polish +152 (int (*)(...))QStyle::itemTextRect +160 (int (*)(...))QStyle::itemPixmapRect +168 (int (*)(...))QStyle::drawItemText +176 (int (*)(...))QStyle::drawItemPixmap +184 (int (*)(...))QStyle::standardPalette +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))__cxa_pure_virtual +232 (int (*)(...))__cxa_pure_virtual +240 (int (*)(...))__cxa_pure_virtual +248 (int (*)(...))__cxa_pure_virtual +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))__cxa_pure_virtual +272 (int (*)(...))__cxa_pure_virtual +280 (int (*)(...))__cxa_pure_virtual +288 (int (*)(...))__cxa_pure_virtual + +Class QStyle + size=16 align=8 + base size=16 base align=8 +QStyle (0x0x7f7610683208) 0 + vptr=((& QStyle::_ZTV6QStyle) + 16) + QObject (0x0x7f7610681d80) 0 + primary-for QStyle (0x0x7f7610683208) + +Class QTabBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTabBar::QPrivateSignal (0x0x7f76106cc6c0) 0 empty + +Vtable for QTabBar +QTabBar::_ZTV7QTabBar: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QTabBar) +16 (int (*)(...))QTabBar::metaObject +24 (int (*)(...))QTabBar::qt_metacast +32 (int (*)(...))QTabBar::qt_metacall +40 (int (*)(...))QTabBar::~QTabBar +48 (int (*)(...))QTabBar::~QTabBar +56 (int (*)(...))QTabBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTabBar::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QTabBar::sizeHint +136 (int (*)(...))QTabBar::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTabBar::mousePressEvent +176 (int (*)(...))QTabBar::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QTabBar::mouseMoveEvent +200 (int (*)(...))QTabBar::wheelEvent +208 (int (*)(...))QTabBar::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTabBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTabBar::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QTabBar::showEvent +352 (int (*)(...))QTabBar::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTabBar::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QTabBar::tabSizeHint +440 (int (*)(...))QTabBar::minimumTabSizeHint +448 (int (*)(...))QTabBar::tabInserted +456 (int (*)(...))QTabBar::tabRemoved +464 (int (*)(...))QTabBar::tabLayoutChange +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI7QTabBar) +488 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD1Ev +496 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTabBar + size=48 align=8 + base size=48 base align=8 +QTabBar (0x0x7f7610683410) 0 + vptr=((& QTabBar::_ZTV7QTabBar) + 16) + QWidget (0x0x7f761734da10) 0 + primary-for QTabBar (0x0x7f7610683410) + QObject (0x0x7f76106cc600) 0 + primary-for QWidget (0x0x7f761734da10) + QPaintDevice (0x0x7f76106cc660) 16 + vptr=((& QTabBar::_ZTV7QTabBar) + 488) + +Class QTabWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTabWidget::QPrivateSignal (0x0x7f76106cca20) 0 empty + +Vtable for QTabWidget +QTabWidget::_ZTV10QTabWidget: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTabWidget) +16 (int (*)(...))QTabWidget::metaObject +24 (int (*)(...))QTabWidget::qt_metacast +32 (int (*)(...))QTabWidget::qt_metacall +40 (int (*)(...))QTabWidget::~QTabWidget +48 (int (*)(...))QTabWidget::~QTabWidget +56 (int (*)(...))QTabWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QTabWidget::sizeHint +136 (int (*)(...))QTabWidget::minimumSizeHint +144 (int (*)(...))QTabWidget::heightForWidth +152 (int (*)(...))QTabWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QTabWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTabWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTabWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QTabWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTabWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QTabWidget::tabInserted +440 (int (*)(...))QTabWidget::tabRemoved +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI10QTabWidget) +464 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD1Ev +472 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTabWidget + size=48 align=8 + base size=48 base align=8 +QTabWidget (0x0x7f7610683478) 0 + vptr=((& QTabWidget::_ZTV10QTabWidget) + 16) + QWidget (0x0x7f7617388070) 0 + primary-for QTabWidget (0x0x7f7610683478) + QObject (0x0x7f76106cc960) 0 + primary-for QWidget (0x0x7f7617388070) + QPaintDevice (0x0x7f76106cc9c0) 16 + vptr=((& QTabWidget::_ZTV10QTabWidget) + 464) + +Class QRubberBand::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRubberBand::QPrivateSignal (0x0x7f76106cce40) 0 empty + +Vtable for QRubberBand +QRubberBand::_ZTV11QRubberBand: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QRubberBand) +16 (int (*)(...))QRubberBand::metaObject +24 (int (*)(...))QRubberBand::qt_metacast +32 (int (*)(...))QRubberBand::qt_metacall +40 (int (*)(...))QRubberBand::~QRubberBand +48 (int (*)(...))QRubberBand::~QRubberBand +56 (int (*)(...))QRubberBand::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QRubberBand::paintEvent +264 (int (*)(...))QRubberBand::moveEvent +272 (int (*)(...))QRubberBand::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QRubberBand::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QRubberBand::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI11QRubberBand) +448 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD1Ev +456 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QRubberBand + size=48 align=8 + base size=48 base align=8 +QRubberBand (0x0x7f76106834e0) 0 + vptr=((& QRubberBand::_ZTV11QRubberBand) + 16) + QWidget (0x0x7f7617388460) 0 + primary-for QRubberBand (0x0x7f76106834e0) + QObject (0x0x7f76106ccd80) 0 + primary-for QWidget (0x0x7f7617388460) + QPaintDevice (0x0x7f76106ccde0) 16 + vptr=((& QRubberBand::_ZTV11QRubberBand) + 448) + +Class QFrame::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFrame::QPrivateSignal (0x0x7f7610700300) 0 empty + +Vtable for QFrame +QFrame::_ZTV6QFrame: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QFrame) +16 (int (*)(...))QFrame::metaObject +24 (int (*)(...))QFrame::qt_metacast +32 (int (*)(...))QFrame::qt_metacall +40 (int (*)(...))QFrame::~QFrame +48 (int (*)(...))QFrame::~QFrame +56 (int (*)(...))QFrame::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFrame::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI6QFrame) +448 (int (*)(...))QFrame::_ZThn16_N6QFrameD1Ev +456 (int (*)(...))QFrame::_ZThn16_N6QFrameD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFrame + size=48 align=8 + base size=48 base align=8 +QFrame (0x0x7f7610683548) 0 + vptr=((& QFrame::_ZTV6QFrame) + 16) + QWidget (0x0x7f7617388690) 0 + primary-for QFrame (0x0x7f7610683548) + QObject (0x0x7f7610700240) 0 + primary-for QWidget (0x0x7f7617388690) + QPaintDevice (0x0x7f76107002a0) 16 + vptr=((& QFrame::_ZTV6QFrame) + 448) + +Class QStyleOption + size=64 align=8 + base size=64 base align=8 +QStyleOption (0x0x7f7610700660) 0 + +Class QStyleOptionFocusRect + size=80 align=8 + base size=80 base align=8 +QStyleOptionFocusRect (0x0x7f76106835b0) 0 + QStyleOption (0x0x7f7610700720) 0 + +Class QStyleOptionFrame + size=80 align=8 + base size=80 base align=8 +QStyleOptionFrame (0x0x7f7610683618) 0 + QStyleOption (0x0x7f7610700960) 0 + +Class QStyleOptionTabWidgetFrame + size=136 align=8 + base size=132 base align=8 +QStyleOptionTabWidgetFrame (0x0x7f7610683750) 0 + QStyleOption (0x0x7f76107272a0) 0 + +Class QStyleOptionTabBarBase + size=104 align=8 + base size=101 base align=8 +QStyleOptionTabBarBase (0x0x7f76106837b8) 0 + QStyleOption (0x0x7f76107274e0) 0 + +Class QStyleOptionHeader + size=120 align=8 + base size=116 base align=8 +QStyleOptionHeader (0x0x7f7610683820) 0 + QStyleOption (0x0x7f7610727780) 0 + +Class QStyleOptionButton + size=96 align=8 + base size=96 base align=8 +QStyleOptionButton (0x0x7f7610683888) 0 + QStyleOption (0x0x7f76107279c0) 0 + +Class QStyleOptionTab + size=136 align=8 + base size=136 base align=8 +QStyleOptionTab (0x0x7f76106839c0) 0 + QStyleOption (0x0x7f7610748300) 0 + +Class QStyleOptionToolBar + size=88 align=8 + base size=88 base align=8 +QStyleOptionToolBar (0x0x7f7610683bc8) 0 + QStyleOption (0x0x7f7610748d80) 0 + +Class QStyleOptionProgressBar + size=104 align=8 + base size=102 base align=8 +QStyleOptionProgressBar (0x0x7f7610683d00) 0 + QStyleOption (0x0x7f761077b6c0) 0 + +Class QStyleOptionMenuItem + size=136 align=8 + base size=136 base align=8 +QStyleOptionMenuItem (0x0x7f7610683d68) 0 + QStyleOption (0x0x7f761077b900) 0 + +Class QStyleOptionDockWidget + size=80 align=8 + base size=76 base align=8 +QStyleOptionDockWidget (0x0x7f7610683dd0) 0 + QStyleOption (0x0x7f761077bb40) 0 + +Class QStyleOptionViewItem + size=192 align=8 + base size=192 base align=8 +QStyleOptionViewItem (0x0x7f7610683ea0) 0 + QStyleOption (0x0x7f761077bd80) 0 + +Class QStyleOptionToolBox + size=88 align=8 + base size=88 base align=8 +QStyleOptionToolBox (0x0x7f76107a4000) 0 + QStyleOption (0x0x7f761079e6c0) 0 + +Class QStyleOptionRubberBand + size=72 align=8 + base size=69 base align=8 +QStyleOptionRubberBand (0x0x7f76107a4068) 0 + QStyleOption (0x0x7f761079e900) 0 + +Class QStyleOptionComplex + size=72 align=8 + base size=72 base align=8 +QStyleOptionComplex (0x0x7f76107a40d0) 0 + QStyleOption (0x0x7f761079eb40) 0 + +Class QStyleOptionSlider + size=128 align=8 + base size=121 base align=8 +QStyleOptionSlider (0x0x7f76107a4138) 0 + QStyleOptionComplex (0x0x7f76107a41a0) 0 + QStyleOption (0x0x7f761079ed80) 0 + +Class QStyleOptionSpinBox + size=88 align=8 + base size=81 base align=8 +QStyleOptionSpinBox (0x0x7f76107a4208) 0 + QStyleOptionComplex (0x0x7f76107a4270) 0 + QStyleOption (0x0x7f76107b7180) 0 + +Class QStyleOptionToolButton + size=136 align=8 + base size=136 base align=8 +QStyleOptionToolButton (0x0x7f76107a42d8) 0 + QStyleOptionComplex (0x0x7f76107a4340) 0 + QStyleOption (0x0x7f76107b73c0) 0 + +Class QStyleOptionComboBox + size=120 align=8 + base size=120 base align=8 +QStyleOptionComboBox (0x0x7f76107a4478) 0 + QStyleOptionComplex (0x0x7f76107a44e0) 0 + QStyleOption (0x0x7f76107b7cc0) 0 + +Class QStyleOptionTitleBar + size=96 align=8 + base size=96 base align=8 +QStyleOptionTitleBar (0x0x7f76107a4548) 0 + QStyleOptionComplex (0x0x7f76107a45b0) 0 + QStyleOption (0x0x7f76107b7f00) 0 + +Class QStyleOptionGroupBox + size=120 align=8 + base size=116 base align=8 +QStyleOptionGroupBox (0x0x7f76107a4618) 0 + QStyleOptionComplex (0x0x7f76107a4680) 0 + QStyleOption (0x0x7f76107d91e0) 0 + +Class QStyleOptionSizeGrip + size=80 align=8 + base size=76 base align=8 +QStyleOptionSizeGrip (0x0x7f76107a46e8) 0 + QStyleOptionComplex (0x0x7f76107a4750) 0 + QStyleOption (0x0x7f76107d9420) 0 + +Class QStyleOptionGraphicsItem + size=152 align=8 + base size=152 base align=8 +QStyleOptionGraphicsItem (0x0x7f76107a47b8) 0 + QStyleOption (0x0x7f76107d9660) 0 + +Class QStyleHintReturn + size=8 align=4 + base size=8 base align=4 +QStyleHintReturn (0x0x7f76107d9de0) 0 + +Class QStyleHintReturnMask + size=16 align=8 + base size=16 base align=8 +QStyleHintReturnMask (0x0x7f76107a4d68) 0 + QStyleHintReturn (0x0x7f76107d9e40) 0 + +Class QStyleHintReturnVariant + size=24 align=8 + base size=24 base align=8 +QStyleHintReturnVariant (0x0x7f76107a4dd0) 0 + QStyleHintReturn (0x0x7f76107d9ea0) 0 + +Class QAbstractItemDelegate::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemDelegate::QPrivateSignal (0x0x7f76103f14e0) 0 empty + +Vtable for QAbstractItemDelegate +QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QAbstractItemDelegate) +16 (int (*)(...))QAbstractItemDelegate::metaObject +24 (int (*)(...))QAbstractItemDelegate::qt_metacast +32 (int (*)(...))QAbstractItemDelegate::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractItemDelegate::createEditor +136 (int (*)(...))QAbstractItemDelegate::destroyEditor +144 (int (*)(...))QAbstractItemDelegate::setEditorData +152 (int (*)(...))QAbstractItemDelegate::setModelData +160 (int (*)(...))QAbstractItemDelegate::updateEditorGeometry +168 (int (*)(...))QAbstractItemDelegate::editorEvent +176 (int (*)(...))QAbstractItemDelegate::helpEvent +184 (int (*)(...))QAbstractItemDelegate::paintingRoles + +Class QAbstractItemDelegate + size=16 align=8 + base size=16 base align=8 +QAbstractItemDelegate (0x0x7f76103f3340) 0 + vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16) + QObject (0x0x7f76103f1480) 0 + primary-for QAbstractItemDelegate (0x0x7f76103f3340) + +Class QAbstractScrollArea::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractScrollArea::QPrivateSignal (0x0x7f76103f17e0) 0 empty + +Vtable for QAbstractScrollArea +QAbstractScrollArea::_ZTV19QAbstractScrollArea: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractScrollArea) +16 (int (*)(...))QAbstractScrollArea::metaObject +24 (int (*)(...))QAbstractScrollArea::qt_metacast +32 (int (*)(...))QAbstractScrollArea::qt_metacall +40 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea +48 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea +56 (int (*)(...))QAbstractScrollArea::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractScrollArea::mousePressEvent +176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent +184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent +192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractScrollArea::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractScrollArea::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractScrollArea::dragEnterEvent +320 (int (*)(...))QAbstractScrollArea::dragMoveEvent +328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent +336 (int (*)(...))QAbstractScrollArea::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QAbstractScrollArea::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI19QAbstractScrollArea) +480 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev +488 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractScrollArea + size=48 align=8 + base size=48 base align=8 +QAbstractScrollArea (0x0x7f76103f33a8) 0 + vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16) + QFrame (0x0x7f76103f3410) 0 + primary-for QAbstractScrollArea (0x0x7f76103f33a8) + QWidget (0x0x7f7616b83380) 0 + primary-for QFrame (0x0x7f76103f3410) + QObject (0x0x7f76103f1720) 0 + primary-for QWidget (0x0x7f7616b83380) + QPaintDevice (0x0x7f76103f1780) 16 + vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480) + +Class QAbstractItemView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemView::QPrivateSignal (0x0x7f76103f1b40) 0 empty + +Vtable for QAbstractItemView +QAbstractItemView::_ZTV17QAbstractItemView: 106 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAbstractItemView) +16 (int (*)(...))QAbstractItemView::metaObject +24 (int (*)(...))QAbstractItemView::qt_metacast +32 (int (*)(...))QAbstractItemView::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QAbstractItemView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QAbstractScrollArea::scrollContentsBy +456 (int (*)(...))QAbstractItemView::viewportSizeHint +464 (int (*)(...))QAbstractItemView::setModel +472 (int (*)(...))QAbstractItemView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))__cxa_pure_virtual +496 (int (*)(...))__cxa_pure_virtual +504 (int (*)(...))__cxa_pure_virtual +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QAbstractItemView::reset +536 (int (*)(...))QAbstractItemView::setRootIndex +544 (int (*)(...))QAbstractItemView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QAbstractItemView::dataChanged +568 (int (*)(...))QAbstractItemView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QAbstractItemView::selectionChanged +592 (int (*)(...))QAbstractItemView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QAbstractItemView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))__cxa_pure_virtual +688 (int (*)(...))__cxa_pure_virtual +696 (int (*)(...))__cxa_pure_virtual +704 (int (*)(...))__cxa_pure_virtual +712 (int (*)(...))__cxa_pure_virtual +720 (int (*)(...))__cxa_pure_virtual +728 (int (*)(...))QAbstractItemView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))-16 +776 (int (*)(...))(& _ZTI17QAbstractItemView) +784 0 +792 0 +800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractItemView + size=48 align=8 + base size=48 base align=8 +QAbstractItemView (0x0x7f76103f3478) 0 + vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16) + QAbstractScrollArea (0x0x7f76103f34e0) 0 + primary-for QAbstractItemView (0x0x7f76103f3478) + QFrame (0x0x7f76103f3548) 0 + primary-for QAbstractScrollArea (0x0x7f76103f34e0) + QWidget (0x0x7f7616b835b0) 0 + primary-for QFrame (0x0x7f76103f3548) + QObject (0x0x7f76103f1a80) 0 + primary-for QWidget (0x0x7f7616b835b0) + QPaintDevice (0x0x7f76103f1ae0) 16 + vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784) + +Vtable for QAccessibleWidget +QAccessibleWidget::_ZTV17QAccessibleWidget: 35 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessibleWidget) +16 (int (*)(...))QAccessibleWidget::~QAccessibleWidget +24 (int (*)(...))QAccessibleWidget::~QAccessibleWidget +32 (int (*)(...))QAccessibleWidget::isValid +40 (int (*)(...))QAccessibleObject::object +48 (int (*)(...))QAccessibleWidget::window +56 (int (*)(...))QAccessibleWidget::relations +64 (int (*)(...))QAccessibleWidget::focusChild +72 (int (*)(...))QAccessibleObject::childAt +80 (int (*)(...))QAccessibleWidget::parent +88 (int (*)(...))QAccessibleWidget::child +96 (int (*)(...))QAccessibleWidget::childCount +104 (int (*)(...))QAccessibleWidget::indexOfChild +112 (int (*)(...))QAccessibleWidget::text +120 (int (*)(...))QAccessibleObject::setText +128 (int (*)(...))QAccessibleWidget::rect +136 (int (*)(...))QAccessibleWidget::role +144 (int (*)(...))QAccessibleWidget::state +152 (int (*)(...))QAccessibleWidget::foregroundColor +160 (int (*)(...))QAccessibleWidget::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleWidget::interface_cast +184 (int (*)(...))QAccessibleWidget::actionNames +192 (int (*)(...))QAccessibleWidget::doAction +200 (int (*)(...))QAccessibleWidget::keyBindingsForAction +208 (int (*)(...))-16 +216 (int (*)(...))(& _ZTI17QAccessibleWidget) +224 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD1Ev +232 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD0Ev +240 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget11actionNamesEv +248 (int (*)(...))QAccessibleActionInterface::localizedActionName +256 (int (*)(...))QAccessibleActionInterface::localizedActionDescription +264 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidget8doActionERK7QString +272 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget20keyBindingsForActionERK7QString + +Class QAccessibleWidget + size=32 align=8 + base size=32 base align=8 +QAccessibleWidget (0x0x7f7616bfb850) 0 + vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16) + QAccessibleObject (0x0x7f76103f3680) 0 + primary-for QAccessibleWidget (0x0x7f7616bfb850) + QAccessibleInterface (0x0x7f76104338a0) 0 nearly-empty + primary-for QAccessibleObject (0x0x7f76103f3680) + QAccessibleActionInterface (0x0x7f7610433900) 16 nearly-empty + vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 224) + +Class QAction::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAction::QPrivateSignal (0x0x7f7610433a20) 0 empty + +Vtable for QAction +QAction::_ZTV7QAction: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QAction) +16 (int (*)(...))QAction::metaObject +24 (int (*)(...))QAction::qt_metacast +32 (int (*)(...))QAction::qt_metacall +40 (int (*)(...))QAction::~QAction +48 (int (*)(...))QAction::~QAction +56 (int (*)(...))QAction::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QAction + size=16 align=8 + base size=16 base align=8 +QAction (0x0x7f76103f36e8) 0 + vptr=((& QAction::_ZTV7QAction) + 16) + QObject (0x0x7f76104339c0) 0 + primary-for QAction (0x0x7f76103f36e8) + +Class QActionGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QActionGroup::QPrivateSignal (0x0x7f7610433f00) 0 empty + +Vtable for QActionGroup +QActionGroup::_ZTV12QActionGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QActionGroup) +16 (int (*)(...))QActionGroup::metaObject +24 (int (*)(...))QActionGroup::qt_metacast +32 (int (*)(...))QActionGroup::qt_metacall +40 (int (*)(...))QActionGroup::~QActionGroup +48 (int (*)(...))QActionGroup::~QActionGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QActionGroup + size=16 align=8 + base size=16 base align=8 +QActionGroup (0x0x7f76103f3750) 0 + vptr=((& QActionGroup::_ZTV12QActionGroup) + 16) + QObject (0x0x7f7610433ea0) 0 + primary-for QActionGroup (0x0x7f76103f3750) + +Class QApplication::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QApplication::QPrivateSignal (0x0x7f761045e2a0) 0 empty + +Vtable for QApplication +QApplication::_ZTV12QApplication: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QApplication) +16 (int (*)(...))QApplication::metaObject +24 (int (*)(...))QApplication::qt_metacast +32 (int (*)(...))QApplication::qt_metacall +40 (int (*)(...))QApplication::~QApplication +48 (int (*)(...))QApplication::~QApplication +56 (int (*)(...))QApplication::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QApplication::notify +120 (int (*)(...))QApplication::compressEvent + +Class QApplication + size=16 align=8 + base size=16 base align=8 +QApplication (0x0x7f76103f37b8) 0 + vptr=((& QApplication::_ZTV12QApplication) + 16) + QGuiApplication (0x0x7f76103f3820) 0 + primary-for QApplication (0x0x7f76103f37b8) + QCoreApplication (0x0x7f76103f3888) 0 + primary-for QGuiApplication (0x0x7f76103f3820) + QObject (0x0x7f761045e240) 0 + primary-for QCoreApplication (0x0x7f76103f3888) + +Vtable for QLayoutItem +QLayoutItem::_ZTV11QLayoutItem: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QLayoutItem) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))QLayoutItem::hasHeightForWidth +96 (int (*)(...))QLayoutItem::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QLayoutItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QLayoutItem::spacerItem +144 (int (*)(...))QLayoutItem::controlTypes + +Class QLayoutItem + size=16 align=8 + base size=12 base align=8 +QLayoutItem (0x0x7f761045e540) 0 + vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16) + +Vtable for QSpacerItem +QSpacerItem::_ZTV11QSpacerItem: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QSpacerItem) +16 (int (*)(...))QSpacerItem::~QSpacerItem +24 (int (*)(...))QSpacerItem::~QSpacerItem +32 (int (*)(...))QSpacerItem::sizeHint +40 (int (*)(...))QSpacerItem::minimumSize +48 (int (*)(...))QSpacerItem::maximumSize +56 (int (*)(...))QSpacerItem::expandingDirections +64 (int (*)(...))QSpacerItem::setGeometry +72 (int (*)(...))QSpacerItem::geometry +80 (int (*)(...))QSpacerItem::isEmpty +88 (int (*)(...))QLayoutItem::hasHeightForWidth +96 (int (*)(...))QLayoutItem::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QLayoutItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QSpacerItem::spacerItem +144 (int (*)(...))QLayoutItem::controlTypes + +Class QSpacerItem + size=40 align=8 + base size=40 base align=8 +QSpacerItem (0x0x7f76103f38f0) 0 + vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16) + QLayoutItem (0x0x7f761045e960) 0 + primary-for QSpacerItem (0x0x7f76103f38f0) + +Vtable for QWidgetItem +QWidgetItem::_ZTV11QWidgetItem: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QWidgetItem) +16 (int (*)(...))QWidgetItem::~QWidgetItem +24 (int (*)(...))QWidgetItem::~QWidgetItem +32 (int (*)(...))QWidgetItem::sizeHint +40 (int (*)(...))QWidgetItem::minimumSize +48 (int (*)(...))QWidgetItem::maximumSize +56 (int (*)(...))QWidgetItem::expandingDirections +64 (int (*)(...))QWidgetItem::setGeometry +72 (int (*)(...))QWidgetItem::geometry +80 (int (*)(...))QWidgetItem::isEmpty +88 (int (*)(...))QWidgetItem::hasHeightForWidth +96 (int (*)(...))QWidgetItem::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QWidgetItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QLayoutItem::spacerItem +144 (int (*)(...))QWidgetItem::controlTypes + +Class QWidgetItem + size=24 align=8 + base size=24 base align=8 +QWidgetItem (0x0x7f76103f3958) 0 + vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16) + QLayoutItem (0x0x7f761045eba0) 0 + primary-for QWidgetItem (0x0x7f76103f3958) + +Vtable for QWidgetItemV2 +QWidgetItemV2::_ZTV13QWidgetItemV2: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QWidgetItemV2) +16 (int (*)(...))QWidgetItemV2::~QWidgetItemV2 +24 (int (*)(...))QWidgetItemV2::~QWidgetItemV2 +32 (int (*)(...))QWidgetItemV2::sizeHint +40 (int (*)(...))QWidgetItemV2::minimumSize +48 (int (*)(...))QWidgetItemV2::maximumSize +56 (int (*)(...))QWidgetItem::expandingDirections +64 (int (*)(...))QWidgetItem::setGeometry +72 (int (*)(...))QWidgetItem::geometry +80 (int (*)(...))QWidgetItem::isEmpty +88 (int (*)(...))QWidgetItem::hasHeightForWidth +96 (int (*)(...))QWidgetItemV2::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QWidgetItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QLayoutItem::spacerItem +144 (int (*)(...))QWidgetItem::controlTypes + +Class QWidgetItemV2 + size=88 align=8 + base size=88 base align=8 +QWidgetItemV2 (0x0x7f76103f39c0) 0 + vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16) + QWidgetItem (0x0x7f76103f3a28) 0 + primary-for QWidgetItemV2 (0x0x7f76103f39c0) + QLayoutItem (0x0x7f761045ed80) 0 + primary-for QWidgetItem (0x0x7f76103f3a28) + +Class QLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLayout::QPrivateSignal (0x0x7f761045ef00) 0 empty + +Vtable for QLayout +QLayout::_ZTV7QLayout: 47 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QLayout) +16 (int (*)(...))QLayout::metaObject +24 (int (*)(...))QLayout::qt_metacast +32 (int (*)(...))QLayout::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))QLayout::expandingDirections +144 (int (*)(...))QLayout::minimumSize +152 (int (*)(...))QLayout::maximumSize +160 (int (*)(...))QLayout::setGeometry +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))-16 +232 (int (*)(...))(& _ZTI7QLayout) +240 0 +248 0 +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))QLayout::_ZThn16_NK7QLayout11minimumSizeEv +272 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv +280 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv +288 (int (*)(...))QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect +296 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +304 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +312 (int (*)(...))QLayoutItem::hasHeightForWidth +320 (int (*)(...))QLayoutItem::heightForWidth +328 (int (*)(...))QLayoutItem::minimumHeightForWidth +336 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv +344 (int (*)(...))QLayoutItem::widget +352 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +360 (int (*)(...))QLayoutItem::spacerItem +368 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QLayout + size=32 align=8 + base size=28 base align=8 +QLayout (0x0x7f76169afe00) 0 + vptr=((& QLayout::_ZTV7QLayout) + 16) + QObject (0x0x7f761045ee40) 0 + primary-for QLayout (0x0x7f76169afe00) + QLayoutItem (0x0x7f761045eea0) 16 + vptr=((& QLayout::_ZTV7QLayout) + 240) + +Class QGridLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGridLayout::QPrivateSignal (0x0x7f761048d480) 0 empty + +Vtable for QGridLayout +QGridLayout::_ZTV11QGridLayout: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QGridLayout) +16 (int (*)(...))QGridLayout::metaObject +24 (int (*)(...))QGridLayout::qt_metacast +32 (int (*)(...))QGridLayout::qt_metacall +40 (int (*)(...))QGridLayout::~QGridLayout +48 (int (*)(...))QGridLayout::~QGridLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGridLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QGridLayout::addItem +136 (int (*)(...))QGridLayout::expandingDirections +144 (int (*)(...))QGridLayout::minimumSize +152 (int (*)(...))QGridLayout::maximumSize +160 (int (*)(...))QGridLayout::setGeometry +168 (int (*)(...))QGridLayout::itemAt +176 (int (*)(...))QGridLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QGridLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QGridLayout::sizeHint +232 (int (*)(...))QGridLayout::hasHeightForWidth +240 (int (*)(...))QGridLayout::heightForWidth +248 (int (*)(...))QGridLayout::minimumHeightForWidth +256 (int (*)(...))-16 +264 (int (*)(...))(& _ZTI11QGridLayout) +272 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD1Ev +280 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD0Ev +288 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv +296 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv +304 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv +312 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv +320 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +344 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv +352 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi +360 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi +368 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout10invalidateEv +376 (int (*)(...))QLayoutItem::widget +384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +392 (int (*)(...))QLayoutItem::spacerItem +400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QGridLayout + size=32 align=8 + base size=28 base align=8 +QGridLayout (0x0x7f76103f3a90) 0 + vptr=((& QGridLayout::_ZTV11QGridLayout) + 16) + QLayout (0x0x7f76169f8540) 0 + primary-for QGridLayout (0x0x7f76103f3a90) + QObject (0x0x7f761048d3c0) 0 + primary-for QLayout (0x0x7f76169f8540) + QLayoutItem (0x0x7f761048d420) 16 + vptr=((& QGridLayout::_ZTV11QGridLayout) + 272) + +Class QBoxLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QBoxLayout::QPrivateSignal (0x0x7f761048d780) 0 empty + +Vtable for QBoxLayout +QBoxLayout::_ZTV10QBoxLayout: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QBoxLayout) +16 (int (*)(...))QBoxLayout::metaObject +24 (int (*)(...))QBoxLayout::qt_metacast +32 (int (*)(...))QBoxLayout::qt_metacall +40 (int (*)(...))QBoxLayout::~QBoxLayout +48 (int (*)(...))QBoxLayout::~QBoxLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QBoxLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QBoxLayout::addItem +136 (int (*)(...))QBoxLayout::expandingDirections +144 (int (*)(...))QBoxLayout::minimumSize +152 (int (*)(...))QBoxLayout::maximumSize +160 (int (*)(...))QBoxLayout::setGeometry +168 (int (*)(...))QBoxLayout::itemAt +176 (int (*)(...))QBoxLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QBoxLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QBoxLayout::sizeHint +232 (int (*)(...))QBoxLayout::hasHeightForWidth +240 (int (*)(...))QBoxLayout::heightForWidth +248 (int (*)(...))QBoxLayout::minimumHeightForWidth +256 (int (*)(...))-16 +264 (int (*)(...))(& _ZTI10QBoxLayout) +272 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev +280 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev +288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv +296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv +304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv +312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv +320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv +352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi +360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi +368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv +376 (int (*)(...))QLayoutItem::widget +384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +392 (int (*)(...))QLayoutItem::spacerItem +400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QBoxLayout + size=32 align=8 + base size=28 base align=8 +QBoxLayout (0x0x7f76103f3af8) 0 + vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16) + QLayout (0x0x7f76169f8b60) 0 + primary-for QBoxLayout (0x0x7f76103f3af8) + QObject (0x0x7f761048d6c0) 0 + primary-for QLayout (0x0x7f76169f8b60) + QLayoutItem (0x0x7f761048d720) 16 + vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 272) + +Class QHBoxLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHBoxLayout::QPrivateSignal (0x0x7f761048da20) 0 empty + +Vtable for QHBoxLayout +QHBoxLayout::_ZTV11QHBoxLayout: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHBoxLayout) +16 (int (*)(...))QHBoxLayout::metaObject +24 (int (*)(...))QHBoxLayout::qt_metacast +32 (int (*)(...))QHBoxLayout::qt_metacall +40 (int (*)(...))QHBoxLayout::~QHBoxLayout +48 (int (*)(...))QHBoxLayout::~QHBoxLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QBoxLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QBoxLayout::addItem +136 (int (*)(...))QBoxLayout::expandingDirections +144 (int (*)(...))QBoxLayout::minimumSize +152 (int (*)(...))QBoxLayout::maximumSize +160 (int (*)(...))QBoxLayout::setGeometry +168 (int (*)(...))QBoxLayout::itemAt +176 (int (*)(...))QBoxLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QBoxLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QBoxLayout::sizeHint +232 (int (*)(...))QBoxLayout::hasHeightForWidth +240 (int (*)(...))QBoxLayout::heightForWidth +248 (int (*)(...))QBoxLayout::minimumHeightForWidth +256 (int (*)(...))-16 +264 (int (*)(...))(& _ZTI11QHBoxLayout) +272 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev +280 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev +288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv +296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv +304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv +312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv +320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv +352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi +360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi +368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv +376 (int (*)(...))QLayoutItem::widget +384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +392 (int (*)(...))QLayoutItem::spacerItem +400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QHBoxLayout + size=32 align=8 + base size=28 base align=8 +QHBoxLayout (0x0x7f76103f3bc8) 0 + vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16) + QBoxLayout (0x0x7f76103f3c30) 0 + primary-for QHBoxLayout (0x0x7f76103f3bc8) + QLayout (0x0x7f7616a1b070) 0 + primary-for QBoxLayout (0x0x7f76103f3c30) + QObject (0x0x7f761048d960) 0 + primary-for QLayout (0x0x7f7616a1b070) + QLayoutItem (0x0x7f761048d9c0) 16 + vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 272) + +Class QVBoxLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QVBoxLayout::QPrivateSignal (0x0x7f761048dc00) 0 empty + +Vtable for QVBoxLayout +QVBoxLayout::_ZTV11QVBoxLayout: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QVBoxLayout) +16 (int (*)(...))QVBoxLayout::metaObject +24 (int (*)(...))QVBoxLayout::qt_metacast +32 (int (*)(...))QVBoxLayout::qt_metacall +40 (int (*)(...))QVBoxLayout::~QVBoxLayout +48 (int (*)(...))QVBoxLayout::~QVBoxLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QBoxLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QBoxLayout::addItem +136 (int (*)(...))QBoxLayout::expandingDirections +144 (int (*)(...))QBoxLayout::minimumSize +152 (int (*)(...))QBoxLayout::maximumSize +160 (int (*)(...))QBoxLayout::setGeometry +168 (int (*)(...))QBoxLayout::itemAt +176 (int (*)(...))QBoxLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QBoxLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QBoxLayout::sizeHint +232 (int (*)(...))QBoxLayout::hasHeightForWidth +240 (int (*)(...))QBoxLayout::heightForWidth +248 (int (*)(...))QBoxLayout::minimumHeightForWidth +256 (int (*)(...))-16 +264 (int (*)(...))(& _ZTI11QVBoxLayout) +272 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev +280 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev +288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv +296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv +304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv +312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv +320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv +352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi +360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi +368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv +376 (int (*)(...))QLayoutItem::widget +384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +392 (int (*)(...))QLayoutItem::spacerItem +400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QVBoxLayout + size=32 align=8 + base size=28 base align=8 +QVBoxLayout (0x0x7f76103f3c98) 0 + vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16) + QBoxLayout (0x0x7f76103f3d00) 0 + primary-for QVBoxLayout (0x0x7f76103f3c98) + QLayout (0x0x7f7616a1b1c0) 0 + primary-for QBoxLayout (0x0x7f76103f3d00) + QObject (0x0x7f761048db40) 0 + primary-for QLayout (0x0x7f7616a1b1c0) + QLayoutItem (0x0x7f761048dba0) 16 + vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 272) + +Class QButtonGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QButtonGroup::QPrivateSignal (0x0x7f761048dd80) 0 empty + +Vtable for QButtonGroup +QButtonGroup::_ZTV12QButtonGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QButtonGroup) +16 (int (*)(...))QButtonGroup::metaObject +24 (int (*)(...))QButtonGroup::qt_metacast +32 (int (*)(...))QButtonGroup::qt_metacall +40 (int (*)(...))QButtonGroup::~QButtonGroup +48 (int (*)(...))QButtonGroup::~QButtonGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QButtonGroup + size=16 align=8 + base size=16 base align=8 +QButtonGroup (0x0x7f76103f3d68) 0 + vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16) + QObject (0x0x7f761048dd20) 0 + primary-for QButtonGroup (0x0x7f76103f3d68) + +Class QCalendarWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCalendarWidget::QPrivateSignal (0x0x7f76104b9060) 0 empty + +Vtable for QCalendarWidget +QCalendarWidget::_ZTV15QCalendarWidget: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QCalendarWidget) +16 (int (*)(...))QCalendarWidget::metaObject +24 (int (*)(...))QCalendarWidget::qt_metacast +32 (int (*)(...))QCalendarWidget::qt_metacall +40 (int (*)(...))QCalendarWidget::~QCalendarWidget +48 (int (*)(...))QCalendarWidget::~QCalendarWidget +56 (int (*)(...))QCalendarWidget::event +64 (int (*)(...))QCalendarWidget::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QCalendarWidget::sizeHint +136 (int (*)(...))QCalendarWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QCalendarWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QCalendarWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QCalendarWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QCalendarWidget::paintCell +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI15QCalendarWidget) +456 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev +464 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QCalendarWidget + size=48 align=8 + base size=48 base align=8 +QCalendarWidget (0x0x7f76103f3dd0) 0 + vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16) + QWidget (0x0x7f7616a1b3f0) 0 + primary-for QCalendarWidget (0x0x7f76103f3dd0) + QObject (0x0x7f761048df60) 0 + primary-for QWidget (0x0x7f7616a1b3f0) + QPaintDevice (0x0x7f76104b9000) 16 + vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 456) + +Class QCheckBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCheckBox::QPrivateSignal (0x0x7f76104b9540) 0 empty + +Vtable for QCheckBox +QCheckBox::_ZTV9QCheckBox: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QCheckBox) +16 (int (*)(...))QCheckBox::metaObject +24 (int (*)(...))QCheckBox::qt_metacast +32 (int (*)(...))QCheckBox::qt_metacall +40 (int (*)(...))QCheckBox::~QCheckBox +48 (int (*)(...))QCheckBox::~QCheckBox +56 (int (*)(...))QCheckBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QCheckBox::sizeHint +136 (int (*)(...))QCheckBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QCheckBox::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QCheckBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QCheckBox::hitButton +440 (int (*)(...))QCheckBox::checkStateSet +448 (int (*)(...))QCheckBox::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI9QCheckBox) +472 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD1Ev +480 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QCheckBox + size=48 align=8 + base size=48 base align=8 +QCheckBox (0x0x7f76103f3e38) 0 + vptr=((& QCheckBox::_ZTV9QCheckBox) + 16) + QAbstractButton (0x0x7f76103f3ea0) 0 + primary-for QCheckBox (0x0x7f76103f3e38) + QWidget (0x0x7f7616a1ba10) 0 + primary-for QAbstractButton (0x0x7f76103f3ea0) + QObject (0x0x7f76104b9480) 0 + primary-for QWidget (0x0x7f7616a1ba10) + QPaintDevice (0x0x7f76104b94e0) 16 + vptr=((& QCheckBox::_ZTV9QCheckBox) + 472) + +Class QDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDialog::QPrivateSignal (0x0x7f76104b97e0) 0 empty + +Vtable for QDialog +QDialog::_ZTV7QDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QDialog) +16 (int (*)(...))QDialog::metaObject +24 (int (*)(...))QDialog::qt_metacast +32 (int (*)(...))QDialog::qt_metacall +40 (int (*)(...))QDialog::~QDialog +48 (int (*)(...))QDialog::~QDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI7QDialog) +488 (int (*)(...))QDialog::_ZThn16_N7QDialogD1Ev +496 (int (*)(...))QDialog::_ZThn16_N7QDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDialog + size=48 align=8 + base size=48 base align=8 +QDialog (0x0x7f76103f3f08) 0 + vptr=((& QDialog::_ZTV7QDialog) + 16) + QWidget (0x0x7f7616a1bb60) 0 + primary-for QDialog (0x0x7f76103f3f08) + QObject (0x0x7f76104b9720) 0 + primary-for QWidget (0x0x7f7616a1bb60) + QPaintDevice (0x0x7f76104b9780) 16 + vptr=((& QDialog::_ZTV7QDialog) + 488) + +Class QColorDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QColorDialog::QPrivateSignal (0x0x7f76104b9a80) 0 empty + +Vtable for QColorDialog +QColorDialog::_ZTV12QColorDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QColorDialog) +16 (int (*)(...))QColorDialog::metaObject +24 (int (*)(...))QColorDialog::qt_metacast +32 (int (*)(...))QColorDialog::qt_metacall +40 (int (*)(...))QColorDialog::~QColorDialog +48 (int (*)(...))QColorDialog::~QColorDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QColorDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QColorDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QColorDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI12QColorDialog) +488 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD1Ev +496 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QColorDialog + size=48 align=8 + base size=48 base align=8 +QColorDialog (0x0x7f76103f3f70) 0 + vptr=((& QColorDialog::_ZTV12QColorDialog) + 16) + QDialog (0x0x7f76104e0000) 0 + primary-for QColorDialog (0x0x7f76103f3f70) + QWidget (0x0x7f7616a1be70) 0 + primary-for QDialog (0x0x7f76104e0000) + QObject (0x0x7f76104b99c0) 0 + primary-for QWidget (0x0x7f7616a1be70) + QPaintDevice (0x0x7f76104b9a20) 16 + vptr=((& QColorDialog::_ZTV12QColorDialog) + 488) + +Class QColormap + size=8 align=8 + base size=8 base align=8 +QColormap (0x0x7f76104f5660) 0 + +Class QColumnView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QColumnView::QPrivateSignal (0x0x7f76104f5780) 0 empty + +Vtable for QColumnView +QColumnView::_ZTV11QColumnView: 107 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QColumnView) +16 (int (*)(...))QColumnView::metaObject +24 (int (*)(...))QColumnView::qt_metacast +32 (int (*)(...))QColumnView::qt_metacall +40 (int (*)(...))QColumnView::~QColumnView +48 (int (*)(...))QColumnView::~QColumnView +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QAbstractItemView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QColumnView::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QColumnView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QColumnView::scrollContentsBy +456 (int (*)(...))QAbstractItemView::viewportSizeHint +464 (int (*)(...))QColumnView::setModel +472 (int (*)(...))QColumnView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QColumnView::visualRect +496 (int (*)(...))QColumnView::scrollTo +504 (int (*)(...))QColumnView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QAbstractItemView::reset +536 (int (*)(...))QColumnView::setRootIndex +544 (int (*)(...))QAbstractItemView::doItemsLayout +552 (int (*)(...))QColumnView::selectAll +560 (int (*)(...))QAbstractItemView::dataChanged +568 (int (*)(...))QColumnView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QAbstractItemView::selectionChanged +592 (int (*)(...))QColumnView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QAbstractItemView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QColumnView::moveCursor +688 (int (*)(...))QColumnView::horizontalOffset +696 (int (*)(...))QColumnView::verticalOffset +704 (int (*)(...))QColumnView::isIndexHidden +712 (int (*)(...))QColumnView::setSelection +720 (int (*)(...))QColumnView::visualRegionForSelection +728 (int (*)(...))QAbstractItemView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))QColumnView::createColumn +776 (int (*)(...))-16 +784 (int (*)(...))(& _ZTI11QColumnView) +792 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD1Ev +800 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD0Ev +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QColumnView + size=48 align=8 + base size=48 base align=8 +QColumnView (0x0x7f76104e0138) 0 + vptr=((& QColumnView::_ZTV11QColumnView) + 16) + QAbstractItemView (0x0x7f76104e01a0) 0 + primary-for QColumnView (0x0x7f76104e0138) + QAbstractScrollArea (0x0x7f76104e0208) 0 + primary-for QAbstractItemView (0x0x7f76104e01a0) + QFrame (0x0x7f76104e0270) 0 + primary-for QAbstractScrollArea (0x0x7f76104e0208) + QWidget (0x0x7f76166e1150) 0 + primary-for QFrame (0x0x7f76104e0270) + QObject (0x0x7f76104f56c0) 0 + primary-for QWidget (0x0x7f76166e1150) + QPaintDevice (0x0x7f76104f5720) 16 + vptr=((& QColumnView::_ZTV11QColumnView) + 792) + +Class QComboBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QComboBox::QPrivateSignal (0x0x7f76104f5a20) 0 empty + +Vtable for QComboBox +QComboBox::_ZTV9QComboBox: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QComboBox) +16 (int (*)(...))QComboBox::metaObject +24 (int (*)(...))QComboBox::qt_metacast +32 (int (*)(...))QComboBox::qt_metacall +40 (int (*)(...))QComboBox::~QComboBox +48 (int (*)(...))QComboBox::~QComboBox +56 (int (*)(...))QComboBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QComboBox::sizeHint +136 (int (*)(...))QComboBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QComboBox::mousePressEvent +176 (int (*)(...))QComboBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QComboBox::wheelEvent +208 (int (*)(...))QComboBox::keyPressEvent +216 (int (*)(...))QComboBox::keyReleaseEvent +224 (int (*)(...))QComboBox::focusInEvent +232 (int (*)(...))QComboBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QComboBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QComboBox::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QComboBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QComboBox::showEvent +352 (int (*)(...))QComboBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QComboBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QComboBox::inputMethodEvent +416 (int (*)(...))QComboBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QComboBox::showPopup +440 (int (*)(...))QComboBox::hidePopup +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI9QComboBox) +464 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD1Ev +472 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QComboBox + size=48 align=8 + base size=48 base align=8 +QComboBox (0x0x7f76104e02d8) 0 + vptr=((& QComboBox::_ZTV9QComboBox) + 16) + QWidget (0x0x7f76166e1310) 0 + primary-for QComboBox (0x0x7f76104e02d8) + QObject (0x0x7f76104f5960) 0 + primary-for QWidget (0x0x7f76166e1310) + QPaintDevice (0x0x7f76104f59c0) 16 + vptr=((& QComboBox::_ZTV9QComboBox) + 464) + +Class QPushButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPushButton::QPrivateSignal (0x0x7f761051f060) 0 empty + +Vtable for QPushButton +QPushButton::_ZTV11QPushButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QPushButton) +16 (int (*)(...))QPushButton::metaObject +24 (int (*)(...))QPushButton::qt_metacast +32 (int (*)(...))QPushButton::qt_metacall +40 (int (*)(...))QPushButton::~QPushButton +48 (int (*)(...))QPushButton::~QPushButton +56 (int (*)(...))QPushButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QPushButton::sizeHint +136 (int (*)(...))QPushButton::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QPushButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QPushButton::focusInEvent +232 (int (*)(...))QPushButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QPushButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI11QPushButton) +472 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD1Ev +480 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QPushButton + size=48 align=8 + base size=48 base align=8 +QPushButton (0x0x7f76104e0340) 0 + vptr=((& QPushButton::_ZTV11QPushButton) + 16) + QAbstractButton (0x0x7f76104e03a8) 0 + primary-for QPushButton (0x0x7f76104e0340) + QWidget (0x0x7f76166e1930) 0 + primary-for QAbstractButton (0x0x7f76104e03a8) + QObject (0x0x7f76104f5f60) 0 + primary-for QWidget (0x0x7f76166e1930) + QPaintDevice (0x0x7f761051f000) 16 + vptr=((& QPushButton::_ZTV11QPushButton) + 472) + +Class QCommandLinkButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCommandLinkButton::QPrivateSignal (0x0x7f761051f300) 0 empty + +Vtable for QCommandLinkButton +QCommandLinkButton::_ZTV18QCommandLinkButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QCommandLinkButton) +16 (int (*)(...))QCommandLinkButton::metaObject +24 (int (*)(...))QCommandLinkButton::qt_metacast +32 (int (*)(...))QCommandLinkButton::qt_metacall +40 (int (*)(...))QCommandLinkButton::~QCommandLinkButton +48 (int (*)(...))QCommandLinkButton::~QCommandLinkButton +56 (int (*)(...))QCommandLinkButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QCommandLinkButton::sizeHint +136 (int (*)(...))QCommandLinkButton::minimumSizeHint +144 (int (*)(...))QCommandLinkButton::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QPushButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QPushButton::focusInEvent +232 (int (*)(...))QPushButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QCommandLinkButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI18QCommandLinkButton) +472 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev +480 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QCommandLinkButton + size=48 align=8 + base size=48 base align=8 +QCommandLinkButton (0x0x7f76104e0410) 0 + vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16) + QPushButton (0x0x7f76104e0478) 0 + primary-for QCommandLinkButton (0x0x7f76104e0410) + QAbstractButton (0x0x7f76104e04e0) 0 + primary-for QPushButton (0x0x7f76104e0478) + QWidget (0x0x7f76166e1a80) 0 + primary-for QAbstractButton (0x0x7f76104e04e0) + QObject (0x0x7f761051f240) 0 + primary-for QWidget (0x0x7f76166e1a80) + QPaintDevice (0x0x7f761051f2a0) 16 + vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 472) + +Class QCommonStyle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCommonStyle::QPrivateSignal (0x0x7f761051f540) 0 empty + +Vtable for QCommonStyle +QCommonStyle::_ZTV12QCommonStyle: 37 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QCommonStyle) +16 (int (*)(...))QCommonStyle::metaObject +24 (int (*)(...))QCommonStyle::qt_metacast +32 (int (*)(...))QCommonStyle::qt_metacall +40 (int (*)(...))QCommonStyle::~QCommonStyle +48 (int (*)(...))QCommonStyle::~QCommonStyle +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QCommonStyle::polish +120 (int (*)(...))QCommonStyle::unpolish +128 (int (*)(...))QCommonStyle::polish +136 (int (*)(...))QCommonStyle::unpolish +144 (int (*)(...))QCommonStyle::polish +152 (int (*)(...))QStyle::itemTextRect +160 (int (*)(...))QStyle::itemPixmapRect +168 (int (*)(...))QStyle::drawItemText +176 (int (*)(...))QStyle::drawItemPixmap +184 (int (*)(...))QStyle::standardPalette +192 (int (*)(...))QCommonStyle::drawPrimitive +200 (int (*)(...))QCommonStyle::drawControl +208 (int (*)(...))QCommonStyle::subElementRect +216 (int (*)(...))QCommonStyle::drawComplexControl +224 (int (*)(...))QCommonStyle::hitTestComplexControl +232 (int (*)(...))QCommonStyle::subControlRect +240 (int (*)(...))QCommonStyle::pixelMetric +248 (int (*)(...))QCommonStyle::sizeFromContents +256 (int (*)(...))QCommonStyle::styleHint +264 (int (*)(...))QCommonStyle::standardPixmap +272 (int (*)(...))QCommonStyle::standardIcon +280 (int (*)(...))QCommonStyle::generatedIconPixmap +288 (int (*)(...))QCommonStyle::layoutSpacing + +Class QCommonStyle + size=16 align=8 + base size=16 base align=8 +QCommonStyle (0x0x7f76104e0548) 0 + vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16) + QStyle (0x0x7f76104e05b0) 0 + primary-for QCommonStyle (0x0x7f76104e0548) + QObject (0x0x7f761051f4e0) 0 + primary-for QStyle (0x0x7f76104e05b0) + +Class QCompleter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCompleter::QPrivateSignal (0x0x7f761051f780) 0 empty + +Vtable for QCompleter +QCompleter::_ZTV10QCompleter: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QCompleter) +16 (int (*)(...))QCompleter::metaObject +24 (int (*)(...))QCompleter::qt_metacast +32 (int (*)(...))QCompleter::qt_metacall +40 (int (*)(...))QCompleter::~QCompleter +48 (int (*)(...))QCompleter::~QCompleter +56 (int (*)(...))QCompleter::event +64 (int (*)(...))QCompleter::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QCompleter::pathFromIndex +120 (int (*)(...))QCompleter::splitPath + +Class QCompleter + size=16 align=8 + base size=16 base align=8 +QCompleter (0x0x7f76104e0618) 0 + vptr=((& QCompleter::_ZTV10QCompleter) + 16) + QObject (0x0x7f761051f720) 0 + primary-for QCompleter (0x0x7f76104e0618) + +Class QDataWidgetMapper::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDataWidgetMapper::QPrivateSignal (0x0x7f761051fb40) 0 empty + +Vtable for QDataWidgetMapper +QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QDataWidgetMapper) +16 (int (*)(...))QDataWidgetMapper::metaObject +24 (int (*)(...))QDataWidgetMapper::qt_metacast +32 (int (*)(...))QDataWidgetMapper::qt_metacall +40 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper +48 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDataWidgetMapper::setCurrentIndex + +Class QDataWidgetMapper + size=16 align=8 + base size=16 base align=8 +QDataWidgetMapper (0x0x7f76104e0680) 0 + vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16) + QObject (0x0x7f761051fae0) 0 + primary-for QDataWidgetMapper (0x0x7f76104e0680) + +Class QDateTimeEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDateTimeEdit::QPrivateSignal (0x0x7f761051fea0) 0 empty + +Vtable for QDateTimeEdit +QDateTimeEdit::_ZTV13QDateTimeEdit: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QDateTimeEdit) +16 (int (*)(...))QDateTimeEdit::metaObject +24 (int (*)(...))QDateTimeEdit::qt_metacast +32 (int (*)(...))QDateTimeEdit::qt_metacall +40 (int (*)(...))QDateTimeEdit::~QDateTimeEdit +48 (int (*)(...))QDateTimeEdit::~QDateTimeEdit +56 (int (*)(...))QDateTimeEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDateTimeEdit::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDateTimeEdit::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QDateTimeEdit::wheelEvent +208 (int (*)(...))QDateTimeEdit::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QDateTimeEdit::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDateTimeEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QDateTimeEdit::focusNextPrevChild +432 (int (*)(...))QDateTimeEdit::validate +440 (int (*)(...))QDateTimeEdit::fixup +448 (int (*)(...))QDateTimeEdit::stepBy +456 (int (*)(...))QDateTimeEdit::clear +464 (int (*)(...))QDateTimeEdit::stepEnabled +472 (int (*)(...))QDateTimeEdit::dateTimeFromText +480 (int (*)(...))QDateTimeEdit::textFromDateTime +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI13QDateTimeEdit) +504 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev +512 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDateTimeEdit + size=48 align=8 + base size=48 base align=8 +QDateTimeEdit (0x0x7f76104e06e8) 0 + vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16) + QAbstractSpinBox (0x0x7f76104e0750) 0 + primary-for QDateTimeEdit (0x0x7f76104e06e8) + QWidget (0x0x7f761671f9a0) 0 + primary-for QAbstractSpinBox (0x0x7f76104e0750) + QObject (0x0x7f761051fde0) 0 + primary-for QWidget (0x0x7f761671f9a0) + QPaintDevice (0x0x7f761051fe40) 16 + vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 504) + +Class QTimeEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimeEdit::QPrivateSignal (0x0x7f7610565480) 0 empty + +Vtable for QTimeEdit +QTimeEdit::_ZTV9QTimeEdit: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTimeEdit) +16 (int (*)(...))QTimeEdit::metaObject +24 (int (*)(...))QTimeEdit::qt_metacast +32 (int (*)(...))QTimeEdit::qt_metacall +40 (int (*)(...))QTimeEdit::~QTimeEdit +48 (int (*)(...))QTimeEdit::~QTimeEdit +56 (int (*)(...))QDateTimeEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDateTimeEdit::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDateTimeEdit::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QDateTimeEdit::wheelEvent +208 (int (*)(...))QDateTimeEdit::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QDateTimeEdit::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDateTimeEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QDateTimeEdit::focusNextPrevChild +432 (int (*)(...))QDateTimeEdit::validate +440 (int (*)(...))QDateTimeEdit::fixup +448 (int (*)(...))QDateTimeEdit::stepBy +456 (int (*)(...))QDateTimeEdit::clear +464 (int (*)(...))QDateTimeEdit::stepEnabled +472 (int (*)(...))QDateTimeEdit::dateTimeFromText +480 (int (*)(...))QDateTimeEdit::textFromDateTime +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI9QTimeEdit) +504 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD1Ev +512 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTimeEdit + size=48 align=8 + base size=48 base align=8 +QTimeEdit (0x0x7f76104e0888) 0 + vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16) + QDateTimeEdit (0x0x7f76104e08f0) 0 + primary-for QTimeEdit (0x0x7f76104e0888) + QAbstractSpinBox (0x0x7f76104e0958) 0 + primary-for QDateTimeEdit (0x0x7f76104e08f0) + QWidget (0x0x7f761681e1c0) 0 + primary-for QAbstractSpinBox (0x0x7f76104e0958) + QObject (0x0x7f76105653c0) 0 + primary-for QWidget (0x0x7f761681e1c0) + QPaintDevice (0x0x7f7610565420) 16 + vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 504) + +Class QDateEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDateEdit::QPrivateSignal (0x0x7f7610565660) 0 empty + +Vtable for QDateEdit +QDateEdit::_ZTV9QDateEdit: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QDateEdit) +16 (int (*)(...))QDateEdit::metaObject +24 (int (*)(...))QDateEdit::qt_metacast +32 (int (*)(...))QDateEdit::qt_metacall +40 (int (*)(...))QDateEdit::~QDateEdit +48 (int (*)(...))QDateEdit::~QDateEdit +56 (int (*)(...))QDateTimeEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDateTimeEdit::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDateTimeEdit::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QDateTimeEdit::wheelEvent +208 (int (*)(...))QDateTimeEdit::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QDateTimeEdit::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDateTimeEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QDateTimeEdit::focusNextPrevChild +432 (int (*)(...))QDateTimeEdit::validate +440 (int (*)(...))QDateTimeEdit::fixup +448 (int (*)(...))QDateTimeEdit::stepBy +456 (int (*)(...))QDateTimeEdit::clear +464 (int (*)(...))QDateTimeEdit::stepEnabled +472 (int (*)(...))QDateTimeEdit::dateTimeFromText +480 (int (*)(...))QDateTimeEdit::textFromDateTime +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI9QDateEdit) +504 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD1Ev +512 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDateEdit + size=48 align=8 + base size=48 base align=8 +QDateEdit (0x0x7f76104e09c0) 0 + vptr=((& QDateEdit::_ZTV9QDateEdit) + 16) + QDateTimeEdit (0x0x7f76104e0a28) 0 + primary-for QDateEdit (0x0x7f76104e09c0) + QAbstractSpinBox (0x0x7f76104e0a90) 0 + primary-for QDateTimeEdit (0x0x7f76104e0a28) + QWidget (0x0x7f761681e310) 0 + primary-for QAbstractSpinBox (0x0x7f76104e0a90) + QObject (0x0x7f76105655a0) 0 + primary-for QWidget (0x0x7f761681e310) + QPaintDevice (0x0x7f7610565600) 16 + vptr=((& QDateEdit::_ZTV9QDateEdit) + 504) + +Class QDesktopWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesktopWidget::QPrivateSignal (0x0x7f7610565d80) 0 empty + +Vtable for QDesktopWidget +QDesktopWidget::_ZTV14QDesktopWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QDesktopWidget) +16 (int (*)(...))QDesktopWidget::metaObject +24 (int (*)(...))QDesktopWidget::qt_metacast +32 (int (*)(...))QDesktopWidget::qt_metacall +40 (int (*)(...))QDesktopWidget::~QDesktopWidget +48 (int (*)(...))QDesktopWidget::~QDesktopWidget +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDesktopWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI14QDesktopWidget) +448 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev +456 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesktopWidget + size=48 align=8 + base size=48 base align=8 +QDesktopWidget (0x0x7f76104e0af8) 0 + vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16) + QWidget (0x0x7f761681eb60) 0 + primary-for QDesktopWidget (0x0x7f76104e0af8) + QObject (0x0x7f7610565cc0) 0 + primary-for QWidget (0x0x7f761681eb60) + QPaintDevice (0x0x7f7610565d20) 16 + vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 448) + +Class QDial::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDial::QPrivateSignal (0x0x7f7610585180) 0 empty + +Vtable for QDial +QDial::_ZTV5QDial: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QDial) +16 (int (*)(...))QDial::metaObject +24 (int (*)(...))QDial::qt_metacast +32 (int (*)(...))QDial::qt_metacall +40 (int (*)(...))QDial::~QDial +48 (int (*)(...))QDial::~QDial +56 (int (*)(...))QDial::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDial::sizeHint +136 (int (*)(...))QDial::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDial::mousePressEvent +176 (int (*)(...))QDial::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QDial::mouseMoveEvent +200 (int (*)(...))QAbstractSlider::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDial::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDial::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDial::sliderChange +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI5QDial) +456 (int (*)(...))QDial::_ZThn16_N5QDialD1Ev +464 (int (*)(...))QDial::_ZThn16_N5QDialD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDial + size=48 align=8 + base size=48 base align=8 +QDial (0x0x7f76104e0b60) 0 + vptr=((& QDial::_ZTV5QDial) + 16) + QAbstractSlider (0x0x7f76104e0bc8) 0 + primary-for QDial (0x0x7f76104e0b60) + QWidget (0x0x7f761681ebd0) 0 + primary-for QAbstractSlider (0x0x7f76104e0bc8) + QObject (0x0x7f76105850c0) 0 + primary-for QWidget (0x0x7f761681ebd0) + QPaintDevice (0x0x7f7610585120) 16 + vptr=((& QDial::_ZTV5QDial) + 456) + +Class QDialogButtonBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDialogButtonBox::QPrivateSignal (0x0x7f7610585420) 0 empty + +Vtable for QDialogButtonBox +QDialogButtonBox::_ZTV16QDialogButtonBox: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QDialogButtonBox) +16 (int (*)(...))QDialogButtonBox::metaObject +24 (int (*)(...))QDialogButtonBox::qt_metacast +32 (int (*)(...))QDialogButtonBox::qt_metacall +40 (int (*)(...))QDialogButtonBox::~QDialogButtonBox +48 (int (*)(...))QDialogButtonBox::~QDialogButtonBox +56 (int (*)(...))QDialogButtonBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QDialogButtonBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI16QDialogButtonBox) +448 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev +456 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDialogButtonBox + size=48 align=8 + base size=48 base align=8 +QDialogButtonBox (0x0x7f76104e0c30) 0 + vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16) + QWidget (0x0x7f761681ecb0) 0 + primary-for QDialogButtonBox (0x0x7f76104e0c30) + QObject (0x0x7f7610585360) 0 + primary-for QWidget (0x0x7f761681ecb0) + QPaintDevice (0x0x7f76105853c0) 16 + vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 448) + +Vtable for QFileIconProvider +QFileIconProvider::_ZTV17QFileIconProvider: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QFileIconProvider) +16 (int (*)(...))QFileIconProvider::~QFileIconProvider +24 (int (*)(...))QFileIconProvider::~QFileIconProvider +32 (int (*)(...))QFileIconProvider::icon +40 (int (*)(...))QFileIconProvider::icon +48 (int (*)(...))QFileIconProvider::type + +Class QFileIconProvider + size=16 align=8 + base size=16 base align=8 +QFileIconProvider (0x0x7f7610585d80) 0 + vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16) + +Class QDirModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDirModel::QPrivateSignal (0x0x7f76105b06c0) 0 empty + +Vtable for QDirModel +QDirModel::_ZTV9QDirModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QDirModel) +16 (int (*)(...))QDirModel::metaObject +24 (int (*)(...))QDirModel::qt_metacast +32 (int (*)(...))QDirModel::qt_metacall +40 (int (*)(...))QDirModel::~QDirModel +48 (int (*)(...))QDirModel::~QDirModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDirModel::index +120 (int (*)(...))QDirModel::parent +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))QDirModel::rowCount +144 (int (*)(...))QDirModel::columnCount +152 (int (*)(...))QDirModel::hasChildren +160 (int (*)(...))QDirModel::data +168 (int (*)(...))QDirModel::setData +176 (int (*)(...))QDirModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QDirModel::mimeTypes +216 (int (*)(...))QDirModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QDirModel::dropMimeData +240 (int (*)(...))QDirModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QDirModel::flags +328 (int (*)(...))QDirModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QDirModel + size=16 align=8 + base size=16 base align=8 +QDirModel (0x0x7f76104e0e38) 0 + vptr=((& QDirModel::_ZTV9QDirModel) + 16) + QAbstractItemModel (0x0x7f76104e0ea0) 0 + primary-for QDirModel (0x0x7f76104e0e38) + QObject (0x0x7f76105b0660) 0 + primary-for QAbstractItemModel (0x0x7f76104e0ea0) + +Class QDockWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDockWidget::QPrivateSignal (0x0x7f76105b0960) 0 empty + +Vtable for QDockWidget +QDockWidget::_ZTV11QDockWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QDockWidget) +16 (int (*)(...))QDockWidget::metaObject +24 (int (*)(...))QDockWidget::qt_metacast +32 (int (*)(...))QDockWidget::qt_metacall +40 (int (*)(...))QDockWidget::~QDockWidget +48 (int (*)(...))QDockWidget::~QDockWidget +56 (int (*)(...))QDockWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDockWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QDockWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QDockWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI11QDockWidget) +448 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD1Ev +456 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDockWidget + size=48 align=8 + base size=48 base align=8 +QDockWidget (0x0x7f76104e0f08) 0 + vptr=((& QDockWidget::_ZTV11QDockWidget) + 16) + QWidget (0x0x7f7616523b60) 0 + primary-for QDockWidget (0x0x7f76104e0f08) + QObject (0x0x7f76105b08a0) 0 + primary-for QWidget (0x0x7f7616523b60) + QPaintDevice (0x0x7f76105b0900) 16 + vptr=((& QDockWidget::_ZTV11QDockWidget) + 448) + +Class QTileRules + size=8 align=4 + base size=8 base align=4 +QTileRules (0x0x7f76105e1840) 0 + +Class QErrorMessage::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QErrorMessage::QPrivateSignal (0x0x7f76101fd060) 0 empty + +Vtable for QErrorMessage +QErrorMessage::_ZTV13QErrorMessage: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QErrorMessage) +16 (int (*)(...))QErrorMessage::metaObject +24 (int (*)(...))QErrorMessage::qt_metacast +32 (int (*)(...))QErrorMessage::qt_metacall +40 (int (*)(...))QErrorMessage::~QErrorMessage +48 (int (*)(...))QErrorMessage::~QErrorMessage +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QErrorMessage::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QErrorMessage::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI13QErrorMessage) +488 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD1Ev +496 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QErrorMessage + size=48 align=8 + base size=48 base align=8 +QErrorMessage (0x0x7f76105d9618) 0 + vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16) + QDialog (0x0x7f76105d9680) 0 + primary-for QErrorMessage (0x0x7f76105d9618) + QWidget (0x0x7f761659b770) 0 + primary-for QDialog (0x0x7f76105d9680) + QObject (0x0x7f76105e1f60) 0 + primary-for QWidget (0x0x7f761659b770) + QPaintDevice (0x0x7f76101fd000) 16 + vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488) + +Class QFileDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileDialog::QPrivateSignal (0x0x7f76101fd300) 0 empty + +Vtable for QFileDialog +QFileDialog::_ZTV11QFileDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFileDialog) +16 (int (*)(...))QFileDialog::metaObject +24 (int (*)(...))QFileDialog::qt_metacast +32 (int (*)(...))QFileDialog::qt_metacall +40 (int (*)(...))QFileDialog::~QFileDialog +48 (int (*)(...))QFileDialog::~QFileDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QFileDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFileDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QFileDialog::done +456 (int (*)(...))QFileDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QFileDialog) +488 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD1Ev +496 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFileDialog + size=48 align=8 + base size=48 base align=8 +QFileDialog (0x0x7f76105d96e8) 0 + vptr=((& QFileDialog::_ZTV11QFileDialog) + 16) + QDialog (0x0x7f76105d9750) 0 + primary-for QFileDialog (0x0x7f76105d96e8) + QWidget (0x0x7f761659b8c0) 0 + primary-for QDialog (0x0x7f76105d9750) + QObject (0x0x7f76101fd240) 0 + primary-for QWidget (0x0x7f761659b8c0) + QPaintDevice (0x0x7f76101fd2a0) 16 + vptr=((& QFileDialog::_ZTV11QFileDialog) + 488) + +Class QFileSystemModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSystemModel::QPrivateSignal (0x0x7f761022e240) 0 empty + +Vtable for QFileSystemModel +QFileSystemModel::_ZTV16QFileSystemModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QFileSystemModel) +16 (int (*)(...))QFileSystemModel::metaObject +24 (int (*)(...))QFileSystemModel::qt_metacast +32 (int (*)(...))QFileSystemModel::qt_metacall +40 (int (*)(...))QFileSystemModel::~QFileSystemModel +48 (int (*)(...))QFileSystemModel::~QFileSystemModel +56 (int (*)(...))QFileSystemModel::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QFileSystemModel::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileSystemModel::index +120 (int (*)(...))QFileSystemModel::parent +128 (int (*)(...))QFileSystemModel::sibling +136 (int (*)(...))QFileSystemModel::rowCount +144 (int (*)(...))QFileSystemModel::columnCount +152 (int (*)(...))QFileSystemModel::hasChildren +160 (int (*)(...))QFileSystemModel::data +168 (int (*)(...))QFileSystemModel::setData +176 (int (*)(...))QFileSystemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QFileSystemModel::mimeTypes +216 (int (*)(...))QFileSystemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QFileSystemModel::dropMimeData +240 (int (*)(...))QFileSystemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QFileSystemModel::fetchMore +312 (int (*)(...))QFileSystemModel::canFetchMore +320 (int (*)(...))QFileSystemModel::flags +328 (int (*)(...))QFileSystemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QFileSystemModel + size=16 align=8 + base size=16 base align=8 +QFileSystemModel (0x0x7f76105d9888) 0 + vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16) + QAbstractItemModel (0x0x7f76105d98f0) 0 + primary-for QFileSystemModel (0x0x7f76105d9888) + QObject (0x0x7f761022e1e0) 0 + primary-for QAbstractItemModel (0x0x7f76105d98f0) + +Class QFocusFrame::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFocusFrame::QPrivateSignal (0x0x7f761022ed20) 0 empty + +Vtable for QFocusFrame +QFocusFrame::_ZTV11QFocusFrame: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFocusFrame) +16 (int (*)(...))QFocusFrame::metaObject +24 (int (*)(...))QFocusFrame::qt_metacast +32 (int (*)(...))QFocusFrame::qt_metacall +40 (int (*)(...))QFocusFrame::~QFocusFrame +48 (int (*)(...))QFocusFrame::~QFocusFrame +56 (int (*)(...))QFocusFrame::event +64 (int (*)(...))QFocusFrame::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFocusFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI11QFocusFrame) +448 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD1Ev +456 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFocusFrame + size=48 align=8 + base size=48 base align=8 +QFocusFrame (0x0x7f76105d9a28) 0 + vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16) + QWidget (0x0x7f7616380af0) 0 + primary-for QFocusFrame (0x0x7f76105d9a28) + QObject (0x0x7f761022ec60) 0 + primary-for QWidget (0x0x7f7616380af0) + QPaintDevice (0x0x7f761022ecc0) 16 + vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 448) + +Class QFontComboBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFontComboBox::QPrivateSignal (0x0x7f7610255000) 0 empty + +Vtable for QFontComboBox +QFontComboBox::_ZTV13QFontComboBox: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QFontComboBox) +16 (int (*)(...))QFontComboBox::metaObject +24 (int (*)(...))QFontComboBox::qt_metacast +32 (int (*)(...))QFontComboBox::qt_metacall +40 (int (*)(...))QFontComboBox::~QFontComboBox +48 (int (*)(...))QFontComboBox::~QFontComboBox +56 (int (*)(...))QFontComboBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFontComboBox::sizeHint +136 (int (*)(...))QComboBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QComboBox::mousePressEvent +176 (int (*)(...))QComboBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QComboBox::wheelEvent +208 (int (*)(...))QComboBox::keyPressEvent +216 (int (*)(...))QComboBox::keyReleaseEvent +224 (int (*)(...))QComboBox::focusInEvent +232 (int (*)(...))QComboBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QComboBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QComboBox::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QComboBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QComboBox::showEvent +352 (int (*)(...))QComboBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QComboBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QComboBox::inputMethodEvent +416 (int (*)(...))QComboBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QComboBox::showPopup +440 (int (*)(...))QComboBox::hidePopup +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI13QFontComboBox) +464 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev +472 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFontComboBox + size=48 align=8 + base size=48 base align=8 +QFontComboBox (0x0x7f76105d9a90) 0 + vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16) + QComboBox (0x0x7f76105d9af8) 0 + primary-for QFontComboBox (0x0x7f76105d9a90) + QWidget (0x0x7f7616380b60) 0 + primary-for QComboBox (0x0x7f76105d9af8) + QObject (0x0x7f761022ef00) 0 + primary-for QWidget (0x0x7f7616380b60) + QPaintDevice (0x0x7f761022ef60) 16 + vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 464) + +Class QFontDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFontDialog::QPrivateSignal (0x0x7f7610255a20) 0 empty + +Vtable for QFontDialog +QFontDialog::_ZTV11QFontDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFontDialog) +16 (int (*)(...))QFontDialog::metaObject +24 (int (*)(...))QFontDialog::qt_metacast +32 (int (*)(...))QFontDialog::qt_metacall +40 (int (*)(...))QFontDialog::~QFontDialog +48 (int (*)(...))QFontDialog::~QFontDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QFontDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QFontDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFontDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QFontDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QFontDialog) +488 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD1Ev +496 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFontDialog + size=48 align=8 + base size=48 base align=8 +QFontDialog (0x0x7f76105d9c98) 0 + vptr=((& QFontDialog::_ZTV11QFontDialog) + 16) + QDialog (0x0x7f76105d9d00) 0 + primary-for QFontDialog (0x0x7f76105d9c98) + QWidget (0x0x7f7616397770) 0 + primary-for QDialog (0x0x7f76105d9d00) + QObject (0x0x7f7610255960) 0 + primary-for QWidget (0x0x7f7616397770) + QPaintDevice (0x0x7f76102559c0) 16 + vptr=((& QFontDialog::_ZTV11QFontDialog) + 488) + +Class QFormLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFormLayout::QPrivateSignal (0x0x7f7610281660) 0 empty + +Class QFormLayout::TakeRowResult + size=16 align=8 + base size=16 base align=8 +QFormLayout::TakeRowResult (0x0x7f76102816c0) 0 + +Vtable for QFormLayout +QFormLayout::_ZTV11QFormLayout: 50 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFormLayout) +16 (int (*)(...))QFormLayout::metaObject +24 (int (*)(...))QFormLayout::qt_metacast +32 (int (*)(...))QFormLayout::qt_metacall +40 (int (*)(...))QFormLayout::~QFormLayout +48 (int (*)(...))QFormLayout::~QFormLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFormLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QFormLayout::addItem +136 (int (*)(...))QFormLayout::expandingDirections +144 (int (*)(...))QFormLayout::minimumSize +152 (int (*)(...))QLayout::maximumSize +160 (int (*)(...))QFormLayout::setGeometry +168 (int (*)(...))QFormLayout::itemAt +176 (int (*)(...))QFormLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QFormLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QFormLayout::sizeHint +232 (int (*)(...))QFormLayout::hasHeightForWidth +240 (int (*)(...))QFormLayout::heightForWidth +248 (int (*)(...))-16 +256 (int (*)(...))(& _ZTI11QFormLayout) +264 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD1Ev +272 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD0Ev +280 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv +288 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv +296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv +304 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv +312 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect +320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +336 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv +344 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi +352 (int (*)(...))QLayoutItem::minimumHeightForWidth +360 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout10invalidateEv +368 (int (*)(...))QLayoutItem::widget +376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +384 (int (*)(...))QLayoutItem::spacerItem +392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QFormLayout + size=32 align=8 + base size=28 base align=8 +QFormLayout (0x0x7f76105d9e38) 0 + vptr=((& QFormLayout::_ZTV11QFormLayout) + 16) + QLayout (0x0x7f76163df8c0) 0 + primary-for QFormLayout (0x0x7f76105d9e38) + QObject (0x0x7f76102815a0) 0 + primary-for QLayout (0x0x7f76163df8c0) + QLayoutItem (0x0x7f7610281600) 16 + vptr=((& QFormLayout::_ZTV11QFormLayout) + 264) + +Class QGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGesture::QPrivateSignal (0x0x7f76102a5ae0) 0 empty + +Vtable for QGesture +QGesture::_ZTV8QGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QGesture) +16 (int (*)(...))QGesture::metaObject +24 (int (*)(...))QGesture::qt_metacast +32 (int (*)(...))QGesture::qt_metacall +40 (int (*)(...))QGesture::~QGesture +48 (int (*)(...))QGesture::~QGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QGesture + size=16 align=8 + base size=16 base align=8 +QGesture (0x0x7f76102a91a0) 0 + vptr=((& QGesture::_ZTV8QGesture) + 16) + QObject (0x0x7f76102a5a80) 0 + primary-for QGesture (0x0x7f76102a91a0) + +Class QPanGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPanGesture::QPrivateSignal (0x0x7f76102a5d20) 0 empty + +Vtable for QPanGesture +QPanGesture::_ZTV11QPanGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QPanGesture) +16 (int (*)(...))QPanGesture::metaObject +24 (int (*)(...))QPanGesture::qt_metacast +32 (int (*)(...))QPanGesture::qt_metacall +40 (int (*)(...))QPanGesture::~QPanGesture +48 (int (*)(...))QPanGesture::~QPanGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPanGesture + size=16 align=8 + base size=16 base align=8 +QPanGesture (0x0x7f76102a9208) 0 + vptr=((& QPanGesture::_ZTV11QPanGesture) + 16) + QGesture (0x0x7f76102a9270) 0 + primary-for QPanGesture (0x0x7f76102a9208) + QObject (0x0x7f76102a5cc0) 0 + primary-for QGesture (0x0x7f76102a9270) + +Class QPinchGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPinchGesture::QPrivateSignal (0x0x7f76102a5f60) 0 empty + +Vtable for QPinchGesture +QPinchGesture::_ZTV13QPinchGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QPinchGesture) +16 (int (*)(...))QPinchGesture::metaObject +24 (int (*)(...))QPinchGesture::qt_metacast +32 (int (*)(...))QPinchGesture::qt_metacall +40 (int (*)(...))QPinchGesture::~QPinchGesture +48 (int (*)(...))QPinchGesture::~QPinchGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPinchGesture + size=16 align=8 + base size=16 base align=8 +QPinchGesture (0x0x7f76102a92d8) 0 + vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16) + QGesture (0x0x7f76102a9340) 0 + primary-for QPinchGesture (0x0x7f76102a92d8) + QObject (0x0x7f76102a5f00) 0 + primary-for QGesture (0x0x7f76102a9340) + +Class QSwipeGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSwipeGesture::QPrivateSignal (0x0x7f76102c0c00) 0 empty + +Vtable for QSwipeGesture +QSwipeGesture::_ZTV13QSwipeGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSwipeGesture) +16 (int (*)(...))QSwipeGesture::metaObject +24 (int (*)(...))QSwipeGesture::qt_metacast +32 (int (*)(...))QSwipeGesture::qt_metacall +40 (int (*)(...))QSwipeGesture::~QSwipeGesture +48 (int (*)(...))QSwipeGesture::~QSwipeGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSwipeGesture + size=16 align=8 + base size=16 base align=8 +QSwipeGesture (0x0x7f76102a9478) 0 + vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16) + QGesture (0x0x7f76102a94e0) 0 + primary-for QSwipeGesture (0x0x7f76102a9478) + QObject (0x0x7f76102c0ba0) 0 + primary-for QGesture (0x0x7f76102a94e0) + +Class QTapGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTapGesture::QPrivateSignal (0x0x7f76102c0f60) 0 empty + +Vtable for QTapGesture +QTapGesture::_ZTV11QTapGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTapGesture) +16 (int (*)(...))QTapGesture::metaObject +24 (int (*)(...))QTapGesture::qt_metacast +32 (int (*)(...))QTapGesture::qt_metacall +40 (int (*)(...))QTapGesture::~QTapGesture +48 (int (*)(...))QTapGesture::~QTapGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTapGesture + size=16 align=8 + base size=16 base align=8 +QTapGesture (0x0x7f76102a9548) 0 + vptr=((& QTapGesture::_ZTV11QTapGesture) + 16) + QGesture (0x0x7f76102a95b0) 0 + primary-for QTapGesture (0x0x7f76102a9548) + QObject (0x0x7f76102c0f00) 0 + primary-for QGesture (0x0x7f76102a95b0) + +Class QTapAndHoldGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTapAndHoldGesture::QPrivateSignal (0x0x7f76102db1e0) 0 empty + +Vtable for QTapAndHoldGesture +QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QTapAndHoldGesture) +16 (int (*)(...))QTapAndHoldGesture::metaObject +24 (int (*)(...))QTapAndHoldGesture::qt_metacast +32 (int (*)(...))QTapAndHoldGesture::qt_metacall +40 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture +48 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTapAndHoldGesture + size=16 align=8 + base size=16 base align=8 +QTapAndHoldGesture (0x0x7f76102a9618) 0 + vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16) + QGesture (0x0x7f76102a9680) 0 + primary-for QTapAndHoldGesture (0x0x7f76102a9618) + QObject (0x0x7f76102db180) 0 + primary-for QGesture (0x0x7f76102a9680) + +Vtable for QGestureEvent +QGestureEvent::_ZTV13QGestureEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QGestureEvent) +16 (int (*)(...))QGestureEvent::~QGestureEvent +24 (int (*)(...))QGestureEvent::~QGestureEvent + +Class QGestureEvent + size=56 align=8 + base size=56 base align=8 +QGestureEvent (0x0x7f76102a96e8) 0 + vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16) + QEvent (0x0x7f76102db3c0) 0 + primary-for QGestureEvent (0x0x7f76102a96e8) + +Vtable for QGestureRecognizer +QGestureRecognizer::_ZTV18QGestureRecognizer: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QGestureRecognizer) +16 0 +24 0 +32 (int (*)(...))QGestureRecognizer::create +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QGestureRecognizer::reset + +Class QGestureRecognizer + size=8 align=8 + base size=8 base align=8 +QGestureRecognizer (0x0x7f76102db840) 0 nearly-empty + vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16) + +Vtable for QGraphicsItem +QGraphicsItem::_ZTV13QGraphicsItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QGraphicsItem) +16 0 +24 0 +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QGraphicsItem::shape +56 (int (*)(...))QGraphicsItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsItem::isObscuredBy +88 (int (*)(...))QGraphicsItem::opaqueArea +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))QGraphicsItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsItem::supportsExtension +296 (int (*)(...))QGraphicsItem::setExtension +304 (int (*)(...))QGraphicsItem::extension + +Class QGraphicsItem + size=16 align=8 + base size=16 base align=8 +QGraphicsItem (0x0x7f76102dbf60) 0 + vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16) + +Class QGraphicsObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsObject::QPrivateSignal (0x0x7f761036d540) 0 empty + +Vtable for QGraphicsObject +QGraphicsObject::_ZTV15QGraphicsObject: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsObject) +16 (int (*)(...))QGraphicsObject::metaObject +24 (int (*)(...))QGraphicsObject::qt_metacast +32 (int (*)(...))QGraphicsObject::qt_metacall +40 0 +48 0 +56 (int (*)(...))QGraphicsObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))-16 +120 (int (*)(...))(& _ZTI15QGraphicsObject) +128 0 +136 0 +144 (int (*)(...))QGraphicsItem::advance +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))QGraphicsItem::shape +168 (int (*)(...))QGraphicsItem::contains +176 (int (*)(...))QGraphicsItem::collidesWithItem +184 (int (*)(...))QGraphicsItem::collidesWithPath +192 (int (*)(...))QGraphicsItem::isObscuredBy +200 (int (*)(...))QGraphicsItem::opaqueArea +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))QGraphicsItem::type +224 (int (*)(...))QGraphicsItem::sceneEventFilter +232 (int (*)(...))QGraphicsItem::sceneEvent +240 (int (*)(...))QGraphicsItem::contextMenuEvent +248 (int (*)(...))QGraphicsItem::dragEnterEvent +256 (int (*)(...))QGraphicsItem::dragLeaveEvent +264 (int (*)(...))QGraphicsItem::dragMoveEvent +272 (int (*)(...))QGraphicsItem::dropEvent +280 (int (*)(...))QGraphicsItem::focusInEvent +288 (int (*)(...))QGraphicsItem::focusOutEvent +296 (int (*)(...))QGraphicsItem::hoverEnterEvent +304 (int (*)(...))QGraphicsItem::hoverMoveEvent +312 (int (*)(...))QGraphicsItem::hoverLeaveEvent +320 (int (*)(...))QGraphicsItem::keyPressEvent +328 (int (*)(...))QGraphicsItem::keyReleaseEvent +336 (int (*)(...))QGraphicsItem::mousePressEvent +344 (int (*)(...))QGraphicsItem::mouseMoveEvent +352 (int (*)(...))QGraphicsItem::mouseReleaseEvent +360 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +368 (int (*)(...))QGraphicsItem::wheelEvent +376 (int (*)(...))QGraphicsItem::inputMethodEvent +384 (int (*)(...))QGraphicsItem::inputMethodQuery +392 (int (*)(...))QGraphicsItem::itemChange +400 (int (*)(...))QGraphicsItem::supportsExtension +408 (int (*)(...))QGraphicsItem::setExtension +416 (int (*)(...))QGraphicsItem::extension + +Class QGraphicsObject + size=32 align=8 + base size=32 base align=8 +QGraphicsObject (0x0x7f7616046150) 0 + vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16) + QObject (0x0x7f761036d480) 0 + primary-for QGraphicsObject (0x0x7f7616046150) + QGraphicsItem (0x0x7f761036d4e0) 16 + vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128) + +Vtable for QAbstractGraphicsShapeItem +QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem) +16 0 +24 0 +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QGraphicsItem::shape +56 (int (*)(...))QGraphicsItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QAbstractGraphicsShapeItem::isObscuredBy +88 (int (*)(...))QAbstractGraphicsShapeItem::opaqueArea +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))QGraphicsItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsItem::supportsExtension +296 (int (*)(...))QGraphicsItem::setExtension +304 (int (*)(...))QGraphicsItem::extension + +Class QAbstractGraphicsShapeItem + size=16 align=8 + base size=16 base align=8 +QAbstractGraphicsShapeItem (0x0x7f76102a9958) 0 + vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16) + QGraphicsItem (0x0x7f761036d660) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7f76102a9958) + +Vtable for QGraphicsPathItem +QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsPathItem) +16 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem +24 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsPathItem::boundingRect +48 (int (*)(...))QGraphicsPathItem::shape +56 (int (*)(...))QGraphicsPathItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsPathItem::isObscuredBy +88 (int (*)(...))QGraphicsPathItem::opaqueArea +96 (int (*)(...))QGraphicsPathItem::paint +104 (int (*)(...))QGraphicsPathItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsPathItem::supportsExtension +296 (int (*)(...))QGraphicsPathItem::setExtension +304 (int (*)(...))QGraphicsPathItem::extension + +Class QGraphicsPathItem + size=16 align=8 + base size=16 base align=8 +QGraphicsPathItem (0x0x7f76102a99c0) 0 + vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16) + QAbstractGraphicsShapeItem (0x0x7f76102a9a28) 0 + primary-for QGraphicsPathItem (0x0x7f76102a99c0) + QGraphicsItem (0x0x7f761036d780) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7f76102a9a28) + +Vtable for QGraphicsRectItem +QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsRectItem) +16 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem +24 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsRectItem::boundingRect +48 (int (*)(...))QGraphicsRectItem::shape +56 (int (*)(...))QGraphicsRectItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsRectItem::isObscuredBy +88 (int (*)(...))QGraphicsRectItem::opaqueArea +96 (int (*)(...))QGraphicsRectItem::paint +104 (int (*)(...))QGraphicsRectItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsRectItem::supportsExtension +296 (int (*)(...))QGraphicsRectItem::setExtension +304 (int (*)(...))QGraphicsRectItem::extension + +Class QGraphicsRectItem + size=16 align=8 + base size=16 base align=8 +QGraphicsRectItem (0x0x7f76102a9a90) 0 + vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16) + QAbstractGraphicsShapeItem (0x0x7f76102a9af8) 0 + primary-for QGraphicsRectItem (0x0x7f76102a9a90) + QGraphicsItem (0x0x7f761036d8a0) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7f76102a9af8) + +Vtable for QGraphicsEllipseItem +QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem) +16 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem +24 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsEllipseItem::boundingRect +48 (int (*)(...))QGraphicsEllipseItem::shape +56 (int (*)(...))QGraphicsEllipseItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsEllipseItem::isObscuredBy +88 (int (*)(...))QGraphicsEllipseItem::opaqueArea +96 (int (*)(...))QGraphicsEllipseItem::paint +104 (int (*)(...))QGraphicsEllipseItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsEllipseItem::supportsExtension +296 (int (*)(...))QGraphicsEllipseItem::setExtension +304 (int (*)(...))QGraphicsEllipseItem::extension + +Class QGraphicsEllipseItem + size=16 align=8 + base size=16 base align=8 +QGraphicsEllipseItem (0x0x7f76102a9b60) 0 + vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16) + QAbstractGraphicsShapeItem (0x0x7f76102a9bc8) 0 + primary-for QGraphicsEllipseItem (0x0x7f76102a9b60) + QGraphicsItem (0x0x7f761036da20) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7f76102a9bc8) + +Vtable for QGraphicsPolygonItem +QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem) +16 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem +24 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsPolygonItem::boundingRect +48 (int (*)(...))QGraphicsPolygonItem::shape +56 (int (*)(...))QGraphicsPolygonItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsPolygonItem::isObscuredBy +88 (int (*)(...))QGraphicsPolygonItem::opaqueArea +96 (int (*)(...))QGraphicsPolygonItem::paint +104 (int (*)(...))QGraphicsPolygonItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsPolygonItem::supportsExtension +296 (int (*)(...))QGraphicsPolygonItem::setExtension +304 (int (*)(...))QGraphicsPolygonItem::extension + +Class QGraphicsPolygonItem + size=16 align=8 + base size=16 base align=8 +QGraphicsPolygonItem (0x0x7f76102a9c30) 0 + vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16) + QAbstractGraphicsShapeItem (0x0x7f76102a9c98) 0 + primary-for QGraphicsPolygonItem (0x0x7f76102a9c30) + QGraphicsItem (0x0x7f761036dba0) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7f76102a9c98) + +Vtable for QGraphicsLineItem +QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsLineItem) +16 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem +24 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsLineItem::boundingRect +48 (int (*)(...))QGraphicsLineItem::shape +56 (int (*)(...))QGraphicsLineItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsLineItem::isObscuredBy +88 (int (*)(...))QGraphicsLineItem::opaqueArea +96 (int (*)(...))QGraphicsLineItem::paint +104 (int (*)(...))QGraphicsLineItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsLineItem::supportsExtension +296 (int (*)(...))QGraphicsLineItem::setExtension +304 (int (*)(...))QGraphicsLineItem::extension + +Class QGraphicsLineItem + size=16 align=8 + base size=16 base align=8 +QGraphicsLineItem (0x0x7f76102a9d00) 0 + vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16) + QGraphicsItem (0x0x7f761036dcc0) 0 + primary-for QGraphicsLineItem (0x0x7f76102a9d00) + +Vtable for QGraphicsPixmapItem +QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem) +16 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem +24 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsPixmapItem::boundingRect +48 (int (*)(...))QGraphicsPixmapItem::shape +56 (int (*)(...))QGraphicsPixmapItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsPixmapItem::isObscuredBy +88 (int (*)(...))QGraphicsPixmapItem::opaqueArea +96 (int (*)(...))QGraphicsPixmapItem::paint +104 (int (*)(...))QGraphicsPixmapItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsPixmapItem::supportsExtension +296 (int (*)(...))QGraphicsPixmapItem::setExtension +304 (int (*)(...))QGraphicsPixmapItem::extension + +Class QGraphicsPixmapItem + size=16 align=8 + base size=16 base align=8 +QGraphicsPixmapItem (0x0x7f76102a9d68) 0 + vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16) + QGraphicsItem (0x0x7f761036de40) 0 + primary-for QGraphicsPixmapItem (0x0x7f76102a9d68) + +Class QGraphicsTextItem::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsTextItem::QPrivateSignal (0x0x7f76103aa0c0) 0 empty + +Vtable for QGraphicsTextItem +QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsTextItem) +16 (int (*)(...))QGraphicsTextItem::metaObject +24 (int (*)(...))QGraphicsTextItem::qt_metacast +32 (int (*)(...))QGraphicsTextItem::qt_metacall +40 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem +48 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem +56 (int (*)(...))QGraphicsObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsTextItem::boundingRect +120 (int (*)(...))QGraphicsTextItem::shape +128 (int (*)(...))QGraphicsTextItem::contains +136 (int (*)(...))QGraphicsTextItem::paint +144 (int (*)(...))QGraphicsTextItem::isObscuredBy +152 (int (*)(...))QGraphicsTextItem::opaqueArea +160 (int (*)(...))QGraphicsTextItem::type +168 (int (*)(...))QGraphicsTextItem::sceneEvent +176 (int (*)(...))QGraphicsTextItem::mousePressEvent +184 (int (*)(...))QGraphicsTextItem::mouseMoveEvent +192 (int (*)(...))QGraphicsTextItem::mouseReleaseEvent +200 (int (*)(...))QGraphicsTextItem::mouseDoubleClickEvent +208 (int (*)(...))QGraphicsTextItem::contextMenuEvent +216 (int (*)(...))QGraphicsTextItem::keyPressEvent +224 (int (*)(...))QGraphicsTextItem::keyReleaseEvent +232 (int (*)(...))QGraphicsTextItem::focusInEvent +240 (int (*)(...))QGraphicsTextItem::focusOutEvent +248 (int (*)(...))QGraphicsTextItem::dragEnterEvent +256 (int (*)(...))QGraphicsTextItem::dragLeaveEvent +264 (int (*)(...))QGraphicsTextItem::dragMoveEvent +272 (int (*)(...))QGraphicsTextItem::dropEvent +280 (int (*)(...))QGraphicsTextItem::inputMethodEvent +288 (int (*)(...))QGraphicsTextItem::hoverEnterEvent +296 (int (*)(...))QGraphicsTextItem::hoverMoveEvent +304 (int (*)(...))QGraphicsTextItem::hoverLeaveEvent +312 (int (*)(...))QGraphicsTextItem::inputMethodQuery +320 (int (*)(...))QGraphicsTextItem::supportsExtension +328 (int (*)(...))QGraphicsTextItem::setExtension +336 (int (*)(...))QGraphicsTextItem::extension +344 (int (*)(...))-16 +352 (int (*)(...))(& _ZTI17QGraphicsTextItem) +360 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev +368 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev +376 (int (*)(...))QGraphicsItem::advance +384 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv +392 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv +400 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF +408 (int (*)(...))QGraphicsItem::collidesWithItem +416 (int (*)(...))QGraphicsItem::collidesWithPath +424 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem +432 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv +440 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget +448 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv +456 (int (*)(...))QGraphicsItem::sceneEventFilter +464 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent +472 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent +480 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent +488 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent +496 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent +504 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent +512 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent +520 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent +528 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent +536 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent +544 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent +552 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent +560 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent +568 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent +576 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent +584 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent +592 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent +600 (int (*)(...))QGraphicsItem::wheelEvent +608 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent +616 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE +624 (int (*)(...))QGraphicsItem::itemChange +632 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE +640 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant +648 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant + +Class QGraphicsTextItem + size=40 align=8 + base size=40 base align=8 +QGraphicsTextItem (0x0x7f76102a9dd0) 0 + vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16) + QGraphicsObject (0x0x7f7615cc0690) 0 + primary-for QGraphicsTextItem (0x0x7f76102a9dd0) + QObject (0x0x7f76103aa000) 0 + primary-for QGraphicsObject (0x0x7f7615cc0690) + QGraphicsItem (0x0x7f76103aa060) 16 + vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360) + +Vtable for QGraphicsSimpleTextItem +QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem) +16 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem +24 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsSimpleTextItem::boundingRect +48 (int (*)(...))QGraphicsSimpleTextItem::shape +56 (int (*)(...))QGraphicsSimpleTextItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsSimpleTextItem::isObscuredBy +88 (int (*)(...))QGraphicsSimpleTextItem::opaqueArea +96 (int (*)(...))QGraphicsSimpleTextItem::paint +104 (int (*)(...))QGraphicsSimpleTextItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsSimpleTextItem::supportsExtension +296 (int (*)(...))QGraphicsSimpleTextItem::setExtension +304 (int (*)(...))QGraphicsSimpleTextItem::extension + +Class QGraphicsSimpleTextItem + size=16 align=8 + base size=16 base align=8 +QGraphicsSimpleTextItem (0x0x7f76102a9f08) 0 + vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16) + QAbstractGraphicsShapeItem (0x0x7f76102a9f70) 0 + primary-for QGraphicsSimpleTextItem (0x0x7f76102a9f08) + QGraphicsItem (0x0x7f76103aa3c0) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7f76102a9f70) + +Vtable for QGraphicsItemGroup +QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QGraphicsItemGroup) +16 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup +24 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsItemGroup::boundingRect +48 (int (*)(...))QGraphicsItem::shape +56 (int (*)(...))QGraphicsItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsItemGroup::isObscuredBy +88 (int (*)(...))QGraphicsItemGroup::opaqueArea +96 (int (*)(...))QGraphicsItemGroup::paint +104 (int (*)(...))QGraphicsItemGroup::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsItem::supportsExtension +296 (int (*)(...))QGraphicsItem::setExtension +304 (int (*)(...))QGraphicsItem::extension + +Class QGraphicsItemGroup + size=16 align=8 + base size=16 base align=8 +QGraphicsItemGroup (0x0x7f76103c3000) 0 + vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16) + QGraphicsItem (0x0x7f76103aa4e0) 0 + primary-for QGraphicsItemGroup (0x0x7f76103c3000) + +Vtable for QGraphicsLayoutItem +QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem) +16 0 +24 0 +32 (int (*)(...))QGraphicsLayoutItem::setGeometry +40 (int (*)(...))QGraphicsLayoutItem::getContentsMargins +48 (int (*)(...))QGraphicsLayoutItem::updateGeometry +56 (int (*)(...))__cxa_pure_virtual + +Class QGraphicsLayoutItem + size=16 align=8 + base size=16 base align=8 +QGraphicsLayoutItem (0x0x7f76103aa8a0) 0 + vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16) + +Vtable for QGraphicsLayout +QGraphicsLayout::_ZTV15QGraphicsLayout: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsLayout) +16 0 +24 0 +32 (int (*)(...))QGraphicsLayoutItem::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))QGraphicsLayout::invalidate +72 (int (*)(...))QGraphicsLayout::widgetEvent +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual + +Class QGraphicsLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsLayout (0x0x7f76103c3068) 0 + vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16) + QGraphicsLayoutItem (0x0x7f76103aaf60) 0 + primary-for QGraphicsLayout (0x0x7f76103c3068) + +Class QGraphicsAnchor::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsAnchor::QPrivateSignal (0x0x7f76103e12a0) 0 empty + +Vtable for QGraphicsAnchor +QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsAnchor) +16 (int (*)(...))QGraphicsAnchor::metaObject +24 (int (*)(...))QGraphicsAnchor::qt_metacast +32 (int (*)(...))QGraphicsAnchor::qt_metacall +40 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor +48 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QGraphicsAnchor + size=16 align=8 + base size=16 base align=8 +QGraphicsAnchor (0x0x7f76103c30d0) 0 + vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16) + QObject (0x0x7f76103e1240) 0 + primary-for QGraphicsAnchor (0x0x7f76103c30d0) + +Vtable for QGraphicsAnchorLayout +QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout) +16 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout +24 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout +32 (int (*)(...))QGraphicsAnchorLayout::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))QGraphicsAnchorLayout::sizeHint +64 (int (*)(...))QGraphicsAnchorLayout::invalidate +72 (int (*)(...))QGraphicsLayout::widgetEvent +80 (int (*)(...))QGraphicsAnchorLayout::count +88 (int (*)(...))QGraphicsAnchorLayout::itemAt +96 (int (*)(...))QGraphicsAnchorLayout::removeAt + +Class QGraphicsAnchorLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsAnchorLayout (0x0x7f76103c3138) 0 + vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16) + QGraphicsLayout (0x0x7f76103c31a0) 0 + primary-for QGraphicsAnchorLayout (0x0x7f76103c3138) + QGraphicsLayoutItem (0x0x7f76103e1480) 0 + primary-for QGraphicsLayout (0x0x7f76103c31a0) + +Class QGraphicsEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsEffect::QPrivateSignal (0x0x7f76103e1600) 0 empty + +Vtable for QGraphicsEffect +QGraphicsEffect::_ZTV15QGraphicsEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsEffect) +16 (int (*)(...))QGraphicsEffect::metaObject +24 (int (*)(...))QGraphicsEffect::qt_metacast +32 (int (*)(...))QGraphicsEffect::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsEffect::boundingRectFor +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsEffect (0x0x7f76103c3208) 0 + vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16) + QObject (0x0x7f76103e15a0) 0 + primary-for QGraphicsEffect (0x0x7f76103c3208) + +Class QGraphicsColorizeEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsColorizeEffect::QPrivateSignal (0x0x7f7610004000) 0 empty + +Vtable for QGraphicsColorizeEffect +QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect) +16 (int (*)(...))QGraphicsColorizeEffect::metaObject +24 (int (*)(...))QGraphicsColorizeEffect::qt_metacast +32 (int (*)(...))QGraphicsColorizeEffect::qt_metacall +40 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect +48 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsEffect::boundingRectFor +120 (int (*)(...))QGraphicsColorizeEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsColorizeEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsColorizeEffect (0x0x7f76103c3340) 0 + vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16) + QGraphicsEffect (0x0x7f76103c33a8) 0 + primary-for QGraphicsColorizeEffect (0x0x7f76103c3340) + QObject (0x0x7f76103e1f60) 0 + primary-for QGraphicsEffect (0x0x7f76103c33a8) + +Class QGraphicsBlurEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsBlurEffect::QPrivateSignal (0x0x7f7610004240) 0 empty + +Vtable for QGraphicsBlurEffect +QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect) +16 (int (*)(...))QGraphicsBlurEffect::metaObject +24 (int (*)(...))QGraphicsBlurEffect::qt_metacast +32 (int (*)(...))QGraphicsBlurEffect::qt_metacall +40 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect +48 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsBlurEffect::boundingRectFor +120 (int (*)(...))QGraphicsBlurEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsBlurEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsBlurEffect (0x0x7f76103c3410) 0 + vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16) + QGraphicsEffect (0x0x7f76103c3478) 0 + primary-for QGraphicsBlurEffect (0x0x7f76103c3410) + QObject (0x0x7f76100041e0) 0 + primary-for QGraphicsEffect (0x0x7f76103c3478) + +Class QGraphicsDropShadowEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsDropShadowEffect::QPrivateSignal (0x0x7f7610004cc0) 0 empty + +Vtable for QGraphicsDropShadowEffect +QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect) +16 (int (*)(...))QGraphicsDropShadowEffect::metaObject +24 (int (*)(...))QGraphicsDropShadowEffect::qt_metacast +32 (int (*)(...))QGraphicsDropShadowEffect::qt_metacall +40 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect +48 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsDropShadowEffect::boundingRectFor +120 (int (*)(...))QGraphicsDropShadowEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsDropShadowEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsDropShadowEffect (0x0x7f76103c35b0) 0 + vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16) + QGraphicsEffect (0x0x7f76103c3618) 0 + primary-for QGraphicsDropShadowEffect (0x0x7f76103c35b0) + QObject (0x0x7f7610004c60) 0 + primary-for QGraphicsEffect (0x0x7f76103c3618) + +Class QGraphicsOpacityEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsOpacityEffect::QPrivateSignal (0x0x7f7610025180) 0 empty + +Vtable for QGraphicsOpacityEffect +QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect) +16 (int (*)(...))QGraphicsOpacityEffect::metaObject +24 (int (*)(...))QGraphicsOpacityEffect::qt_metacast +32 (int (*)(...))QGraphicsOpacityEffect::qt_metacall +40 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect +48 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsEffect::boundingRectFor +120 (int (*)(...))QGraphicsOpacityEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsOpacityEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsOpacityEffect (0x0x7f76103c3680) 0 + vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16) + QGraphicsEffect (0x0x7f76103c36e8) 0 + primary-for QGraphicsOpacityEffect (0x0x7f76103c3680) + QObject (0x0x7f7610025120) 0 + primary-for QGraphicsEffect (0x0x7f76103c36e8) + +Vtable for QGraphicsGridLayout +QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsGridLayout) +16 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout +24 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout +32 (int (*)(...))QGraphicsGridLayout::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))QGraphicsGridLayout::sizeHint +64 (int (*)(...))QGraphicsGridLayout::invalidate +72 (int (*)(...))QGraphicsLayout::widgetEvent +80 (int (*)(...))QGraphicsGridLayout::count +88 (int (*)(...))QGraphicsGridLayout::itemAt +96 (int (*)(...))QGraphicsGridLayout::removeAt + +Class QGraphicsGridLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsGridLayout (0x0x7f76103c3750) 0 + vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16) + QGraphicsLayout (0x0x7f76103c37b8) 0 + primary-for QGraphicsGridLayout (0x0x7f76103c3750) + QGraphicsLayoutItem (0x0x7f7610025360) 0 + primary-for QGraphicsLayout (0x0x7f76103c37b8) + +Class QGraphicsItemAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsItemAnimation::QPrivateSignal (0x0x7f7610025540) 0 empty + +Vtable for QGraphicsItemAnimation +QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation) +16 (int (*)(...))QGraphicsItemAnimation::metaObject +24 (int (*)(...))QGraphicsItemAnimation::qt_metacast +32 (int (*)(...))QGraphicsItemAnimation::qt_metacall +40 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation +48 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsItemAnimation::beforeAnimationStep +120 (int (*)(...))QGraphicsItemAnimation::afterAnimationStep + +Class QGraphicsItemAnimation + size=24 align=8 + base size=24 base align=8 +QGraphicsItemAnimation (0x0x7f76103c38f0) 0 + vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16) + QObject (0x0x7f76100254e0) 0 + primary-for QGraphicsItemAnimation (0x0x7f76103c38f0) + +Vtable for QGraphicsLinearLayout +QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout) +16 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout +24 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout +32 (int (*)(...))QGraphicsLinearLayout::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))QGraphicsLinearLayout::sizeHint +64 (int (*)(...))QGraphicsLinearLayout::invalidate +72 (int (*)(...))QGraphicsLayout::widgetEvent +80 (int (*)(...))QGraphicsLinearLayout::count +88 (int (*)(...))QGraphicsLinearLayout::itemAt +96 (int (*)(...))QGraphicsLinearLayout::removeAt + +Class QGraphicsLinearLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsLinearLayout (0x0x7f76103c3958) 0 + vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16) + QGraphicsLayout (0x0x7f76103c39c0) 0 + primary-for QGraphicsLinearLayout (0x0x7f76103c3958) + QGraphicsLayoutItem (0x0x7f7610025660) 0 + primary-for QGraphicsLayout (0x0x7f76103c39c0) + +Class QGraphicsWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsWidget::QPrivateSignal (0x0x7f7610025960) 0 empty + +Vtable for QGraphicsWidget +QGraphicsWidget::_ZTV15QGraphicsWidget: 92 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsWidget) +16 (int (*)(...))QGraphicsWidget::metaObject +24 (int (*)(...))QGraphicsWidget::qt_metacast +32 (int (*)(...))QGraphicsWidget::qt_metacall +40 (int (*)(...))QGraphicsWidget::~QGraphicsWidget +48 (int (*)(...))QGraphicsWidget::~QGraphicsWidget +56 (int (*)(...))QGraphicsWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsWidget::setGeometry +120 (int (*)(...))QGraphicsWidget::getContentsMargins +128 (int (*)(...))QGraphicsWidget::type +136 (int (*)(...))QGraphicsWidget::paint +144 (int (*)(...))QGraphicsWidget::paintWindowFrame +152 (int (*)(...))QGraphicsWidget::boundingRect +160 (int (*)(...))QGraphicsWidget::shape +168 (int (*)(...))QGraphicsWidget::initStyleOption +176 (int (*)(...))QGraphicsWidget::sizeHint +184 (int (*)(...))QGraphicsWidget::updateGeometry +192 (int (*)(...))QGraphicsWidget::itemChange +200 (int (*)(...))QGraphicsWidget::propertyChange +208 (int (*)(...))QGraphicsWidget::sceneEvent +216 (int (*)(...))QGraphicsWidget::windowFrameEvent +224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt +232 (int (*)(...))QGraphicsWidget::changeEvent +240 (int (*)(...))QGraphicsWidget::closeEvent +248 (int (*)(...))QGraphicsWidget::focusInEvent +256 (int (*)(...))QGraphicsWidget::focusNextPrevChild +264 (int (*)(...))QGraphicsWidget::focusOutEvent +272 (int (*)(...))QGraphicsWidget::hideEvent +280 (int (*)(...))QGraphicsWidget::moveEvent +288 (int (*)(...))QGraphicsWidget::polishEvent +296 (int (*)(...))QGraphicsWidget::resizeEvent +304 (int (*)(...))QGraphicsWidget::showEvent +312 (int (*)(...))QGraphicsWidget::hoverMoveEvent +320 (int (*)(...))QGraphicsWidget::hoverLeaveEvent +328 (int (*)(...))QGraphicsWidget::grabMouseEvent +336 (int (*)(...))QGraphicsWidget::ungrabMouseEvent +344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent +352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent +360 (int (*)(...))-16 +368 (int (*)(...))(& _ZTI15QGraphicsWidget) +376 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev +384 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev +392 (int (*)(...))QGraphicsItem::advance +400 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv +408 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv +416 (int (*)(...))QGraphicsItem::contains +424 (int (*)(...))QGraphicsItem::collidesWithItem +432 (int (*)(...))QGraphicsItem::collidesWithPath +440 (int (*)(...))QGraphicsItem::isObscuredBy +448 (int (*)(...))QGraphicsItem::opaqueArea +456 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget +464 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv +472 (int (*)(...))QGraphicsItem::sceneEventFilter +480 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent +488 (int (*)(...))QGraphicsItem::contextMenuEvent +496 (int (*)(...))QGraphicsItem::dragEnterEvent +504 (int (*)(...))QGraphicsItem::dragLeaveEvent +512 (int (*)(...))QGraphicsItem::dragMoveEvent +520 (int (*)(...))QGraphicsItem::dropEvent +528 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent +536 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent +544 (int (*)(...))QGraphicsItem::hoverEnterEvent +552 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent +560 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent +568 (int (*)(...))QGraphicsItem::keyPressEvent +576 (int (*)(...))QGraphicsItem::keyReleaseEvent +584 (int (*)(...))QGraphicsItem::mousePressEvent +592 (int (*)(...))QGraphicsItem::mouseMoveEvent +600 (int (*)(...))QGraphicsItem::mouseReleaseEvent +608 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +616 (int (*)(...))QGraphicsItem::wheelEvent +624 (int (*)(...))QGraphicsItem::inputMethodEvent +632 (int (*)(...))QGraphicsItem::inputMethodQuery +640 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant +648 (int (*)(...))QGraphicsItem::supportsExtension +656 (int (*)(...))QGraphicsItem::setExtension +664 (int (*)(...))QGraphicsItem::extension +672 (int (*)(...))-32 +680 (int (*)(...))(& _ZTI15QGraphicsWidget) +688 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev +696 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev +704 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF +712 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_ +720 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv +728 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF + +Class QGraphicsWidget + size=48 align=8 + base size=48 base align=8 +QGraphicsWidget (0x0x7f7615e4e700) 0 + vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16) + QGraphicsObject (0x0x7f7615e4e770) 0 + primary-for QGraphicsWidget (0x0x7f7615e4e700) + QObject (0x0x7f7610025840) 0 + primary-for QGraphicsObject (0x0x7f7615e4e770) + QGraphicsItem (0x0x7f76100258a0) 16 + vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376) + QGraphicsLayoutItem (0x0x7f7610025900) 32 + vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688) + +Class QGraphicsProxyWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsProxyWidget::QPrivateSignal (0x0x7f7610025e40) 0 empty + +Vtable for QGraphicsProxyWidget +QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 107 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget) +16 (int (*)(...))QGraphicsProxyWidget::metaObject +24 (int (*)(...))QGraphicsProxyWidget::qt_metacast +32 (int (*)(...))QGraphicsProxyWidget::qt_metacall +40 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget +48 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget +56 (int (*)(...))QGraphicsProxyWidget::event +64 (int (*)(...))QGraphicsProxyWidget::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsProxyWidget::setGeometry +120 (int (*)(...))QGraphicsWidget::getContentsMargins +128 (int (*)(...))QGraphicsProxyWidget::type +136 (int (*)(...))QGraphicsProxyWidget::paint +144 (int (*)(...))QGraphicsWidget::paintWindowFrame +152 (int (*)(...))QGraphicsWidget::boundingRect +160 (int (*)(...))QGraphicsWidget::shape +168 (int (*)(...))QGraphicsWidget::initStyleOption +176 (int (*)(...))QGraphicsProxyWidget::sizeHint +184 (int (*)(...))QGraphicsWidget::updateGeometry +192 (int (*)(...))QGraphicsProxyWidget::itemChange +200 (int (*)(...))QGraphicsWidget::propertyChange +208 (int (*)(...))QGraphicsWidget::sceneEvent +216 (int (*)(...))QGraphicsWidget::windowFrameEvent +224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt +232 (int (*)(...))QGraphicsWidget::changeEvent +240 (int (*)(...))QGraphicsWidget::closeEvent +248 (int (*)(...))QGraphicsProxyWidget::focusInEvent +256 (int (*)(...))QGraphicsProxyWidget::focusNextPrevChild +264 (int (*)(...))QGraphicsProxyWidget::focusOutEvent +272 (int (*)(...))QGraphicsProxyWidget::hideEvent +280 (int (*)(...))QGraphicsWidget::moveEvent +288 (int (*)(...))QGraphicsWidget::polishEvent +296 (int (*)(...))QGraphicsProxyWidget::resizeEvent +304 (int (*)(...))QGraphicsProxyWidget::showEvent +312 (int (*)(...))QGraphicsProxyWidget::hoverMoveEvent +320 (int (*)(...))QGraphicsProxyWidget::hoverLeaveEvent +328 (int (*)(...))QGraphicsProxyWidget::grabMouseEvent +336 (int (*)(...))QGraphicsProxyWidget::ungrabMouseEvent +344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent +352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent +360 (int (*)(...))QGraphicsProxyWidget::contextMenuEvent +368 (int (*)(...))QGraphicsProxyWidget::dragEnterEvent +376 (int (*)(...))QGraphicsProxyWidget::dragLeaveEvent +384 (int (*)(...))QGraphicsProxyWidget::dragMoveEvent +392 (int (*)(...))QGraphicsProxyWidget::dropEvent +400 (int (*)(...))QGraphicsProxyWidget::hoverEnterEvent +408 (int (*)(...))QGraphicsProxyWidget::mouseMoveEvent +416 (int (*)(...))QGraphicsProxyWidget::mousePressEvent +424 (int (*)(...))QGraphicsProxyWidget::mouseReleaseEvent +432 (int (*)(...))QGraphicsProxyWidget::mouseDoubleClickEvent +440 (int (*)(...))QGraphicsProxyWidget::wheelEvent +448 (int (*)(...))QGraphicsProxyWidget::keyPressEvent +456 (int (*)(...))QGraphicsProxyWidget::keyReleaseEvent +464 (int (*)(...))QGraphicsProxyWidget::inputMethodQuery +472 (int (*)(...))QGraphicsProxyWidget::inputMethodEvent +480 (int (*)(...))-16 +488 (int (*)(...))(& _ZTI20QGraphicsProxyWidget) +496 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev +504 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev +512 (int (*)(...))QGraphicsItem::advance +520 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv +528 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv +536 (int (*)(...))QGraphicsItem::contains +544 (int (*)(...))QGraphicsItem::collidesWithItem +552 (int (*)(...))QGraphicsItem::collidesWithPath +560 (int (*)(...))QGraphicsItem::isObscuredBy +568 (int (*)(...))QGraphicsItem::opaqueArea +576 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget +584 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv +592 (int (*)(...))QGraphicsItem::sceneEventFilter +600 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent +608 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent +616 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent +624 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent +632 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent +640 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent +648 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent +656 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent +664 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent +672 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent +680 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent +688 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent +696 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent +704 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent +712 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent +720 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent +728 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent +736 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent +744 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16inputMethodEventEP17QInputMethodEvent +752 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget16inputMethodQueryEN2Qt16InputMethodQueryE +760 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant +768 (int (*)(...))QGraphicsItem::supportsExtension +776 (int (*)(...))QGraphicsItem::setExtension +784 (int (*)(...))QGraphicsItem::extension +792 (int (*)(...))-32 +800 (int (*)(...))(& _ZTI20QGraphicsProxyWidget) +808 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev +816 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev +824 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF +832 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_ +840 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv +848 (int (*)(...))QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF + +Class QGraphicsProxyWidget + size=48 align=8 + base size=48 base align=8 +QGraphicsProxyWidget (0x0x7f76103c3af8) 0 + vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16) + QGraphicsWidget (0x0x7f7615e4ea80) 0 + primary-for QGraphicsProxyWidget (0x0x7f76103c3af8) + QGraphicsObject (0x0x7f7615e4eaf0) 0 + primary-for QGraphicsWidget (0x0x7f7615e4ea80) + QObject (0x0x7f7610025d20) 0 + primary-for QGraphicsObject (0x0x7f7615e4eaf0) + QGraphicsItem (0x0x7f7610025d80) 16 + vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 496) + QGraphicsLayoutItem (0x0x7f7610025de0) 32 + vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 808) + +Class QGraphicsScene::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsScene::QPrivateSignal (0x0x7f761006c240) 0 empty + +Vtable for QGraphicsScene +QGraphicsScene::_ZTV14QGraphicsScene: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QGraphicsScene) +16 (int (*)(...))QGraphicsScene::metaObject +24 (int (*)(...))QGraphicsScene::qt_metacast +32 (int (*)(...))QGraphicsScene::qt_metacall +40 (int (*)(...))QGraphicsScene::~QGraphicsScene +48 (int (*)(...))QGraphicsScene::~QGraphicsScene +56 (int (*)(...))QGraphicsScene::event +64 (int (*)(...))QGraphicsScene::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsScene::inputMethodQuery +120 (int (*)(...))QGraphicsScene::contextMenuEvent +128 (int (*)(...))QGraphicsScene::dragEnterEvent +136 (int (*)(...))QGraphicsScene::dragMoveEvent +144 (int (*)(...))QGraphicsScene::dragLeaveEvent +152 (int (*)(...))QGraphicsScene::dropEvent +160 (int (*)(...))QGraphicsScene::focusInEvent +168 (int (*)(...))QGraphicsScene::focusOutEvent +176 (int (*)(...))QGraphicsScene::helpEvent +184 (int (*)(...))QGraphicsScene::keyPressEvent +192 (int (*)(...))QGraphicsScene::keyReleaseEvent +200 (int (*)(...))QGraphicsScene::mousePressEvent +208 (int (*)(...))QGraphicsScene::mouseMoveEvent +216 (int (*)(...))QGraphicsScene::mouseReleaseEvent +224 (int (*)(...))QGraphicsScene::mouseDoubleClickEvent +232 (int (*)(...))QGraphicsScene::wheelEvent +240 (int (*)(...))QGraphicsScene::inputMethodEvent +248 (int (*)(...))QGraphicsScene::drawBackground +256 (int (*)(...))QGraphicsScene::drawForeground +264 (int (*)(...))QGraphicsScene::drawItems + +Class QGraphicsScene + size=16 align=8 + base size=16 base align=8 +QGraphicsScene (0x0x7f76103c3d00) 0 + vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16) + QObject (0x0x7f761006c1e0) 0 + primary-for QGraphicsScene (0x0x7f76103c3d00) + +Vtable for QGraphicsSceneEvent +QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent) +16 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent +24 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent + +Class QGraphicsSceneEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneEvent (0x0x7f76103c3ea0) 0 + vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16) + QEvent (0x0x7f76100ae120) 0 + primary-for QGraphicsSceneEvent (0x0x7f76103c3ea0) + +Vtable for QGraphicsSceneMouseEvent +QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent) +16 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent +24 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent + +Class QGraphicsSceneMouseEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneMouseEvent (0x0x7f76103c3f08) 0 + vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16) + QGraphicsSceneEvent (0x0x7f76103c3f70) 0 + primary-for QGraphicsSceneMouseEvent (0x0x7f76103c3f08) + QEvent (0x0x7f76100ae300) 0 + primary-for QGraphicsSceneEvent (0x0x7f76103c3f70) + +Vtable for QGraphicsSceneWheelEvent +QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent) +16 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent +24 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent + +Class QGraphicsSceneWheelEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneWheelEvent (0x0x7f76100be000) 0 + vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16) + QGraphicsSceneEvent (0x0x7f76100be068) 0 + primary-for QGraphicsSceneWheelEvent (0x0x7f76100be000) + QEvent (0x0x7f76100ae420) 0 + primary-for QGraphicsSceneEvent (0x0x7f76100be068) + +Vtable for QGraphicsSceneContextMenuEvent +QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent) +16 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent +24 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent + +Class QGraphicsSceneContextMenuEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneContextMenuEvent (0x0x7f76100be0d0) 0 + vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16) + QGraphicsSceneEvent (0x0x7f76100be138) 0 + primary-for QGraphicsSceneContextMenuEvent (0x0x7f76100be0d0) + QEvent (0x0x7f76100ae540) 0 + primary-for QGraphicsSceneEvent (0x0x7f76100be138) + +Vtable for QGraphicsSceneHoverEvent +QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent) +16 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent +24 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent + +Class QGraphicsSceneHoverEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneHoverEvent (0x0x7f76100be1a0) 0 + vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16) + QGraphicsSceneEvent (0x0x7f76100be208) 0 + primary-for QGraphicsSceneHoverEvent (0x0x7f76100be1a0) + QEvent (0x0x7f76100ae660) 0 + primary-for QGraphicsSceneEvent (0x0x7f76100be208) + +Vtable for QGraphicsSceneHelpEvent +QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent) +16 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent +24 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent + +Class QGraphicsSceneHelpEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneHelpEvent (0x0x7f76100be270) 0 + vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16) + QGraphicsSceneEvent (0x0x7f76100be2d8) 0 + primary-for QGraphicsSceneHelpEvent (0x0x7f76100be270) + QEvent (0x0x7f76100ae780) 0 + primary-for QGraphicsSceneEvent (0x0x7f76100be2d8) + +Vtable for QGraphicsSceneDragDropEvent +QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent) +16 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent +24 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent + +Class QGraphicsSceneDragDropEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneDragDropEvent (0x0x7f76100be340) 0 + vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16) + QGraphicsSceneEvent (0x0x7f76100be3a8) 0 + primary-for QGraphicsSceneDragDropEvent (0x0x7f76100be340) + QEvent (0x0x7f76100ae8a0) 0 + primary-for QGraphicsSceneEvent (0x0x7f76100be3a8) + +Vtable for QGraphicsSceneResizeEvent +QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent) +16 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent +24 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent + +Class QGraphicsSceneResizeEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneResizeEvent (0x0x7f76100be410) 0 + vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16) + QGraphicsSceneEvent (0x0x7f76100be478) 0 + primary-for QGraphicsSceneResizeEvent (0x0x7f76100be410) + QEvent (0x0x7f76100ae9c0) 0 + primary-for QGraphicsSceneEvent (0x0x7f76100be478) + +Vtable for QGraphicsSceneMoveEvent +QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent) +16 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent +24 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent + +Class QGraphicsSceneMoveEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneMoveEvent (0x0x7f76100be4e0) 0 + vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16) + QGraphicsSceneEvent (0x0x7f76100be548) 0 + primary-for QGraphicsSceneMoveEvent (0x0x7f76100be4e0) + QEvent (0x0x7f76100aeae0) 0 + primary-for QGraphicsSceneEvent (0x0x7f76100be548) + +Class QGraphicsTransform::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsTransform::QPrivateSignal (0x0x7f76100aec60) 0 empty + +Vtable for QGraphicsTransform +QGraphicsTransform::_ZTV18QGraphicsTransform: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QGraphicsTransform) +16 (int (*)(...))QGraphicsTransform::metaObject +24 (int (*)(...))QGraphicsTransform::qt_metacast +32 (int (*)(...))QGraphicsTransform::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QGraphicsTransform + size=16 align=8 + base size=16 base align=8 +QGraphicsTransform (0x0x7f76100be5b0) 0 + vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16) + QObject (0x0x7f76100aec00) 0 + primary-for QGraphicsTransform (0x0x7f76100be5b0) + +Class QGraphicsScale::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsScale::QPrivateSignal (0x0x7f76100aeea0) 0 empty + +Vtable for QGraphicsScale +QGraphicsScale::_ZTV14QGraphicsScale: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QGraphicsScale) +16 (int (*)(...))QGraphicsScale::metaObject +24 (int (*)(...))QGraphicsScale::qt_metacast +32 (int (*)(...))QGraphicsScale::qt_metacall +40 (int (*)(...))QGraphicsScale::~QGraphicsScale +48 (int (*)(...))QGraphicsScale::~QGraphicsScale +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsScale::applyTo + +Class QGraphicsScale + size=16 align=8 + base size=16 base align=8 +QGraphicsScale (0x0x7f76100be618) 0 + vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16) + QGraphicsTransform (0x0x7f76100be680) 0 + primary-for QGraphicsScale (0x0x7f76100be618) + QObject (0x0x7f76100aee40) 0 + primary-for QGraphicsTransform (0x0x7f76100be680) + +Class QGraphicsRotation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsRotation::QPrivateSignal (0x0x7f76100e4120) 0 empty + +Vtable for QGraphicsRotation +QGraphicsRotation::_ZTV17QGraphicsRotation: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsRotation) +16 (int (*)(...))QGraphicsRotation::metaObject +24 (int (*)(...))QGraphicsRotation::qt_metacast +32 (int (*)(...))QGraphicsRotation::qt_metacall +40 (int (*)(...))QGraphicsRotation::~QGraphicsRotation +48 (int (*)(...))QGraphicsRotation::~QGraphicsRotation +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsRotation::applyTo + +Class QGraphicsRotation + size=16 align=8 + base size=16 base align=8 +QGraphicsRotation (0x0x7f76100be6e8) 0 + vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16) + QGraphicsTransform (0x0x7f76100be750) 0 + primary-for QGraphicsRotation (0x0x7f76100be6e8) + QObject (0x0x7f76100e40c0) 0 + primary-for QGraphicsTransform (0x0x7f76100be750) + +Class QScrollArea::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScrollArea::QPrivateSignal (0x0x7f76100e43c0) 0 empty + +Vtable for QScrollArea +QScrollArea::_ZTV11QScrollArea: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QScrollArea) +16 (int (*)(...))QScrollArea::metaObject +24 (int (*)(...))QScrollArea::qt_metacast +32 (int (*)(...))QScrollArea::qt_metacall +40 (int (*)(...))QScrollArea::~QScrollArea +48 (int (*)(...))QScrollArea::~QScrollArea +56 (int (*)(...))QScrollArea::event +64 (int (*)(...))QScrollArea::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractScrollArea::mousePressEvent +176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent +184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent +192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractScrollArea::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QScrollArea::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractScrollArea::dragEnterEvent +320 (int (*)(...))QAbstractScrollArea::dragMoveEvent +328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent +336 (int (*)(...))QAbstractScrollArea::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QScrollArea::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QScrollArea::scrollContentsBy +456 (int (*)(...))QScrollArea::viewportSizeHint +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI11QScrollArea) +480 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD1Ev +488 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QScrollArea + size=48 align=8 + base size=48 base align=8 +QScrollArea (0x0x7f76100be7b8) 0 + vptr=((& QScrollArea::_ZTV11QScrollArea) + 16) + QAbstractScrollArea (0x0x7f76100be820) 0 + primary-for QScrollArea (0x0x7f76100be7b8) + QFrame (0x0x7f76100be888) 0 + primary-for QAbstractScrollArea (0x0x7f76100be820) + QWidget (0x0x7f7615b4c310) 0 + primary-for QFrame (0x0x7f76100be888) + QObject (0x0x7f76100e4300) 0 + primary-for QWidget (0x0x7f7615b4c310) + QPaintDevice (0x0x7f76100e4360) 16 + vptr=((& QScrollArea::_ZTV11QScrollArea) + 480) + +Class QGraphicsView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsView::QPrivateSignal (0x0x7f76100e4660) 0 empty + +Vtable for QGraphicsView +QGraphicsView::_ZTV13QGraphicsView: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QGraphicsView) +16 (int (*)(...))QGraphicsView::metaObject +24 (int (*)(...))QGraphicsView::qt_metacast +32 (int (*)(...))QGraphicsView::qt_metacall +40 (int (*)(...))QGraphicsView::~QGraphicsView +48 (int (*)(...))QGraphicsView::~QGraphicsView +56 (int (*)(...))QGraphicsView::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QGraphicsView::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QGraphicsView::mousePressEvent +176 (int (*)(...))QGraphicsView::mouseReleaseEvent +184 (int (*)(...))QGraphicsView::mouseDoubleClickEvent +192 (int (*)(...))QGraphicsView::mouseMoveEvent +200 (int (*)(...))QGraphicsView::wheelEvent +208 (int (*)(...))QGraphicsView::keyPressEvent +216 (int (*)(...))QGraphicsView::keyReleaseEvent +224 (int (*)(...))QGraphicsView::focusInEvent +232 (int (*)(...))QGraphicsView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QGraphicsView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QGraphicsView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QGraphicsView::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QGraphicsView::dragEnterEvent +320 (int (*)(...))QGraphicsView::dragMoveEvent +328 (int (*)(...))QGraphicsView::dragLeaveEvent +336 (int (*)(...))QGraphicsView::dropEvent +344 (int (*)(...))QGraphicsView::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QGraphicsView::inputMethodEvent +416 (int (*)(...))QGraphicsView::inputMethodQuery +424 (int (*)(...))QGraphicsView::focusNextPrevChild +432 (int (*)(...))QGraphicsView::setupViewport +440 (int (*)(...))QGraphicsView::viewportEvent +448 (int (*)(...))QGraphicsView::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))QGraphicsView::drawBackground +472 (int (*)(...))QGraphicsView::drawForeground +480 (int (*)(...))QGraphicsView::drawItems +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI13QGraphicsView) +504 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev +512 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QGraphicsView + size=48 align=8 + base size=48 base align=8 +QGraphicsView (0x0x7f76100be8f0) 0 + vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16) + QAbstractScrollArea (0x0x7f76100be958) 0 + primary-for QGraphicsView (0x0x7f76100be8f0) + QFrame (0x0x7f76100be9c0) 0 + primary-for QAbstractScrollArea (0x0x7f76100be958) + QWidget (0x0x7f7615b4c460) 0 + primary-for QFrame (0x0x7f76100be9c0) + QObject (0x0x7f76100e45a0) 0 + primary-for QWidget (0x0x7f7615b4c460) + QPaintDevice (0x0x7f76100e4600) 16 + vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504) + +Class QGroupBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGroupBox::QPrivateSignal (0x0x7f761011cd20) 0 empty + +Vtable for QGroupBox +QGroupBox::_ZTV9QGroupBox: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QGroupBox) +16 (int (*)(...))QGroupBox::metaObject +24 (int (*)(...))QGroupBox::qt_metacast +32 (int (*)(...))QGroupBox::qt_metacall +40 (int (*)(...))QGroupBox::~QGroupBox +48 (int (*)(...))QGroupBox::~QGroupBox +56 (int (*)(...))QGroupBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QGroupBox::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QGroupBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QGroupBox::mousePressEvent +176 (int (*)(...))QGroupBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QGroupBox::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QGroupBox::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QGroupBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QGroupBox::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QGroupBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI9QGroupBox) +448 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD1Ev +456 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QGroupBox + size=48 align=8 + base size=48 base align=8 +QGroupBox (0x0x7f76100bebc8) 0 + vptr=((& QGroupBox::_ZTV9QGroupBox) + 16) + QWidget (0x0x7f7615c08620) 0 + primary-for QGroupBox (0x0x7f76100bebc8) + QObject (0x0x7f761011cc60) 0 + primary-for QWidget (0x0x7f7615c08620) + QPaintDevice (0x0x7f761011ccc0) 16 + vptr=((& QGroupBox::_ZTV9QGroupBox) + 448) + +Class QHeaderView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHeaderView::QPrivateSignal (0x0x7f761013b000) 0 empty + +Vtable for QHeaderView +QHeaderView::_ZTV11QHeaderView: 108 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHeaderView) +16 (int (*)(...))QHeaderView::metaObject +24 (int (*)(...))QHeaderView::qt_metacast +32 (int (*)(...))QHeaderView::qt_metacall +40 (int (*)(...))QHeaderView::~QHeaderView +48 (int (*)(...))QHeaderView::~QHeaderView +56 (int (*)(...))QHeaderView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QAbstractItemView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QHeaderView::setVisible +128 (int (*)(...))QHeaderView::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QHeaderView::mousePressEvent +176 (int (*)(...))QHeaderView::mouseReleaseEvent +184 (int (*)(...))QHeaderView::mouseDoubleClickEvent +192 (int (*)(...))QHeaderView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QHeaderView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QHeaderView::viewportEvent +448 (int (*)(...))QHeaderView::scrollContentsBy +456 (int (*)(...))QAbstractItemView::viewportSizeHint +464 (int (*)(...))QHeaderView::setModel +472 (int (*)(...))QAbstractItemView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QHeaderView::visualRect +496 (int (*)(...))QHeaderView::scrollTo +504 (int (*)(...))QHeaderView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QHeaderView::reset +536 (int (*)(...))QAbstractItemView::setRootIndex +544 (int (*)(...))QHeaderView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QHeaderView::dataChanged +568 (int (*)(...))QHeaderView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QAbstractItemView::selectionChanged +592 (int (*)(...))QHeaderView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QHeaderView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QHeaderView::moveCursor +688 (int (*)(...))QHeaderView::horizontalOffset +696 (int (*)(...))QHeaderView::verticalOffset +704 (int (*)(...))QHeaderView::isIndexHidden +712 (int (*)(...))QHeaderView::setSelection +720 (int (*)(...))QHeaderView::visualRegionForSelection +728 (int (*)(...))QAbstractItemView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))QHeaderView::paintSection +776 (int (*)(...))QHeaderView::sectionSizeFromContents +784 (int (*)(...))-16 +792 (int (*)(...))(& _ZTI11QHeaderView) +800 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD1Ev +808 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD0Ev +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QHeaderView + size=48 align=8 + base size=48 base align=8 +QHeaderView (0x0x7f76100bec30) 0 + vptr=((& QHeaderView::_ZTV11QHeaderView) + 16) + QAbstractItemView (0x0x7f76100bec98) 0 + primary-for QHeaderView (0x0x7f76100bec30) + QAbstractScrollArea (0x0x7f76100bed00) 0 + primary-for QAbstractItemView (0x0x7f76100bec98) + QFrame (0x0x7f76100bed68) 0 + primary-for QAbstractScrollArea (0x0x7f76100bed00) + QWidget (0x0x7f7615c08690) 0 + primary-for QFrame (0x0x7f76100bed68) + QObject (0x0x7f761011cf00) 0 + primary-for QWidget (0x0x7f7615c08690) + QPaintDevice (0x0x7f761011cf60) 16 + vptr=((& QHeaderView::_ZTV11QHeaderView) + 800) + +Class QLineEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLineEdit::QPrivateSignal (0x0x7f761013b9c0) 0 empty + +Vtable for QLineEdit +QLineEdit::_ZTV9QLineEdit: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QLineEdit) +16 (int (*)(...))QLineEdit::metaObject +24 (int (*)(...))QLineEdit::qt_metacast +32 (int (*)(...))QLineEdit::qt_metacall +40 (int (*)(...))QLineEdit::~QLineEdit +48 (int (*)(...))QLineEdit::~QLineEdit +56 (int (*)(...))QLineEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QLineEdit::sizeHint +136 (int (*)(...))QLineEdit::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QLineEdit::mousePressEvent +176 (int (*)(...))QLineEdit::mouseReleaseEvent +184 (int (*)(...))QLineEdit::mouseDoubleClickEvent +192 (int (*)(...))QLineEdit::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QLineEdit::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QLineEdit::focusInEvent +232 (int (*)(...))QLineEdit::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QLineEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QLineEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QLineEdit::dragEnterEvent +320 (int (*)(...))QLineEdit::dragMoveEvent +328 (int (*)(...))QLineEdit::dragLeaveEvent +336 (int (*)(...))QLineEdit::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QLineEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QLineEdit::inputMethodEvent +416 (int (*)(...))QLineEdit::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI9QLineEdit) +448 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD1Ev +456 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QLineEdit + size=48 align=8 + base size=48 base align=8 +QLineEdit (0x0x7f76101542d8) 0 + vptr=((& QLineEdit::_ZTV9QLineEdit) + 16) + QWidget (0x0x7f7615c08f50) 0 + primary-for QLineEdit (0x0x7f76101542d8) + QObject (0x0x7f761013b900) 0 + primary-for QWidget (0x0x7f7615c08f50) + QPaintDevice (0x0x7f761013b960) 16 + vptr=((& QLineEdit::_ZTV9QLineEdit) + 448) + +Class QInputDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QInputDialog::QPrivateSignal (0x0x7f761013bde0) 0 empty + +Vtable for QInputDialog +QInputDialog::_ZTV12QInputDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QInputDialog) +16 (int (*)(...))QInputDialog::metaObject +24 (int (*)(...))QInputDialog::qt_metacast +32 (int (*)(...))QInputDialog::qt_metacall +40 (int (*)(...))QInputDialog::~QInputDialog +48 (int (*)(...))QInputDialog::~QInputDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QInputDialog::setVisible +128 (int (*)(...))QInputDialog::sizeHint +136 (int (*)(...))QInputDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QInputDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI12QInputDialog) +488 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD1Ev +496 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QInputDialog + size=48 align=8 + base size=48 base align=8 +QInputDialog (0x0x7f7610154340) 0 + vptr=((& QInputDialog::_ZTV12QInputDialog) + 16) + QDialog (0x0x7f76101543a8) 0 + primary-for QInputDialog (0x0x7f7610154340) + QWidget (0x0x7f761599d380) 0 + primary-for QDialog (0x0x7f76101543a8) + QObject (0x0x7f761013bd20) 0 + primary-for QWidget (0x0x7f761599d380) + QPaintDevice (0x0x7f761013bd80) 16 + vptr=((& QInputDialog::_ZTV12QInputDialog) + 488) + +Class QItemDelegate::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QItemDelegate::QPrivateSignal (0x0x7f761017c720) 0 empty + +Vtable for QItemDelegate +QItemDelegate::_ZTV13QItemDelegate: 28 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QItemDelegate) +16 (int (*)(...))QItemDelegate::metaObject +24 (int (*)(...))QItemDelegate::qt_metacast +32 (int (*)(...))QItemDelegate::qt_metacall +40 (int (*)(...))QItemDelegate::~QItemDelegate +48 (int (*)(...))QItemDelegate::~QItemDelegate +56 (int (*)(...))QObject::event +64 (int (*)(...))QItemDelegate::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QItemDelegate::paint +120 (int (*)(...))QItemDelegate::sizeHint +128 (int (*)(...))QItemDelegate::createEditor +136 (int (*)(...))QAbstractItemDelegate::destroyEditor +144 (int (*)(...))QItemDelegate::setEditorData +152 (int (*)(...))QItemDelegate::setModelData +160 (int (*)(...))QItemDelegate::updateEditorGeometry +168 (int (*)(...))QItemDelegate::editorEvent +176 (int (*)(...))QAbstractItemDelegate::helpEvent +184 (int (*)(...))QAbstractItemDelegate::paintingRoles +192 (int (*)(...))QItemDelegate::drawDisplay +200 (int (*)(...))QItemDelegate::drawDecoration +208 (int (*)(...))QItemDelegate::drawFocus +216 (int (*)(...))QItemDelegate::drawCheck + +Class QItemDelegate + size=16 align=8 + base size=16 base align=8 +QItemDelegate (0x0x7f76101544e0) 0 + vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16) + QAbstractItemDelegate (0x0x7f7610154548) 0 + primary-for QItemDelegate (0x0x7f76101544e0) + QObject (0x0x7f761017c6c0) 0 + primary-for QAbstractItemDelegate (0x0x7f7610154548) + +Vtable for QItemEditorCreatorBase +QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QItemEditorCreatorBase + size=8 align=8 + base size=8 base align=8 +QItemEditorCreatorBase (0x0x7f761017c900) 0 nearly-empty + vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16) + +Vtable for QItemEditorFactory +QItemEditorFactory::_ZTV18QItemEditorFactory: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QItemEditorFactory) +16 (int (*)(...))QItemEditorFactory::~QItemEditorFactory +24 (int (*)(...))QItemEditorFactory::~QItemEditorFactory +32 (int (*)(...))QItemEditorFactory::createEditor +40 (int (*)(...))QItemEditorFactory::valuePropertyName + +Class QItemEditorFactory + size=16 align=8 + base size=16 base align=8 +QItemEditorFactory (0x0x7f761017cc60) 0 + vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16) + +Class QKeyEventTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QKeyEventTransition::QPrivateSignal (0x0x7f761017cf60) 0 empty + +Vtable for QKeyEventTransition +QKeyEventTransition::_ZTV19QKeyEventTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QKeyEventTransition) +16 (int (*)(...))QKeyEventTransition::metaObject +24 (int (*)(...))QKeyEventTransition::qt_metacast +32 (int (*)(...))QKeyEventTransition::qt_metacall +40 (int (*)(...))QKeyEventTransition::~QKeyEventTransition +48 (int (*)(...))QKeyEventTransition::~QKeyEventTransition +56 (int (*)(...))QEventTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QKeyEventTransition::eventTest +120 (int (*)(...))QKeyEventTransition::onTransition + +Class QKeyEventTransition + size=16 align=8 + base size=16 base align=8 +QKeyEventTransition (0x0x7f7610154680) 0 + vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16) + QEventTransition (0x0x7f76101546e8) 0 + primary-for QKeyEventTransition (0x0x7f7610154680) + QAbstractTransition (0x0x7f7610154750) 0 + primary-for QEventTransition (0x0x7f76101546e8) + QObject (0x0x7f761017cf00) 0 + primary-for QAbstractTransition (0x0x7f7610154750) + +Class QKeySequenceEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QKeySequenceEdit::QPrivateSignal (0x0x7f76101b5240) 0 empty + +Vtable for QKeySequenceEdit +QKeySequenceEdit::_ZTV16QKeySequenceEdit: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QKeySequenceEdit) +16 (int (*)(...))QKeySequenceEdit::metaObject +24 (int (*)(...))QKeySequenceEdit::qt_metacast +32 (int (*)(...))QKeySequenceEdit::qt_metacall +40 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit +48 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit +56 (int (*)(...))QKeySequenceEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QKeySequenceEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QKeySequenceEdit::keyPressEvent +216 (int (*)(...))QKeySequenceEdit::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI16QKeySequenceEdit) +448 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD1Ev +456 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QKeySequenceEdit + size=48 align=8 + base size=48 base align=8 +QKeySequenceEdit (0x0x7f76101547b8) 0 + vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 16) + QWidget (0x0x7f76159e07e0) 0 + primary-for QKeySequenceEdit (0x0x7f76101547b8) + QObject (0x0x7f76101b5180) 0 + primary-for QWidget (0x0x7f76159e07e0) + QPaintDevice (0x0x7f76101b51e0) 16 + vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 448) + +Class QLabel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLabel::QPrivateSignal (0x0x7f76101b54e0) 0 empty + +Vtable for QLabel +QLabel::_ZTV6QLabel: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QLabel) +16 (int (*)(...))QLabel::metaObject +24 (int (*)(...))QLabel::qt_metacast +32 (int (*)(...))QLabel::qt_metacall +40 (int (*)(...))QLabel::~QLabel +48 (int (*)(...))QLabel::~QLabel +56 (int (*)(...))QLabel::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QLabel::sizeHint +136 (int (*)(...))QLabel::minimumSizeHint +144 (int (*)(...))QLabel::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QLabel::mousePressEvent +176 (int (*)(...))QLabel::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QLabel::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QLabel::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QLabel::focusInEvent +232 (int (*)(...))QLabel::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QLabel::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QLabel::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QLabel::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QLabel::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI6QLabel) +448 (int (*)(...))QLabel::_ZThn16_N6QLabelD1Ev +456 (int (*)(...))QLabel::_ZThn16_N6QLabelD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QLabel + size=48 align=8 + base size=48 base align=8 +QLabel (0x0x7f7610154820) 0 + vptr=((& QLabel::_ZTV6QLabel) + 16) + QFrame (0x0x7f7610154888) 0 + primary-for QLabel (0x0x7f7610154820) + QWidget (0x0x7f76159e0bd0) 0 + primary-for QFrame (0x0x7f7610154888) + QObject (0x0x7f76101b5420) 0 + primary-for QWidget (0x0x7f76159e0bd0) + QPaintDevice (0x0x7f76101b5480) 16 + vptr=((& QLabel::_ZTV6QLabel) + 448) + +Class QLCDNumber::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLCDNumber::QPrivateSignal (0x0x7f76101b5780) 0 empty + +Vtable for QLCDNumber +QLCDNumber::_ZTV10QLCDNumber: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QLCDNumber) +16 (int (*)(...))QLCDNumber::metaObject +24 (int (*)(...))QLCDNumber::qt_metacast +32 (int (*)(...))QLCDNumber::qt_metacall +40 (int (*)(...))QLCDNumber::~QLCDNumber +48 (int (*)(...))QLCDNumber::~QLCDNumber +56 (int (*)(...))QLCDNumber::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QLCDNumber::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QLCDNumber::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI10QLCDNumber) +448 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD1Ev +456 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QLCDNumber + size=48 align=8 + base size=48 base align=8 +QLCDNumber (0x0x7f76101548f0) 0 + vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16) + QFrame (0x0x7f7610154958) 0 + primary-for QLCDNumber (0x0x7f76101548f0) + QWidget (0x0x7f76159e0e00) 0 + primary-for QFrame (0x0x7f7610154958) + QObject (0x0x7f76101b56c0) 0 + primary-for QWidget (0x0x7f76159e0e00) + QPaintDevice (0x0x7f76101b5720) 16 + vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 448) + +Class QListView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QListView::QPrivateSignal (0x0x7f76101b5ba0) 0 empty + +Vtable for QListView +QListView::_ZTV9QListView: 106 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QListView) +16 (int (*)(...))QListView::metaObject +24 (int (*)(...))QListView::qt_metacast +32 (int (*)(...))QListView::qt_metacall +40 (int (*)(...))QListView::~QListView +48 (int (*)(...))QListView::~QListView +56 (int (*)(...))QListView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QListView::scrollContentsBy +456 (int (*)(...))QListView::viewportSizeHint +464 (int (*)(...))QAbstractItemView::setModel +472 (int (*)(...))QAbstractItemView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QListView::visualRect +496 (int (*)(...))QListView::scrollTo +504 (int (*)(...))QListView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QListView::reset +536 (int (*)(...))QListView::setRootIndex +544 (int (*)(...))QListView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QListView::dataChanged +568 (int (*)(...))QListView::rowsInserted +576 (int (*)(...))QListView::rowsAboutToBeRemoved +584 (int (*)(...))QListView::selectionChanged +592 (int (*)(...))QListView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QListView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QListView::moveCursor +688 (int (*)(...))QListView::horizontalOffset +696 (int (*)(...))QListView::verticalOffset +704 (int (*)(...))QListView::isIndexHidden +712 (int (*)(...))QListView::setSelection +720 (int (*)(...))QListView::visualRegionForSelection +728 (int (*)(...))QListView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QListView::startDrag +760 (int (*)(...))QListView::viewOptions +768 (int (*)(...))-16 +776 (int (*)(...))(& _ZTI9QListView) +784 (int (*)(...))QListView::_ZThn16_N9QListViewD1Ev +792 (int (*)(...))QListView::_ZThn16_N9QListViewD0Ev +800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QListView + size=48 align=8 + base size=48 base align=8 +QListView (0x0x7f76101549c0) 0 + vptr=((& QListView::_ZTV9QListView) + 16) + QAbstractItemView (0x0x7f7610154a28) 0 + primary-for QListView (0x0x7f76101549c0) + QAbstractScrollArea (0x0x7f7610154a90) 0 + primary-for QAbstractItemView (0x0x7f7610154a28) + QFrame (0x0x7f7610154af8) 0 + primary-for QAbstractScrollArea (0x0x7f7610154a90) + QWidget (0x0x7f76156bf2a0) 0 + primary-for QFrame (0x0x7f7610154af8) + QObject (0x0x7f76101b5ae0) 0 + primary-for QWidget (0x0x7f76156bf2a0) + QPaintDevice (0x0x7f76101b5b40) 16 + vptr=((& QListView::_ZTV9QListView) + 784) + +Vtable for QListWidgetItem +QListWidgetItem::_ZTV15QListWidgetItem: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QListWidgetItem) +16 (int (*)(...))QListWidgetItem::~QListWidgetItem +24 (int (*)(...))QListWidgetItem::~QListWidgetItem +32 (int (*)(...))QListWidgetItem::clone +40 (int (*)(...))QListWidgetItem::setBackgroundColor +48 (int (*)(...))QListWidgetItem::data +56 (int (*)(...))QListWidgetItem::setData +64 (int (*)(...))QListWidgetItem::operator< +72 (int (*)(...))QListWidgetItem::read +80 (int (*)(...))QListWidgetItem::write + +Class QListWidgetItem + size=48 align=8 + base size=44 base align=8 +QListWidgetItem (0x0x7f76101ec180) 0 + vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16) + +Class QListWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QListWidget::QPrivateSignal (0x0x7f76101ecea0) 0 empty + +Vtable for QListWidget +QListWidget::_ZTV11QListWidget: 110 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QListWidget) +16 (int (*)(...))QListWidget::metaObject +24 (int (*)(...))QListWidget::qt_metacast +32 (int (*)(...))QListWidget::qt_metacall +40 (int (*)(...))QListWidget::~QListWidget +48 (int (*)(...))QListWidget::~QListWidget +56 (int (*)(...))QListWidget::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QListView::scrollContentsBy +456 (int (*)(...))QListView::viewportSizeHint +464 (int (*)(...))QListWidget::setModel +472 (int (*)(...))QListWidget::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QListView::visualRect +496 (int (*)(...))QListView::scrollTo +504 (int (*)(...))QListView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QListView::reset +536 (int (*)(...))QListView::setRootIndex +544 (int (*)(...))QListView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QListView::dataChanged +568 (int (*)(...))QListView::rowsInserted +576 (int (*)(...))QListView::rowsAboutToBeRemoved +584 (int (*)(...))QListView::selectionChanged +592 (int (*)(...))QListView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QListView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QListView::moveCursor +688 (int (*)(...))QListView::horizontalOffset +696 (int (*)(...))QListView::verticalOffset +704 (int (*)(...))QListView::isIndexHidden +712 (int (*)(...))QListView::setSelection +720 (int (*)(...))QListView::visualRegionForSelection +728 (int (*)(...))QListView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QListView::startDrag +760 (int (*)(...))QListView::viewOptions +768 (int (*)(...))QListWidget::mimeTypes +776 (int (*)(...))QListWidget::mimeData +784 (int (*)(...))QListWidget::dropMimeData +792 (int (*)(...))QListWidget::supportedDropActions +800 (int (*)(...))-16 +808 (int (*)(...))(& _ZTI11QListWidget) +816 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD1Ev +824 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD0Ev +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QListWidget + size=48 align=8 + base size=48 base align=8 +QListWidget (0x0x7f7610154c30) 0 + vptr=((& QListWidget::_ZTV11QListWidget) + 16) + QListView (0x0x7f7610154c98) 0 + primary-for QListWidget (0x0x7f7610154c30) + QAbstractItemView (0x0x7f7610154d00) 0 + primary-for QListView (0x0x7f7610154c98) + QAbstractScrollArea (0x0x7f7610154d68) 0 + primary-for QAbstractItemView (0x0x7f7610154d00) + QFrame (0x0x7f7610154dd0) 0 + primary-for QAbstractScrollArea (0x0x7f7610154d68) + QWidget (0x0x7f76156bfaf0) 0 + primary-for QFrame (0x0x7f7610154dd0) + QObject (0x0x7f76101ecde0) 0 + primary-for QWidget (0x0x7f76156bfaf0) + QPaintDevice (0x0x7f76101ece40) 16 + vptr=((& QListWidget::_ZTV11QListWidget) + 816) + +Class QMainWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMainWindow::QPrivateSignal (0x0x7f760fe28420) 0 empty + +Vtable for QMainWindow +QMainWindow::_ZTV11QMainWindow: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QMainWindow) +16 (int (*)(...))QMainWindow::metaObject +24 (int (*)(...))QMainWindow::qt_metacast +32 (int (*)(...))QMainWindow::qt_metacall +40 (int (*)(...))QMainWindow::~QMainWindow +48 (int (*)(...))QMainWindow::~QMainWindow +56 (int (*)(...))QMainWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QMainWindow::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QMainWindow::createPopupMenu +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI11QMainWindow) +456 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD1Ev +464 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMainWindow + size=48 align=8 + base size=48 base align=8 +QMainWindow (0x0x7f7610154e38) 0 + vptr=((& QMainWindow::_ZTV11QMainWindow) + 16) + QWidget (0x0x7f76156bfee0) 0 + primary-for QMainWindow (0x0x7f7610154e38) + QObject (0x0x7f760fe28360) 0 + primary-for QWidget (0x0x7f76156bfee0) + QPaintDevice (0x0x7f760fe283c0) 16 + vptr=((& QMainWindow::_ZTV11QMainWindow) + 456) + +Class QMdiArea::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMdiArea::QPrivateSignal (0x0x7f760fe28f00) 0 empty + +Vtable for QMdiArea +QMdiArea::_ZTV8QMdiArea: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QMdiArea) +16 (int (*)(...))QMdiArea::metaObject +24 (int (*)(...))QMdiArea::qt_metacast +32 (int (*)(...))QMdiArea::qt_metacall +40 (int (*)(...))QMdiArea::~QMdiArea +48 (int (*)(...))QMdiArea::~QMdiArea +56 (int (*)(...))QMdiArea::event +64 (int (*)(...))QMdiArea::eventFilter +72 (int (*)(...))QMdiArea::timerEvent +80 (int (*)(...))QMdiArea::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QMdiArea::sizeHint +136 (int (*)(...))QMdiArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractScrollArea::mousePressEvent +176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent +184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent +192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractScrollArea::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QMdiArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QMdiArea::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractScrollArea::dragEnterEvent +320 (int (*)(...))QAbstractScrollArea::dragMoveEvent +328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent +336 (int (*)(...))QAbstractScrollArea::dropEvent +344 (int (*)(...))QMdiArea::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QMdiArea::setupViewport +440 (int (*)(...))QMdiArea::viewportEvent +448 (int (*)(...))QMdiArea::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI8QMdiArea) +480 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD1Ev +488 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMdiArea + size=48 align=8 + base size=48 base align=8 +QMdiArea (0x0x7f7610154f70) 0 + vptr=((& QMdiArea::_ZTV8QMdiArea) + 16) + QAbstractScrollArea (0x0x7f760fe47000) 0 + primary-for QMdiArea (0x0x7f7610154f70) + QFrame (0x0x7f760fe47068) 0 + primary-for QAbstractScrollArea (0x0x7f760fe47000) + QWidget (0x0x7f7615739700) 0 + primary-for QFrame (0x0x7f760fe47068) + QObject (0x0x7f760fe28e40) 0 + primary-for QWidget (0x0x7f7615739700) + QPaintDevice (0x0x7f760fe28ea0) 16 + vptr=((& QMdiArea::_ZTV8QMdiArea) + 480) + +Class QMdiSubWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMdiSubWindow::QPrivateSignal (0x0x7f760fe57a20) 0 empty + +Vtable for QMdiSubWindow +QMdiSubWindow::_ZTV13QMdiSubWindow: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QMdiSubWindow) +16 (int (*)(...))QMdiSubWindow::metaObject +24 (int (*)(...))QMdiSubWindow::qt_metacast +32 (int (*)(...))QMdiSubWindow::qt_metacall +40 (int (*)(...))QMdiSubWindow::~QMdiSubWindow +48 (int (*)(...))QMdiSubWindow::~QMdiSubWindow +56 (int (*)(...))QMdiSubWindow::event +64 (int (*)(...))QMdiSubWindow::eventFilter +72 (int (*)(...))QMdiSubWindow::timerEvent +80 (int (*)(...))QMdiSubWindow::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QMdiSubWindow::sizeHint +136 (int (*)(...))QMdiSubWindow::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QMdiSubWindow::mousePressEvent +176 (int (*)(...))QMdiSubWindow::mouseReleaseEvent +184 (int (*)(...))QMdiSubWindow::mouseDoubleClickEvent +192 (int (*)(...))QMdiSubWindow::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QMdiSubWindow::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QMdiSubWindow::focusInEvent +232 (int (*)(...))QMdiSubWindow::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QMdiSubWindow::leaveEvent +256 (int (*)(...))QMdiSubWindow::paintEvent +264 (int (*)(...))QMdiSubWindow::moveEvent +272 (int (*)(...))QMdiSubWindow::resizeEvent +280 (int (*)(...))QMdiSubWindow::closeEvent +288 (int (*)(...))QMdiSubWindow::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QMdiSubWindow::showEvent +352 (int (*)(...))QMdiSubWindow::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMdiSubWindow::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI13QMdiSubWindow) +448 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev +456 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMdiSubWindow + size=48 align=8 + base size=48 base align=8 +QMdiSubWindow (0x0x7f760fe471a0) 0 + vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16) + QWidget (0x0x7f761576e1c0) 0 + primary-for QMdiSubWindow (0x0x7f760fe471a0) + QObject (0x0x7f760fe57960) 0 + primary-for QWidget (0x0x7f761576e1c0) + QPaintDevice (0x0x7f760fe579c0) 16 + vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 448) + +Class QMenu::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMenu::QPrivateSignal (0x0x7f760fe7d420) 0 empty + +Vtable for QMenu +QMenu::_ZTV5QMenu: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QMenu) +16 (int (*)(...))QMenu::metaObject +24 (int (*)(...))QMenu::qt_metacast +32 (int (*)(...))QMenu::qt_metacall +40 (int (*)(...))QMenu::~QMenu +48 (int (*)(...))QMenu::~QMenu +56 (int (*)(...))QMenu::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QMenu::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QMenu::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QMenu::mousePressEvent +176 (int (*)(...))QMenu::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QMenu::mouseMoveEvent +200 (int (*)(...))QMenu::wheelEvent +208 (int (*)(...))QMenu::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QMenu::enterEvent +248 (int (*)(...))QMenu::leaveEvent +256 (int (*)(...))QMenu::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QMenu::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QMenu::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMenu::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QMenu::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI5QMenu) +448 (int (*)(...))QMenu::_ZThn16_N5QMenuD1Ev +456 (int (*)(...))QMenu::_ZThn16_N5QMenuD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMenu + size=48 align=8 + base size=48 base align=8 +QMenu (0x0x7f760fe472d8) 0 + vptr=((& QMenu::_ZTV5QMenu) + 16) + QWidget (0x0x7f761576ee70) 0 + primary-for QMenu (0x0x7f760fe472d8) + QObject (0x0x7f760fe7d360) 0 + primary-for QWidget (0x0x7f761576ee70) + QPaintDevice (0x0x7f760fe7d3c0) 16 + vptr=((& QMenu::_ZTV5QMenu) + 448) + +Class QMenuBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMenuBar::QPrivateSignal (0x0x7f760fe7d840) 0 empty + +Vtable for QMenuBar +QMenuBar::_ZTV8QMenuBar: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QMenuBar) +16 (int (*)(...))QMenuBar::metaObject +24 (int (*)(...))QMenuBar::qt_metacast +32 (int (*)(...))QMenuBar::qt_metacall +40 (int (*)(...))QMenuBar::~QMenuBar +48 (int (*)(...))QMenuBar::~QMenuBar +56 (int (*)(...))QMenuBar::event +64 (int (*)(...))QMenuBar::eventFilter +72 (int (*)(...))QMenuBar::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QMenuBar::setVisible +128 (int (*)(...))QMenuBar::sizeHint +136 (int (*)(...))QMenuBar::minimumSizeHint +144 (int (*)(...))QMenuBar::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QMenuBar::mousePressEvent +176 (int (*)(...))QMenuBar::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QMenuBar::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QMenuBar::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QMenuBar::focusInEvent +232 (int (*)(...))QMenuBar::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QMenuBar::leaveEvent +256 (int (*)(...))QMenuBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QMenuBar::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QMenuBar::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMenuBar::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI8QMenuBar) +448 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD1Ev +456 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMenuBar + size=48 align=8 + base size=48 base align=8 +QMenuBar (0x0x7f760fe47340) 0 + vptr=((& QMenuBar::_ZTV8QMenuBar) + 16) + QWidget (0x0x7f761576eee0) 0 + primary-for QMenuBar (0x0x7f760fe47340) + QObject (0x0x7f760fe7d780) 0 + primary-for QWidget (0x0x7f761576eee0) + QPaintDevice (0x0x7f760fe7d7e0) 16 + vptr=((& QMenuBar::_ZTV8QMenuBar) + 448) + +Class QMessageBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMessageBox::QPrivateSignal (0x0x7f760fe7dba0) 0 empty + +Vtable for QMessageBox +QMessageBox::_ZTV11QMessageBox: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QMessageBox) +16 (int (*)(...))QMessageBox::metaObject +24 (int (*)(...))QMessageBox::qt_metacast +32 (int (*)(...))QMessageBox::qt_metacall +40 (int (*)(...))QMessageBox::~QMessageBox +48 (int (*)(...))QMessageBox::~QMessageBox +56 (int (*)(...))QMessageBox::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QMessageBox::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QMessageBox::resizeEvent +280 (int (*)(...))QMessageBox::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QMessageBox::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMessageBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QMessageBox) +488 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD1Ev +496 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMessageBox + size=48 align=8 + base size=48 base align=8 +QMessageBox (0x0x7f760fe473a8) 0 + vptr=((& QMessageBox::_ZTV11QMessageBox) + 16) + QDialog (0x0x7f760fe47410) 0 + primary-for QMessageBox (0x0x7f760fe473a8) + QWidget (0x0x7f7615857070) 0 + primary-for QDialog (0x0x7f760fe47410) + QObject (0x0x7f760fe7dae0) 0 + primary-for QWidget (0x0x7f7615857070) + QPaintDevice (0x0x7f760fe7db40) 16 + vptr=((& QMessageBox::_ZTV11QMessageBox) + 488) + +Class QMouseEventTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMouseEventTransition::QPrivateSignal (0x0x7f760fec17e0) 0 empty + +Vtable for QMouseEventTransition +QMouseEventTransition::_ZTV21QMouseEventTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QMouseEventTransition) +16 (int (*)(...))QMouseEventTransition::metaObject +24 (int (*)(...))QMouseEventTransition::qt_metacast +32 (int (*)(...))QMouseEventTransition::qt_metacall +40 (int (*)(...))QMouseEventTransition::~QMouseEventTransition +48 (int (*)(...))QMouseEventTransition::~QMouseEventTransition +56 (int (*)(...))QEventTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QMouseEventTransition::eventTest +120 (int (*)(...))QMouseEventTransition::onTransition + +Class QMouseEventTransition + size=16 align=8 + base size=16 base align=8 +QMouseEventTransition (0x0x7f760fe47548) 0 + vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16) + QEventTransition (0x0x7f760fe475b0) 0 + primary-for QMouseEventTransition (0x0x7f760fe47548) + QAbstractTransition (0x0x7f760fe47618) 0 + primary-for QEventTransition (0x0x7f760fe475b0) + QObject (0x0x7f760fec1780) 0 + primary-for QAbstractTransition (0x0x7f760fe47618) + +Class QOpenGLWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLWidget::QPrivateSignal (0x0x7f760fec1a80) 0 empty + +Vtable for QOpenGLWidget +QOpenGLWidget::_ZTV13QOpenGLWidget: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QOpenGLWidget) +16 (int (*)(...))QOpenGLWidget::metaObject +24 (int (*)(...))QOpenGLWidget::qt_metacast +32 (int (*)(...))QOpenGLWidget::qt_metacall +40 (int (*)(...))QOpenGLWidget::~QOpenGLWidget +48 (int (*)(...))QOpenGLWidget::~QOpenGLWidget +56 (int (*)(...))QOpenGLWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QOpenGLWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QOpenGLWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QOpenGLWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QOpenGLWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QOpenGLWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QOpenGLWidget::initializeGL +440 (int (*)(...))QOpenGLWidget::resizeGL +448 (int (*)(...))QOpenGLWidget::paintGL +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI13QOpenGLWidget) +472 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD1Ev +480 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget11paintEngineEv +504 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QOpenGLWidget + size=48 align=8 + base size=48 base align=8 +QOpenGLWidget (0x0x7f760fe47680) 0 + vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 16) + QWidget (0x0x7f76154d44d0) 0 + primary-for QOpenGLWidget (0x0x7f760fe47680) + QObject (0x0x7f760fec19c0) 0 + primary-for QWidget (0x0x7f76154d44d0) + QPaintDevice (0x0x7f760fec1a20) 16 + vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 472) + +Class QTextEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextEdit::QPrivateSignal (0x0x7f760fec1d20) 0 empty + +Class QTextEdit::ExtraSelection + size=24 align=8 + base size=24 base align=8 +QTextEdit::ExtraSelection (0x0x7f760fec1d80) 0 + +Vtable for QTextEdit +QTextEdit::_ZTV9QTextEdit: 73 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTextEdit) +16 (int (*)(...))QTextEdit::metaObject +24 (int (*)(...))QTextEdit::qt_metacast +32 (int (*)(...))QTextEdit::qt_metacall +40 (int (*)(...))QTextEdit::~QTextEdit +48 (int (*)(...))QTextEdit::~QTextEdit +56 (int (*)(...))QTextEdit::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QTextEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTextEdit::mousePressEvent +176 (int (*)(...))QTextEdit::mouseReleaseEvent +184 (int (*)(...))QTextEdit::mouseDoubleClickEvent +192 (int (*)(...))QTextEdit::mouseMoveEvent +200 (int (*)(...))QTextEdit::wheelEvent +208 (int (*)(...))QTextEdit::keyPressEvent +216 (int (*)(...))QTextEdit::keyReleaseEvent +224 (int (*)(...))QTextEdit::focusInEvent +232 (int (*)(...))QTextEdit::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTextEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTextEdit::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QTextEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QTextEdit::dragEnterEvent +320 (int (*)(...))QTextEdit::dragMoveEvent +328 (int (*)(...))QTextEdit::dragLeaveEvent +336 (int (*)(...))QTextEdit::dropEvent +344 (int (*)(...))QTextEdit::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTextEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QTextEdit::inputMethodEvent +416 (int (*)(...))QTextEdit::inputMethodQuery +424 (int (*)(...))QTextEdit::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QTextEdit::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))QTextEdit::loadResource +472 (int (*)(...))QTextEdit::createMimeDataFromSelection +480 (int (*)(...))QTextEdit::canInsertFromMimeData +488 (int (*)(...))QTextEdit::insertFromMimeData +496 (int (*)(...))QTextEdit::doSetTextCursor +504 (int (*)(...))-16 +512 (int (*)(...))(& _ZTI9QTextEdit) +520 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD1Ev +528 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD0Ev +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTextEdit + size=48 align=8 + base size=48 base align=8 +QTextEdit (0x0x7f760fe47750) 0 + vptr=((& QTextEdit::_ZTV9QTextEdit) + 16) + QAbstractScrollArea (0x0x7f760fe477b8) 0 + primary-for QTextEdit (0x0x7f760fe47750) + QFrame (0x0x7f760fe47820) 0 + primary-for QAbstractScrollArea (0x0x7f760fe477b8) + QWidget (0x0x7f76154d4770) 0 + primary-for QFrame (0x0x7f760fe47820) + QObject (0x0x7f760fec1c60) 0 + primary-for QWidget (0x0x7f76154d4770) + QPaintDevice (0x0x7f760fec1cc0) 16 + vptr=((& QTextEdit::_ZTV9QTextEdit) + 520) + +Class QPlainTextEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPlainTextEdit::QPrivateSignal (0x0x7f760fef4a20) 0 empty + +Vtable for QPlainTextEdit +QPlainTextEdit::_ZTV14QPlainTextEdit: 73 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QPlainTextEdit) +16 (int (*)(...))QPlainTextEdit::metaObject +24 (int (*)(...))QPlainTextEdit::qt_metacast +32 (int (*)(...))QPlainTextEdit::qt_metacall +40 (int (*)(...))QPlainTextEdit::~QPlainTextEdit +48 (int (*)(...))QPlainTextEdit::~QPlainTextEdit +56 (int (*)(...))QPlainTextEdit::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QPlainTextEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QPlainTextEdit::mousePressEvent +176 (int (*)(...))QPlainTextEdit::mouseReleaseEvent +184 (int (*)(...))QPlainTextEdit::mouseDoubleClickEvent +192 (int (*)(...))QPlainTextEdit::mouseMoveEvent +200 (int (*)(...))QPlainTextEdit::wheelEvent +208 (int (*)(...))QPlainTextEdit::keyPressEvent +216 (int (*)(...))QPlainTextEdit::keyReleaseEvent +224 (int (*)(...))QPlainTextEdit::focusInEvent +232 (int (*)(...))QPlainTextEdit::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QPlainTextEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QPlainTextEdit::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QPlainTextEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QPlainTextEdit::dragEnterEvent +320 (int (*)(...))QPlainTextEdit::dragMoveEvent +328 (int (*)(...))QPlainTextEdit::dragLeaveEvent +336 (int (*)(...))QPlainTextEdit::dropEvent +344 (int (*)(...))QPlainTextEdit::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QPlainTextEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QPlainTextEdit::inputMethodEvent +416 (int (*)(...))QPlainTextEdit::inputMethodQuery +424 (int (*)(...))QPlainTextEdit::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QPlainTextEdit::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))QPlainTextEdit::loadResource +472 (int (*)(...))QPlainTextEdit::createMimeDataFromSelection +480 (int (*)(...))QPlainTextEdit::canInsertFromMimeData +488 (int (*)(...))QPlainTextEdit::insertFromMimeData +496 (int (*)(...))QPlainTextEdit::doSetTextCursor +504 (int (*)(...))-16 +512 (int (*)(...))(& _ZTI14QPlainTextEdit) +520 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev +528 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QPlainTextEdit + size=48 align=8 + base size=48 base align=8 +QPlainTextEdit (0x0x7f760fe47958) 0 + vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16) + QAbstractScrollArea (0x0x7f760fe479c0) 0 + primary-for QPlainTextEdit (0x0x7f760fe47958) + QFrame (0x0x7f760fe47a28) 0 + primary-for QAbstractScrollArea (0x0x7f760fe479c0) + QWidget (0x0x7f761552d5b0) 0 + primary-for QFrame (0x0x7f760fe47a28) + QObject (0x0x7f760fef4960) 0 + primary-for QWidget (0x0x7f761552d5b0) + QPaintDevice (0x0x7f760fef49c0) 16 + vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 520) + +Class QPlainTextDocumentLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPlainTextDocumentLayout::QPrivateSignal (0x0x7f760ff1f000) 0 empty + +Vtable for QPlainTextDocumentLayout +QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout) +16 (int (*)(...))QPlainTextDocumentLayout::metaObject +24 (int (*)(...))QPlainTextDocumentLayout::qt_metacast +32 (int (*)(...))QPlainTextDocumentLayout::qt_metacall +40 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout +48 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPlainTextDocumentLayout::draw +120 (int (*)(...))QPlainTextDocumentLayout::hitTest +128 (int (*)(...))QPlainTextDocumentLayout::pageCount +136 (int (*)(...))QPlainTextDocumentLayout::documentSize +144 (int (*)(...))QPlainTextDocumentLayout::frameBoundingRect +152 (int (*)(...))QPlainTextDocumentLayout::blockBoundingRect +160 (int (*)(...))QPlainTextDocumentLayout::documentChanged +168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject +176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject +184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject + +Class QPlainTextDocumentLayout + size=16 align=8 + base size=16 base align=8 +QPlainTextDocumentLayout (0x0x7f760fe47a90) 0 + vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16) + QAbstractTextDocumentLayout (0x0x7f760fe47af8) 0 + primary-for QPlainTextDocumentLayout (0x0x7f760fe47a90) + QObject (0x0x7f760fef4f60) 0 + primary-for QAbstractTextDocumentLayout (0x0x7f760fe47af8) + +Class QProgressBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProgressBar::QPrivateSignal (0x0x7f760ff1f2a0) 0 empty + +Vtable for QProgressBar +QProgressBar::_ZTV12QProgressBar: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QProgressBar) +16 (int (*)(...))QProgressBar::metaObject +24 (int (*)(...))QProgressBar::qt_metacast +32 (int (*)(...))QProgressBar::qt_metacall +40 (int (*)(...))QProgressBar::~QProgressBar +48 (int (*)(...))QProgressBar::~QProgressBar +56 (int (*)(...))QProgressBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QProgressBar::sizeHint +136 (int (*)(...))QProgressBar::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QProgressBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QProgressBar::text +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI12QProgressBar) +456 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD1Ev +464 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QProgressBar + size=48 align=8 + base size=48 base align=8 +QProgressBar (0x0x7f760fe47b60) 0 + vptr=((& QProgressBar::_ZTV12QProgressBar) + 16) + QWidget (0x0x7f761552d9a0) 0 + primary-for QProgressBar (0x0x7f760fe47b60) + QObject (0x0x7f760ff1f1e0) 0 + primary-for QWidget (0x0x7f761552d9a0) + QPaintDevice (0x0x7f760ff1f240) 16 + vptr=((& QProgressBar::_ZTV12QProgressBar) + 456) + +Class QProgressDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProgressDialog::QPrivateSignal (0x0x7f760ff1f600) 0 empty + +Vtable for QProgressDialog +QProgressDialog::_ZTV15QProgressDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QProgressDialog) +16 (int (*)(...))QProgressDialog::metaObject +24 (int (*)(...))QProgressDialog::qt_metacast +32 (int (*)(...))QProgressDialog::qt_metacall +40 (int (*)(...))QProgressDialog::~QProgressDialog +48 (int (*)(...))QProgressDialog::~QProgressDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QProgressDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QProgressDialog::resizeEvent +280 (int (*)(...))QProgressDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QProgressDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QProgressDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI15QProgressDialog) +488 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD1Ev +496 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QProgressDialog + size=48 align=8 + base size=48 base align=8 +QProgressDialog (0x0x7f760fe47bc8) 0 + vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16) + QDialog (0x0x7f760fe47c30) 0 + primary-for QProgressDialog (0x0x7f760fe47bc8) + QWidget (0x0x7f761552dbd0) 0 + primary-for QDialog (0x0x7f760fe47c30) + QObject (0x0x7f760ff1f540) 0 + primary-for QWidget (0x0x7f761552dbd0) + QPaintDevice (0x0x7f760ff1f5a0) 16 + vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488) + +Class QProxyStyle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProxyStyle::QPrivateSignal (0x0x7f760ff1f840) 0 empty + +Vtable for QProxyStyle +QProxyStyle::_ZTV11QProxyStyle: 37 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QProxyStyle) +16 (int (*)(...))QProxyStyle::metaObject +24 (int (*)(...))QProxyStyle::qt_metacast +32 (int (*)(...))QProxyStyle::qt_metacall +40 (int (*)(...))QProxyStyle::~QProxyStyle +48 (int (*)(...))QProxyStyle::~QProxyStyle +56 (int (*)(...))QProxyStyle::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QProxyStyle::polish +120 (int (*)(...))QProxyStyle::unpolish +128 (int (*)(...))QProxyStyle::polish +136 (int (*)(...))QProxyStyle::unpolish +144 (int (*)(...))QProxyStyle::polish +152 (int (*)(...))QProxyStyle::itemTextRect +160 (int (*)(...))QProxyStyle::itemPixmapRect +168 (int (*)(...))QProxyStyle::drawItemText +176 (int (*)(...))QProxyStyle::drawItemPixmap +184 (int (*)(...))QProxyStyle::standardPalette +192 (int (*)(...))QProxyStyle::drawPrimitive +200 (int (*)(...))QProxyStyle::drawControl +208 (int (*)(...))QProxyStyle::subElementRect +216 (int (*)(...))QProxyStyle::drawComplexControl +224 (int (*)(...))QProxyStyle::hitTestComplexControl +232 (int (*)(...))QProxyStyle::subControlRect +240 (int (*)(...))QProxyStyle::pixelMetric +248 (int (*)(...))QProxyStyle::sizeFromContents +256 (int (*)(...))QProxyStyle::styleHint +264 (int (*)(...))QProxyStyle::standardPixmap +272 (int (*)(...))QProxyStyle::standardIcon +280 (int (*)(...))QProxyStyle::generatedIconPixmap +288 (int (*)(...))QProxyStyle::layoutSpacing + +Class QProxyStyle + size=16 align=8 + base size=16 base align=8 +QProxyStyle (0x0x7f760fe47c98) 0 + vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16) + QCommonStyle (0x0x7f760fe47d00) 0 + primary-for QProxyStyle (0x0x7f760fe47c98) + QStyle (0x0x7f760fe47d68) 0 + primary-for QCommonStyle (0x0x7f760fe47d00) + QObject (0x0x7f760ff1f7e0) 0 + primary-for QStyle (0x0x7f760fe47d68) + +Class QRadioButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRadioButton::QPrivateSignal (0x0x7f760ff1fae0) 0 empty + +Vtable for QRadioButton +QRadioButton::_ZTV12QRadioButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QRadioButton) +16 (int (*)(...))QRadioButton::metaObject +24 (int (*)(...))QRadioButton::qt_metacast +32 (int (*)(...))QRadioButton::qt_metacall +40 (int (*)(...))QRadioButton::~QRadioButton +48 (int (*)(...))QRadioButton::~QRadioButton +56 (int (*)(...))QRadioButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QRadioButton::sizeHint +136 (int (*)(...))QRadioButton::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QRadioButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QRadioButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QRadioButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI12QRadioButton) +472 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD1Ev +480 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QRadioButton + size=48 align=8 + base size=48 base align=8 +QRadioButton (0x0x7f760fe47dd0) 0 + vptr=((& QRadioButton::_ZTV12QRadioButton) + 16) + QAbstractButton (0x0x7f760fe47e38) 0 + primary-for QRadioButton (0x0x7f760fe47dd0) + QWidget (0x0x7f761552dee0) 0 + primary-for QAbstractButton (0x0x7f760fe47e38) + QObject (0x0x7f760ff1fa20) 0 + primary-for QWidget (0x0x7f761552dee0) + QPaintDevice (0x0x7f760ff1fa80) 16 + vptr=((& QRadioButton::_ZTV12QRadioButton) + 472) + +Class QScrollBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScrollBar::QPrivateSignal (0x0x7f760ff1fd80) 0 empty + +Vtable for QScrollBar +QScrollBar::_ZTV10QScrollBar: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QScrollBar) +16 (int (*)(...))QScrollBar::metaObject +24 (int (*)(...))QScrollBar::qt_metacast +32 (int (*)(...))QScrollBar::qt_metacall +40 (int (*)(...))QScrollBar::~QScrollBar +48 (int (*)(...))QScrollBar::~QScrollBar +56 (int (*)(...))QScrollBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QScrollBar::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QScrollBar::mousePressEvent +176 (int (*)(...))QScrollBar::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QScrollBar::mouseMoveEvent +200 (int (*)(...))QScrollBar::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QScrollBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QScrollBar::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QScrollBar::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QScrollBar::sliderChange +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI10QScrollBar) +456 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD1Ev +464 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QScrollBar + size=48 align=8 + base size=48 base align=8 +QScrollBar (0x0x7f760fe47ea0) 0 + vptr=((& QScrollBar::_ZTV10QScrollBar) + 16) + QAbstractSlider (0x0x7f760fe47f08) 0 + primary-for QScrollBar (0x0x7f760fe47ea0) + QWidget (0x0x7f761557a070) 0 + primary-for QAbstractSlider (0x0x7f760fe47f08) + QObject (0x0x7f760ff1fcc0) 0 + primary-for QWidget (0x0x7f761557a070) + QPaintDevice (0x0x7f760ff1fd20) 16 + vptr=((& QScrollBar::_ZTV10QScrollBar) + 456) + +Vtable for QScrollerProperties +QScrollerProperties::_ZTV19QScrollerProperties: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QScrollerProperties) +16 (int (*)(...))QScrollerProperties::~QScrollerProperties +24 (int (*)(...))QScrollerProperties::~QScrollerProperties + +Class QScrollerProperties + size=16 align=8 + base size=16 base align=8 +QScrollerProperties (0x0x7f760ff1ff60) 0 + vptr=((& QScrollerProperties::_ZTV19QScrollerProperties) + 16) + +Class QScroller::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScroller::QPrivateSignal (0x0x7f760ff59480) 0 empty + +Vtable for QScroller +QScroller::_ZTV9QScroller: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QScroller) +16 (int (*)(...))QScroller::metaObject +24 (int (*)(...))QScroller::qt_metacast +32 (int (*)(...))QScroller::qt_metacall +40 (int (*)(...))QScroller::~QScroller +48 (int (*)(...))QScroller::~QScroller +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QScroller + size=24 align=8 + base size=24 base align=8 +QScroller (0x0x7f760fe47f70) 0 + vptr=((& QScroller::_ZTV9QScroller) + 16) + QObject (0x0x7f760ff59420) 0 + primary-for QScroller (0x0x7f760fe47f70) + +Class QShortcut::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QShortcut::QPrivateSignal (0x0x7f760ff59780) 0 empty + +Vtable for QShortcut +QShortcut::_ZTV9QShortcut: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QShortcut) +16 (int (*)(...))QShortcut::metaObject +24 (int (*)(...))QShortcut::qt_metacast +32 (int (*)(...))QShortcut::qt_metacall +40 (int (*)(...))QShortcut::~QShortcut +48 (int (*)(...))QShortcut::~QShortcut +56 (int (*)(...))QShortcut::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QShortcut + size=16 align=8 + base size=16 base align=8 +QShortcut (0x0x7f760ff72000) 0 + vptr=((& QShortcut::_ZTV9QShortcut) + 16) + QObject (0x0x7f760ff59720) 0 + primary-for QShortcut (0x0x7f760ff72000) + +Class QSizeGrip::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSizeGrip::QPrivateSignal (0x0x7f760ff59a80) 0 empty + +Vtable for QSizeGrip +QSizeGrip::_ZTV9QSizeGrip: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSizeGrip) +16 (int (*)(...))QSizeGrip::metaObject +24 (int (*)(...))QSizeGrip::qt_metacast +32 (int (*)(...))QSizeGrip::qt_metacall +40 (int (*)(...))QSizeGrip::~QSizeGrip +48 (int (*)(...))QSizeGrip::~QSizeGrip +56 (int (*)(...))QSizeGrip::event +64 (int (*)(...))QSizeGrip::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QSizeGrip::setVisible +128 (int (*)(...))QSizeGrip::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSizeGrip::mousePressEvent +176 (int (*)(...))QSizeGrip::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QSizeGrip::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QSizeGrip::paintEvent +264 (int (*)(...))QSizeGrip::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QSizeGrip::showEvent +352 (int (*)(...))QSizeGrip::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI9QSizeGrip) +448 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD1Ev +456 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSizeGrip + size=48 align=8 + base size=48 base align=8 +QSizeGrip (0x0x7f760ff72068) 0 + vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16) + QWidget (0x0x7f76155d28c0) 0 + primary-for QSizeGrip (0x0x7f760ff72068) + QObject (0x0x7f760ff599c0) 0 + primary-for QWidget (0x0x7f76155d28c0) + QPaintDevice (0x0x7f760ff59a20) 16 + vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 448) + +Class QSpinBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSpinBox::QPrivateSignal (0x0x7f760ff59d20) 0 empty + +Vtable for QSpinBox +QSpinBox::_ZTV8QSpinBox: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QSpinBox) +16 (int (*)(...))QSpinBox::metaObject +24 (int (*)(...))QSpinBox::qt_metacast +32 (int (*)(...))QSpinBox::qt_metacall +40 (int (*)(...))QSpinBox::~QSpinBox +48 (int (*)(...))QSpinBox::~QSpinBox +56 (int (*)(...))QSpinBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractSpinBox::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractSpinBox::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QAbstractSpinBox::wheelEvent +208 (int (*)(...))QAbstractSpinBox::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QAbstractSpinBox::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractSpinBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QSpinBox::validate +440 (int (*)(...))QSpinBox::fixup +448 (int (*)(...))QAbstractSpinBox::stepBy +456 (int (*)(...))QAbstractSpinBox::clear +464 (int (*)(...))QAbstractSpinBox::stepEnabled +472 (int (*)(...))QSpinBox::valueFromText +480 (int (*)(...))QSpinBox::textFromValue +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI8QSpinBox) +504 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD1Ev +512 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSpinBox + size=48 align=8 + base size=48 base align=8 +QSpinBox (0x0x7f760ff720d0) 0 + vptr=((& QSpinBox::_ZTV8QSpinBox) + 16) + QAbstractSpinBox (0x0x7f760ff72138) 0 + primary-for QSpinBox (0x0x7f760ff720d0) + QWidget (0x0x7f76155d2a10) 0 + primary-for QAbstractSpinBox (0x0x7f760ff72138) + QObject (0x0x7f760ff59c60) 0 + primary-for QWidget (0x0x7f76155d2a10) + QPaintDevice (0x0x7f760ff59cc0) 16 + vptr=((& QSpinBox::_ZTV8QSpinBox) + 504) + +Class QDoubleSpinBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDoubleSpinBox::QPrivateSignal (0x0x7f760ff8b000) 0 empty + +Vtable for QDoubleSpinBox +QDoubleSpinBox::_ZTV14QDoubleSpinBox: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QDoubleSpinBox) +16 (int (*)(...))QDoubleSpinBox::metaObject +24 (int (*)(...))QDoubleSpinBox::qt_metacast +32 (int (*)(...))QDoubleSpinBox::qt_metacall +40 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox +48 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox +56 (int (*)(...))QAbstractSpinBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractSpinBox::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractSpinBox::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QAbstractSpinBox::wheelEvent +208 (int (*)(...))QAbstractSpinBox::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QAbstractSpinBox::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractSpinBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDoubleSpinBox::validate +440 (int (*)(...))QDoubleSpinBox::fixup +448 (int (*)(...))QAbstractSpinBox::stepBy +456 (int (*)(...))QAbstractSpinBox::clear +464 (int (*)(...))QAbstractSpinBox::stepEnabled +472 (int (*)(...))QDoubleSpinBox::valueFromText +480 (int (*)(...))QDoubleSpinBox::textFromValue +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI14QDoubleSpinBox) +504 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev +512 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDoubleSpinBox + size=48 align=8 + base size=48 base align=8 +QDoubleSpinBox (0x0x7f760ff721a0) 0 + vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16) + QAbstractSpinBox (0x0x7f760ff72208) 0 + primary-for QDoubleSpinBox (0x0x7f760ff721a0) + QWidget (0x0x7f76155d2b60) 0 + primary-for QAbstractSpinBox (0x0x7f760ff72208) + QObject (0x0x7f760ff59f00) 0 + primary-for QWidget (0x0x7f76155d2b60) + QPaintDevice (0x0x7f760ff59f60) 16 + vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 504) + +Class QSplashScreen::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSplashScreen::QPrivateSignal (0x0x7f760ff8b2a0) 0 empty + +Vtable for QSplashScreen +QSplashScreen::_ZTV13QSplashScreen: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSplashScreen) +16 (int (*)(...))QSplashScreen::metaObject +24 (int (*)(...))QSplashScreen::qt_metacast +32 (int (*)(...))QSplashScreen::qt_metacall +40 (int (*)(...))QSplashScreen::~QSplashScreen +48 (int (*)(...))QSplashScreen::~QSplashScreen +56 (int (*)(...))QSplashScreen::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSplashScreen::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QSplashScreen::drawContents +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI13QSplashScreen) +456 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD1Ev +464 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSplashScreen + size=48 align=8 + base size=48 base align=8 +QSplashScreen (0x0x7f760ff72270) 0 + vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16) + QWidget (0x0x7f76155d2cb0) 0 + primary-for QSplashScreen (0x0x7f760ff72270) + QObject (0x0x7f760ff8b1e0) 0 + primary-for QWidget (0x0x7f76155d2cb0) + QPaintDevice (0x0x7f760ff8b240) 16 + vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 456) + +Class QSplitter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSplitter::QPrivateSignal (0x0x7f760ff8b540) 0 empty + +Vtable for QSplitter +QSplitter::_ZTV9QSplitter: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSplitter) +16 (int (*)(...))QSplitter::metaObject +24 (int (*)(...))QSplitter::qt_metacast +32 (int (*)(...))QSplitter::qt_metacall +40 (int (*)(...))QSplitter::~QSplitter +48 (int (*)(...))QSplitter::~QSplitter +56 (int (*)(...))QSplitter::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QSplitter::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QSplitter::sizeHint +136 (int (*)(...))QSplitter::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QSplitter::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QSplitter::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QSplitter::createHandle +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI9QSplitter) +456 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD1Ev +464 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSplitter + size=48 align=8 + base size=48 base align=8 +QSplitter (0x0x7f760ff722d8) 0 + vptr=((& QSplitter::_ZTV9QSplitter) + 16) + QFrame (0x0x7f760ff72340) 0 + primary-for QSplitter (0x0x7f760ff722d8) + QWidget (0x0x7f76155e6150) 0 + primary-for QFrame (0x0x7f760ff72340) + QObject (0x0x7f760ff8b480) 0 + primary-for QWidget (0x0x7f76155e6150) + QPaintDevice (0x0x7f760ff8b4e0) 16 + vptr=((& QSplitter::_ZTV9QSplitter) + 456) + +Class QSplitterHandle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSplitterHandle::QPrivateSignal (0x0x7f760ff8b7e0) 0 empty + +Vtable for QSplitterHandle +QSplitterHandle::_ZTV15QSplitterHandle: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSplitterHandle) +16 (int (*)(...))QSplitterHandle::metaObject +24 (int (*)(...))QSplitterHandle::qt_metacast +32 (int (*)(...))QSplitterHandle::qt_metacall +40 (int (*)(...))QSplitterHandle::~QSplitterHandle +48 (int (*)(...))QSplitterHandle::~QSplitterHandle +56 (int (*)(...))QSplitterHandle::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QSplitterHandle::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSplitterHandle::mousePressEvent +176 (int (*)(...))QSplitterHandle::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QSplitterHandle::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QSplitterHandle::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QSplitterHandle::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI15QSplitterHandle) +448 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev +456 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSplitterHandle + size=48 align=8 + base size=48 base align=8 +QSplitterHandle (0x0x7f760ff723a8) 0 + vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16) + QWidget (0x0x7f76155e62a0) 0 + primary-for QSplitterHandle (0x0x7f760ff723a8) + QObject (0x0x7f760ff8b720) 0 + primary-for QWidget (0x0x7f76155e62a0) + QPaintDevice (0x0x7f760ff8b780) 16 + vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 448) + +Class QStackedLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStackedLayout::QPrivateSignal (0x0x7f760ff8ba80) 0 empty + +Vtable for QStackedLayout +QStackedLayout::_ZTV14QStackedLayout: 50 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QStackedLayout) +16 (int (*)(...))QStackedLayout::metaObject +24 (int (*)(...))QStackedLayout::qt_metacast +32 (int (*)(...))QStackedLayout::qt_metacall +40 (int (*)(...))QStackedLayout::~QStackedLayout +48 (int (*)(...))QStackedLayout::~QStackedLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QStackedLayout::addItem +136 (int (*)(...))QLayout::expandingDirections +144 (int (*)(...))QStackedLayout::minimumSize +152 (int (*)(...))QLayout::maximumSize +160 (int (*)(...))QStackedLayout::setGeometry +168 (int (*)(...))QStackedLayout::itemAt +176 (int (*)(...))QStackedLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QStackedLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QStackedLayout::sizeHint +232 (int (*)(...))QStackedLayout::hasHeightForWidth +240 (int (*)(...))QStackedLayout::heightForWidth +248 (int (*)(...))-16 +256 (int (*)(...))(& _ZTI14QStackedLayout) +264 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev +272 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev +280 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv +288 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv +296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv +304 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv +312 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect +320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +336 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout17hasHeightForWidthEv +344 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout14heightForWidthEi +352 (int (*)(...))QLayoutItem::minimumHeightForWidth +360 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv +368 (int (*)(...))QLayoutItem::widget +376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +384 (int (*)(...))QLayoutItem::spacerItem +392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QStackedLayout + size=32 align=8 + base size=28 base align=8 +QStackedLayout (0x0x7f760ff72410) 0 + vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16) + QLayout (0x0x7f76155e6460) 0 + primary-for QStackedLayout (0x0x7f760ff72410) + QObject (0x0x7f760ff8b9c0) 0 + primary-for QLayout (0x0x7f76155e6460) + QLayoutItem (0x0x7f760ff8ba20) 16 + vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 264) + +Class QStackedWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStackedWidget::QPrivateSignal (0x0x7f760ff8bde0) 0 empty + +Vtable for QStackedWidget +QStackedWidget::_ZTV14QStackedWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QStackedWidget) +16 (int (*)(...))QStackedWidget::metaObject +24 (int (*)(...))QStackedWidget::qt_metacast +32 (int (*)(...))QStackedWidget::qt_metacall +40 (int (*)(...))QStackedWidget::~QStackedWidget +48 (int (*)(...))QStackedWidget::~QStackedWidget +56 (int (*)(...))QStackedWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFrame::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI14QStackedWidget) +448 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev +456 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QStackedWidget + size=48 align=8 + base size=48 base align=8 +QStackedWidget (0x0x7f760ff72478) 0 + vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16) + QFrame (0x0x7f760ff724e0) 0 + primary-for QStackedWidget (0x0x7f760ff72478) + QWidget (0x0x7f76155e6770) 0 + primary-for QFrame (0x0x7f760ff724e0) + QObject (0x0x7f760ff8bd20) 0 + primary-for QWidget (0x0x7f76155e6770) + QPaintDevice (0x0x7f760ff8bd80) 16 + vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 448) + +Class QStatusBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStatusBar::QPrivateSignal (0x0x7f760ffc00c0) 0 empty + +Vtable for QStatusBar +QStatusBar::_ZTV10QStatusBar: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QStatusBar) +16 (int (*)(...))QStatusBar::metaObject +24 (int (*)(...))QStatusBar::qt_metacast +32 (int (*)(...))QStatusBar::qt_metacall +40 (int (*)(...))QStatusBar::~QStatusBar +48 (int (*)(...))QStatusBar::~QStatusBar +56 (int (*)(...))QStatusBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QStatusBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QStatusBar::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QStatusBar::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI10QStatusBar) +448 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD1Ev +456 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QStatusBar + size=48 align=8 + base size=48 base align=8 +QStatusBar (0x0x7f760ff72548) 0 + vptr=((& QStatusBar::_ZTV10QStatusBar) + 16) + QWidget (0x0x7f76155e68c0) 0 + primary-for QStatusBar (0x0x7f760ff72548) + QObject (0x0x7f760ffc0000) 0 + primary-for QWidget (0x0x7f76155e68c0) + QPaintDevice (0x0x7f760ffc0060) 16 + vptr=((& QStatusBar::_ZTV10QStatusBar) + 448) + +Class QStyledItemDelegate::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStyledItemDelegate::QPrivateSignal (0x0x7f760ffc0300) 0 empty + +Vtable for QStyledItemDelegate +QStyledItemDelegate::_ZTV19QStyledItemDelegate: 26 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QStyledItemDelegate) +16 (int (*)(...))QStyledItemDelegate::metaObject +24 (int (*)(...))QStyledItemDelegate::qt_metacast +32 (int (*)(...))QStyledItemDelegate::qt_metacall +40 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate +48 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate +56 (int (*)(...))QObject::event +64 (int (*)(...))QStyledItemDelegate::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStyledItemDelegate::paint +120 (int (*)(...))QStyledItemDelegate::sizeHint +128 (int (*)(...))QStyledItemDelegate::createEditor +136 (int (*)(...))QAbstractItemDelegate::destroyEditor +144 (int (*)(...))QStyledItemDelegate::setEditorData +152 (int (*)(...))QStyledItemDelegate::setModelData +160 (int (*)(...))QStyledItemDelegate::updateEditorGeometry +168 (int (*)(...))QStyledItemDelegate::editorEvent +176 (int (*)(...))QAbstractItemDelegate::helpEvent +184 (int (*)(...))QAbstractItemDelegate::paintingRoles +192 (int (*)(...))QStyledItemDelegate::displayText +200 (int (*)(...))QStyledItemDelegate::initStyleOption + +Class QStyledItemDelegate + size=16 align=8 + base size=16 base align=8 +QStyledItemDelegate (0x0x7f760ff725b0) 0 + vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16) + QAbstractItemDelegate (0x0x7f760ff72618) 0 + primary-for QStyledItemDelegate (0x0x7f760ff725b0) + QObject (0x0x7f760ffc02a0) 0 + primary-for QAbstractItemDelegate (0x0x7f760ff72618) + +Class QStyleFactory + size=1 align=1 + base size=0 base align=1 +QStyleFactory (0x0x7f760ffc04e0) 0 empty + +Class QStylePainter + size=24 align=8 + base size=24 base align=8 +QStylePainter (0x0x7f760ff72680) 0 + QPainter (0x0x7f760ffc0540) 0 + +Class QStylePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStylePlugin::QPrivateSignal (0x0x7f760ffc0de0) 0 empty + +Vtable for QStylePlugin +QStylePlugin::_ZTV12QStylePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QStylePlugin) +16 (int (*)(...))QStylePlugin::metaObject +24 (int (*)(...))QStylePlugin::qt_metacast +32 (int (*)(...))QStylePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QStylePlugin + size=16 align=8 + base size=16 base align=8 +QStylePlugin (0x0x7f760ff726e8) 0 + vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16) + QObject (0x0x7f760ffc0d80) 0 + primary-for QStylePlugin (0x0x7f760ff726e8) + +Class QSystemTrayIcon::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSystemTrayIcon::QPrivateSignal (0x0x7f760ffc0f60) 0 empty + +Vtable for QSystemTrayIcon +QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSystemTrayIcon) +16 (int (*)(...))QSystemTrayIcon::metaObject +24 (int (*)(...))QSystemTrayIcon::qt_metacast +32 (int (*)(...))QSystemTrayIcon::qt_metacall +40 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon +48 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon +56 (int (*)(...))QSystemTrayIcon::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSystemTrayIcon + size=16 align=8 + base size=16 base align=8 +QSystemTrayIcon (0x0x7f760ff72750) 0 + vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16) + QObject (0x0x7f760ffc0f00) 0 + primary-for QSystemTrayIcon (0x0x7f760ff72750) + +Class QTableView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTableView::QPrivateSignal (0x0x7f760ffe5300) 0 empty + +Vtable for QTableView +QTableView::_ZTV10QTableView: 106 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTableView) +16 (int (*)(...))QTableView::metaObject +24 (int (*)(...))QTableView::qt_metacast +32 (int (*)(...))QTableView::qt_metacall +40 (int (*)(...))QTableView::~QTableView +48 (int (*)(...))QTableView::~QTableView +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTableView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTableView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QTableView::scrollContentsBy +456 (int (*)(...))QTableView::viewportSizeHint +464 (int (*)(...))QTableView::setModel +472 (int (*)(...))QTableView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QTableView::visualRect +496 (int (*)(...))QTableView::scrollTo +504 (int (*)(...))QTableView::indexAt +512 (int (*)(...))QTableView::sizeHintForRow +520 (int (*)(...))QTableView::sizeHintForColumn +528 (int (*)(...))QAbstractItemView::reset +536 (int (*)(...))QTableView::setRootIndex +544 (int (*)(...))QTableView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QAbstractItemView::dataChanged +568 (int (*)(...))QAbstractItemView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QTableView::selectionChanged +592 (int (*)(...))QTableView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QTableView::updateGeometries +624 (int (*)(...))QTableView::verticalScrollbarAction +632 (int (*)(...))QTableView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QTableView::moveCursor +688 (int (*)(...))QTableView::horizontalOffset +696 (int (*)(...))QTableView::verticalOffset +704 (int (*)(...))QTableView::isIndexHidden +712 (int (*)(...))QTableView::setSelection +720 (int (*)(...))QTableView::visualRegionForSelection +728 (int (*)(...))QTableView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QTableView::viewOptions +768 (int (*)(...))-16 +776 (int (*)(...))(& _ZTI10QTableView) +784 (int (*)(...))QTableView::_ZThn16_N10QTableViewD1Ev +792 (int (*)(...))QTableView::_ZThn16_N10QTableViewD0Ev +800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTableView + size=48 align=8 + base size=48 base align=8 +QTableView (0x0x7f760ff727b8) 0 + vptr=((& QTableView::_ZTV10QTableView) + 16) + QAbstractItemView (0x0x7f760ff72820) 0 + primary-for QTableView (0x0x7f760ff727b8) + QAbstractScrollArea (0x0x7f760ff72888) 0 + primary-for QAbstractItemView (0x0x7f760ff72820) + QFrame (0x0x7f760ff728f0) 0 + primary-for QAbstractScrollArea (0x0x7f760ff72888) + QWidget (0x0x7f761564d4d0) 0 + primary-for QFrame (0x0x7f760ff728f0) + QObject (0x0x7f760ffe5240) 0 + primary-for QWidget (0x0x7f761564d4d0) + QPaintDevice (0x0x7f760ffe52a0) 16 + vptr=((& QTableView::_ZTV10QTableView) + 784) + +Class QTableWidgetSelectionRange + size=16 align=4 + base size=16 base align=4 +QTableWidgetSelectionRange (0x0x7f760ffe5540) 0 + +Vtable for QTableWidgetItem +QTableWidgetItem::_ZTV16QTableWidgetItem: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QTableWidgetItem) +16 (int (*)(...))QTableWidgetItem::~QTableWidgetItem +24 (int (*)(...))QTableWidgetItem::~QTableWidgetItem +32 (int (*)(...))QTableWidgetItem::clone +40 (int (*)(...))QTableWidgetItem::data +48 (int (*)(...))QTableWidgetItem::setData +56 (int (*)(...))QTableWidgetItem::operator< +64 (int (*)(...))QTableWidgetItem::read +72 (int (*)(...))QTableWidgetItem::write + +Class QTableWidgetItem + size=48 align=8 + base size=44 base align=8 +QTableWidgetItem (0x0x7f760ffe57e0) 0 + vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16) + +Class QTableWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTableWidget::QPrivateSignal (0x0x7f760fc25540) 0 empty + +Vtable for QTableWidget +QTableWidget::_ZTV12QTableWidget: 110 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QTableWidget) +16 (int (*)(...))QTableWidget::metaObject +24 (int (*)(...))QTableWidget::qt_metacast +32 (int (*)(...))QTableWidget::qt_metacall +40 (int (*)(...))QTableWidget::~QTableWidget +48 (int (*)(...))QTableWidget::~QTableWidget +56 (int (*)(...))QTableWidget::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTableView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTableView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QTableWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QTableView::scrollContentsBy +456 (int (*)(...))QTableView::viewportSizeHint +464 (int (*)(...))QTableWidget::setModel +472 (int (*)(...))QTableView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QTableView::visualRect +496 (int (*)(...))QTableView::scrollTo +504 (int (*)(...))QTableView::indexAt +512 (int (*)(...))QTableView::sizeHintForRow +520 (int (*)(...))QTableView::sizeHintForColumn +528 (int (*)(...))QAbstractItemView::reset +536 (int (*)(...))QTableView::setRootIndex +544 (int (*)(...))QTableView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QAbstractItemView::dataChanged +568 (int (*)(...))QAbstractItemView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QTableView::selectionChanged +592 (int (*)(...))QTableView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QTableView::updateGeometries +624 (int (*)(...))QTableView::verticalScrollbarAction +632 (int (*)(...))QTableView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QTableView::moveCursor +688 (int (*)(...))QTableView::horizontalOffset +696 (int (*)(...))QTableView::verticalOffset +704 (int (*)(...))QTableView::isIndexHidden +712 (int (*)(...))QTableView::setSelection +720 (int (*)(...))QTableView::visualRegionForSelection +728 (int (*)(...))QTableView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QTableView::viewOptions +768 (int (*)(...))QTableWidget::mimeTypes +776 (int (*)(...))QTableWidget::mimeData +784 (int (*)(...))QTableWidget::dropMimeData +792 (int (*)(...))QTableWidget::supportedDropActions +800 (int (*)(...))-16 +808 (int (*)(...))(& _ZTI12QTableWidget) +816 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD1Ev +824 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD0Ev +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTableWidget + size=48 align=8 + base size=48 base align=8 +QTableWidget (0x0x7f760ff72a28) 0 + vptr=((& QTableWidget::_ZTV12QTableWidget) + 16) + QTableView (0x0x7f760ff72a90) 0 + primary-for QTableWidget (0x0x7f760ff72a28) + QAbstractItemView (0x0x7f760ff72af8) 0 + primary-for QTableView (0x0x7f760ff72a90) + QAbstractScrollArea (0x0x7f760ff72b60) 0 + primary-for QAbstractItemView (0x0x7f760ff72af8) + QFrame (0x0x7f760ff72bc8) 0 + primary-for QAbstractScrollArea (0x0x7f760ff72b60) + QWidget (0x0x7f761564db60) 0 + primary-for QFrame (0x0x7f760ff72bc8) + QObject (0x0x7f760fc25480) 0 + primary-for QWidget (0x0x7f761564db60) + QPaintDevice (0x0x7f760fc254e0) 16 + vptr=((& QTableWidget::_ZTV12QTableWidget) + 816) + +Class QTextBrowser::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextBrowser::QPrivateSignal (0x0x7f760fc25960) 0 empty + +Vtable for QTextBrowser +QTextBrowser::_ZTV12QTextBrowser: 78 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QTextBrowser) +16 (int (*)(...))QTextBrowser::metaObject +24 (int (*)(...))QTextBrowser::qt_metacast +32 (int (*)(...))QTextBrowser::qt_metacall +40 (int (*)(...))QTextBrowser::~QTextBrowser +48 (int (*)(...))QTextBrowser::~QTextBrowser +56 (int (*)(...))QTextBrowser::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QTextEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTextBrowser::mousePressEvent +176 (int (*)(...))QTextBrowser::mouseReleaseEvent +184 (int (*)(...))QTextEdit::mouseDoubleClickEvent +192 (int (*)(...))QTextBrowser::mouseMoveEvent +200 (int (*)(...))QTextEdit::wheelEvent +208 (int (*)(...))QTextBrowser::keyPressEvent +216 (int (*)(...))QTextEdit::keyReleaseEvent +224 (int (*)(...))QTextEdit::focusInEvent +232 (int (*)(...))QTextBrowser::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTextBrowser::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTextEdit::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QTextEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QTextEdit::dragEnterEvent +320 (int (*)(...))QTextEdit::dragMoveEvent +328 (int (*)(...))QTextEdit::dragLeaveEvent +336 (int (*)(...))QTextEdit::dropEvent +344 (int (*)(...))QTextEdit::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTextEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QTextEdit::inputMethodEvent +416 (int (*)(...))QTextEdit::inputMethodQuery +424 (int (*)(...))QTextBrowser::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QTextEdit::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))QTextBrowser::loadResource +472 (int (*)(...))QTextEdit::createMimeDataFromSelection +480 (int (*)(...))QTextEdit::canInsertFromMimeData +488 (int (*)(...))QTextEdit::insertFromMimeData +496 (int (*)(...))QTextEdit::doSetTextCursor +504 (int (*)(...))QTextBrowser::setSource +512 (int (*)(...))QTextBrowser::backward +520 (int (*)(...))QTextBrowser::forward +528 (int (*)(...))QTextBrowser::home +536 (int (*)(...))QTextBrowser::reload +544 (int (*)(...))-16 +552 (int (*)(...))(& _ZTI12QTextBrowser) +560 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD1Ev +568 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD0Ev +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +584 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +592 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +600 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +608 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +616 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTextBrowser + size=48 align=8 + base size=48 base align=8 +QTextBrowser (0x0x7f760ff72c30) 0 + vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16) + QTextEdit (0x0x7f760ff72c98) 0 + primary-for QTextBrowser (0x0x7f760ff72c30) + QAbstractScrollArea (0x0x7f760ff72d00) 0 + primary-for QTextEdit (0x0x7f760ff72c98) + QFrame (0x0x7f760ff72d68) 0 + primary-for QAbstractScrollArea (0x0x7f760ff72d00) + QWidget (0x0x7f761564dd20) 0 + primary-for QFrame (0x0x7f760ff72d68) + QObject (0x0x7f760fc258a0) 0 + primary-for QWidget (0x0x7f761564dd20) + QPaintDevice (0x0x7f760fc25900) 16 + vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 560) + +Class QToolBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QToolBar::QPrivateSignal (0x0x7f760fc25c00) 0 empty + +Vtable for QToolBar +QToolBar::_ZTV8QToolBar: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QToolBar) +16 (int (*)(...))QToolBar::metaObject +24 (int (*)(...))QToolBar::qt_metacast +32 (int (*)(...))QToolBar::qt_metacall +40 (int (*)(...))QToolBar::~QToolBar +48 (int (*)(...))QToolBar::~QToolBar +56 (int (*)(...))QToolBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QToolBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QToolBar::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QToolBar::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI8QToolBar) +448 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD1Ev +456 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QToolBar + size=48 align=8 + base size=48 base align=8 +QToolBar (0x0x7f760ff72dd0) 0 + vptr=((& QToolBar::_ZTV8QToolBar) + 16) + QWidget (0x0x7f761564de70) 0 + primary-for QToolBar (0x0x7f760ff72dd0) + QObject (0x0x7f760fc25b40) 0 + primary-for QWidget (0x0x7f761564de70) + QPaintDevice (0x0x7f760fc25ba0) 16 + vptr=((& QToolBar::_ZTV8QToolBar) + 448) + +Class QToolBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QToolBox::QPrivateSignal (0x0x7f760fc585a0) 0 empty + +Vtable for QToolBox +QToolBox::_ZTV8QToolBox: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QToolBox) +16 (int (*)(...))QToolBox::metaObject +24 (int (*)(...))QToolBox::qt_metacast +32 (int (*)(...))QToolBox::qt_metacall +40 (int (*)(...))QToolBox::~QToolBox +48 (int (*)(...))QToolBox::~QToolBox +56 (int (*)(...))QToolBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFrame::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QToolBox::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QToolBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QToolBox::itemInserted +440 (int (*)(...))QToolBox::itemRemoved +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI8QToolBox) +464 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD1Ev +472 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QToolBox + size=48 align=8 + base size=48 base align=8 +QToolBox (0x0x7f760fc57340) 0 + vptr=((& QToolBox::_ZTV8QToolBox) + 16) + QFrame (0x0x7f760fc573a8) 0 + primary-for QToolBox (0x0x7f760fc57340) + QWidget (0x0x7f76152755b0) 0 + primary-for QFrame (0x0x7f760fc573a8) + QObject (0x0x7f760fc584e0) 0 + primary-for QWidget (0x0x7f76152755b0) + QPaintDevice (0x0x7f760fc58540) 16 + vptr=((& QToolBox::_ZTV8QToolBox) + 464) + +Class QToolButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QToolButton::QPrivateSignal (0x0x7f760fc58960) 0 empty + +Vtable for QToolButton +QToolButton::_ZTV11QToolButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QToolButton) +16 (int (*)(...))QToolButton::metaObject +24 (int (*)(...))QToolButton::qt_metacast +32 (int (*)(...))QToolButton::qt_metacall +40 (int (*)(...))QToolButton::~QToolButton +48 (int (*)(...))QToolButton::~QToolButton +56 (int (*)(...))QToolButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QToolButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QToolButton::sizeHint +136 (int (*)(...))QToolButton::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QToolButton::mousePressEvent +176 (int (*)(...))QToolButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QToolButton::enterEvent +248 (int (*)(...))QToolButton::leaveEvent +256 (int (*)(...))QToolButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QToolButton::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QToolButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QToolButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QToolButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI11QToolButton) +472 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD1Ev +480 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QToolButton + size=48 align=8 + base size=48 base align=8 +QToolButton (0x0x7f760fc57410) 0 + vptr=((& QToolButton::_ZTV11QToolButton) + 16) + QAbstractButton (0x0x7f760fc57478) 0 + primary-for QToolButton (0x0x7f760fc57410) + QWidget (0x0x7f7615275770) 0 + primary-for QAbstractButton (0x0x7f760fc57478) + QObject (0x0x7f760fc588a0) 0 + primary-for QWidget (0x0x7f7615275770) + QPaintDevice (0x0x7f760fc58900) 16 + vptr=((& QToolButton::_ZTV11QToolButton) + 472) + +Class QToolTip + size=1 align=1 + base size=0 base align=1 +QToolTip (0x0x7f760fc58c00) 0 empty + +Class QTreeView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTreeView::QPrivateSignal (0x0x7f760fc58d80) 0 empty + +Vtable for QTreeView +QTreeView::_ZTV9QTreeView: 108 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTreeView) +16 (int (*)(...))QTreeView::metaObject +24 (int (*)(...))QTreeView::qt_metacast +32 (int (*)(...))QTreeView::qt_metacall +40 (int (*)(...))QTreeView::~QTreeView +48 (int (*)(...))QTreeView::~QTreeView +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTreeView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTreeView::mousePressEvent +176 (int (*)(...))QTreeView::mouseReleaseEvent +184 (int (*)(...))QTreeView::mouseDoubleClickEvent +192 (int (*)(...))QTreeView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QTreeView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTreeView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QTreeView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QTreeView::viewportEvent +448 (int (*)(...))QTreeView::scrollContentsBy +456 (int (*)(...))QTreeView::viewportSizeHint +464 (int (*)(...))QTreeView::setModel +472 (int (*)(...))QTreeView::setSelectionModel +480 (int (*)(...))QTreeView::keyboardSearch +488 (int (*)(...))QTreeView::visualRect +496 (int (*)(...))QTreeView::scrollTo +504 (int (*)(...))QTreeView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QTreeView::sizeHintForColumn +528 (int (*)(...))QTreeView::reset +536 (int (*)(...))QTreeView::setRootIndex +544 (int (*)(...))QTreeView::doItemsLayout +552 (int (*)(...))QTreeView::selectAll +560 (int (*)(...))QTreeView::dataChanged +568 (int (*)(...))QTreeView::rowsInserted +576 (int (*)(...))QTreeView::rowsAboutToBeRemoved +584 (int (*)(...))QTreeView::selectionChanged +592 (int (*)(...))QTreeView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QTreeView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QTreeView::horizontalScrollbarAction +640 (int (*)(...))QTreeView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QTreeView::moveCursor +688 (int (*)(...))QTreeView::horizontalOffset +696 (int (*)(...))QTreeView::verticalOffset +704 (int (*)(...))QTreeView::isIndexHidden +712 (int (*)(...))QTreeView::setSelection +720 (int (*)(...))QTreeView::visualRegionForSelection +728 (int (*)(...))QTreeView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))QTreeView::drawRow +776 (int (*)(...))QTreeView::drawBranches +784 (int (*)(...))-16 +792 (int (*)(...))(& _ZTI9QTreeView) +800 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD1Ev +808 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD0Ev +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTreeView + size=48 align=8 + base size=48 base align=8 +QTreeView (0x0x7f760fc574e0) 0 + vptr=((& QTreeView::_ZTV9QTreeView) + 16) + QAbstractItemView (0x0x7f760fc57548) 0 + primary-for QTreeView (0x0x7f760fc574e0) + QAbstractScrollArea (0x0x7f760fc575b0) 0 + primary-for QAbstractItemView (0x0x7f760fc57548) + QFrame (0x0x7f760fc57618) 0 + primary-for QAbstractScrollArea (0x0x7f760fc575b0) + QWidget (0x0x7f7615275b60) 0 + primary-for QFrame (0x0x7f760fc57618) + QObject (0x0x7f760fc58cc0) 0 + primary-for QWidget (0x0x7f7615275b60) + QPaintDevice (0x0x7f760fc58d20) 16 + vptr=((& QTreeView::_ZTV9QTreeView) + 800) + +Class QTreeWidgetItemIterator + size=24 align=8 + base size=20 base align=8 +QTreeWidgetItemIterator (0x0x7f760fc89000) 0 + +Vtable for QTreeWidgetItem +QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QTreeWidgetItem) +16 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem +24 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem +32 (int (*)(...))QTreeWidgetItem::clone +40 (int (*)(...))QTreeWidgetItem::data +48 (int (*)(...))QTreeWidgetItem::setData +56 (int (*)(...))QTreeWidgetItem::operator< +64 (int (*)(...))QTreeWidgetItem::read +72 (int (*)(...))QTreeWidgetItem::write + +Class QTreeWidgetItem + size=64 align=8 + base size=60 base align=8 +QTreeWidgetItem (0x0x7f760fc89a80) 0 + vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16) + +Class QTreeWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTreeWidget::QPrivateSignal (0x0x7f760fce6a80) 0 empty + +Vtable for QTreeWidget +QTreeWidget::_ZTV11QTreeWidget: 112 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTreeWidget) +16 (int (*)(...))QTreeWidget::metaObject +24 (int (*)(...))QTreeWidget::qt_metacast +32 (int (*)(...))QTreeWidget::qt_metacall +40 (int (*)(...))QTreeWidget::~QTreeWidget +48 (int (*)(...))QTreeWidget::~QTreeWidget +56 (int (*)(...))QTreeWidget::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTreeView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTreeView::mousePressEvent +176 (int (*)(...))QTreeView::mouseReleaseEvent +184 (int (*)(...))QTreeView::mouseDoubleClickEvent +192 (int (*)(...))QTreeView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QTreeView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTreeView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QTreeView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QTreeWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QTreeView::viewportEvent +448 (int (*)(...))QTreeView::scrollContentsBy +456 (int (*)(...))QTreeView::viewportSizeHint +464 (int (*)(...))QTreeWidget::setModel +472 (int (*)(...))QTreeWidget::setSelectionModel +480 (int (*)(...))QTreeView::keyboardSearch +488 (int (*)(...))QTreeView::visualRect +496 (int (*)(...))QTreeView::scrollTo +504 (int (*)(...))QTreeView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QTreeView::sizeHintForColumn +528 (int (*)(...))QTreeView::reset +536 (int (*)(...))QTreeView::setRootIndex +544 (int (*)(...))QTreeView::doItemsLayout +552 (int (*)(...))QTreeView::selectAll +560 (int (*)(...))QTreeView::dataChanged +568 (int (*)(...))QTreeView::rowsInserted +576 (int (*)(...))QTreeView::rowsAboutToBeRemoved +584 (int (*)(...))QTreeView::selectionChanged +592 (int (*)(...))QTreeView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QTreeView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QTreeView::horizontalScrollbarAction +640 (int (*)(...))QTreeView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QTreeView::moveCursor +688 (int (*)(...))QTreeView::horizontalOffset +696 (int (*)(...))QTreeView::verticalOffset +704 (int (*)(...))QTreeView::isIndexHidden +712 (int (*)(...))QTreeView::setSelection +720 (int (*)(...))QTreeView::visualRegionForSelection +728 (int (*)(...))QTreeView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))QTreeView::drawRow +776 (int (*)(...))QTreeView::drawBranches +784 (int (*)(...))QTreeWidget::mimeTypes +792 (int (*)(...))QTreeWidget::mimeData +800 (int (*)(...))QTreeWidget::dropMimeData +808 (int (*)(...))QTreeWidget::supportedDropActions +816 (int (*)(...))-16 +824 (int (*)(...))(& _ZTI11QTreeWidget) +832 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev +840 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +880 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +888 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTreeWidget + size=48 align=8 + base size=48 base align=8 +QTreeWidget (0x0x7f760fc57888) 0 + vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16) + QTreeView (0x0x7f760fc578f0) 0 + primary-for QTreeWidget (0x0x7f760fc57888) + QAbstractItemView (0x0x7f760fc57958) 0 + primary-for QTreeView (0x0x7f760fc578f0) + QAbstractScrollArea (0x0x7f760fc579c0) 0 + primary-for QAbstractItemView (0x0x7f760fc57958) + QFrame (0x0x7f760fc57a28) 0 + primary-for QAbstractScrollArea (0x0x7f760fc579c0) + QWidget (0x0x7f76152dfb60) 0 + primary-for QFrame (0x0x7f760fc57a28) + QObject (0x0x7f760fce69c0) 0 + primary-for QWidget (0x0x7f76152dfb60) + QPaintDevice (0x0x7f760fce6a20) 16 + vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832) + +Class QUndoGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUndoGroup::QPrivateSignal (0x0x7f760fce6ea0) 0 empty + +Vtable for QUndoGroup +QUndoGroup::_ZTV10QUndoGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QUndoGroup) +16 (int (*)(...))QUndoGroup::metaObject +24 (int (*)(...))QUndoGroup::qt_metacast +32 (int (*)(...))QUndoGroup::qt_metacall +40 (int (*)(...))QUndoGroup::~QUndoGroup +48 (int (*)(...))QUndoGroup::~QUndoGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QUndoGroup + size=16 align=8 + base size=16 base align=8 +QUndoGroup (0x0x7f760fc57a90) 0 + vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16) + QObject (0x0x7f760fce6e40) 0 + primary-for QUndoGroup (0x0x7f760fc57a90) + +Vtable for QUndoCommand +QUndoCommand::_ZTV12QUndoCommand: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QUndoCommand) +16 (int (*)(...))QUndoCommand::~QUndoCommand +24 (int (*)(...))QUndoCommand::~QUndoCommand +32 (int (*)(...))QUndoCommand::undo +40 (int (*)(...))QUndoCommand::redo +48 (int (*)(...))QUndoCommand::id +56 (int (*)(...))QUndoCommand::mergeWith + +Class QUndoCommand + size=16 align=8 + base size=16 base align=8 +QUndoCommand (0x0x7f760fd090c0) 0 + vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16) + +Class QUndoStack::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUndoStack::QPrivateSignal (0x0x7f760fd09180) 0 empty + +Vtable for QUndoStack +QUndoStack::_ZTV10QUndoStack: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QUndoStack) +16 (int (*)(...))QUndoStack::metaObject +24 (int (*)(...))QUndoStack::qt_metacast +32 (int (*)(...))QUndoStack::qt_metacall +40 (int (*)(...))QUndoStack::~QUndoStack +48 (int (*)(...))QUndoStack::~QUndoStack +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QUndoStack + size=16 align=8 + base size=16 base align=8 +QUndoStack (0x0x7f760fc57af8) 0 + vptr=((& QUndoStack::_ZTV10QUndoStack) + 16) + QObject (0x0x7f760fd09120) 0 + primary-for QUndoStack (0x0x7f760fc57af8) + +Class QUndoView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUndoView::QPrivateSignal (0x0x7f760fd09420) 0 empty + +Vtable for QUndoView +QUndoView::_ZTV9QUndoView: 106 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QUndoView) +16 (int (*)(...))QUndoView::metaObject +24 (int (*)(...))QUndoView::qt_metacast +32 (int (*)(...))QUndoView::qt_metacall +40 (int (*)(...))QUndoView::~QUndoView +48 (int (*)(...))QUndoView::~QUndoView +56 (int (*)(...))QListView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QListView::scrollContentsBy +456 (int (*)(...))QListView::viewportSizeHint +464 (int (*)(...))QAbstractItemView::setModel +472 (int (*)(...))QAbstractItemView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QListView::visualRect +496 (int (*)(...))QListView::scrollTo +504 (int (*)(...))QListView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QListView::reset +536 (int (*)(...))QListView::setRootIndex +544 (int (*)(...))QListView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QListView::dataChanged +568 (int (*)(...))QListView::rowsInserted +576 (int (*)(...))QListView::rowsAboutToBeRemoved +584 (int (*)(...))QListView::selectionChanged +592 (int (*)(...))QListView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QListView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QListView::moveCursor +688 (int (*)(...))QListView::horizontalOffset +696 (int (*)(...))QListView::verticalOffset +704 (int (*)(...))QListView::isIndexHidden +712 (int (*)(...))QListView::setSelection +720 (int (*)(...))QListView::visualRegionForSelection +728 (int (*)(...))QListView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QListView::startDrag +760 (int (*)(...))QListView::viewOptions +768 (int (*)(...))-16 +776 (int (*)(...))(& _ZTI9QUndoView) +784 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD1Ev +792 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD0Ev +800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QUndoView + size=48 align=8 + base size=48 base align=8 +QUndoView (0x0x7f760fc57b60) 0 + vptr=((& QUndoView::_ZTV9QUndoView) + 16) + QListView (0x0x7f760fc57bc8) 0 + primary-for QUndoView (0x0x7f760fc57b60) + QAbstractItemView (0x0x7f760fc57c30) 0 + primary-for QListView (0x0x7f760fc57bc8) + QAbstractScrollArea (0x0x7f760fc57c98) 0 + primary-for QAbstractItemView (0x0x7f760fc57c30) + QFrame (0x0x7f760fc57d00) 0 + primary-for QAbstractScrollArea (0x0x7f760fc57c98) + QWidget (0x0x7f7615341000) 0 + primary-for QFrame (0x0x7f760fc57d00) + QObject (0x0x7f760fd09360) 0 + primary-for QWidget (0x0x7f7615341000) + QPaintDevice (0x0x7f760fd093c0) 16 + vptr=((& QUndoView::_ZTV9QUndoView) + 784) + +Class QWhatsThis + size=1 align=1 + base size=0 base align=1 +QWhatsThis (0x0x7f760fd09600) 0 empty + +Class QWidgetAction::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWidgetAction::QPrivateSignal (0x0x7f760fd096c0) 0 empty + +Vtable for QWidgetAction +QWidgetAction::_ZTV13QWidgetAction: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QWidgetAction) +16 (int (*)(...))QWidgetAction::metaObject +24 (int (*)(...))QWidgetAction::qt_metacast +32 (int (*)(...))QWidgetAction::qt_metacall +40 (int (*)(...))QWidgetAction::~QWidgetAction +48 (int (*)(...))QWidgetAction::~QWidgetAction +56 (int (*)(...))QWidgetAction::event +64 (int (*)(...))QWidgetAction::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidgetAction::createWidget +120 (int (*)(...))QWidgetAction::deleteWidget + +Class QWidgetAction + size=16 align=8 + base size=16 base align=8 +QWidgetAction (0x0x7f760fc57d68) 0 + vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16) + QAction (0x0x7f760fc57dd0) 0 + primary-for QWidgetAction (0x0x7f760fc57d68) + QObject (0x0x7f760fd09660) 0 + primary-for QAction (0x0x7f760fc57dd0) + +Class QWizard::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWizard::QPrivateSignal (0x0x7f760fd09960) 0 empty + +Vtable for QWizard +QWizard::_ZTV7QWizard: 73 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QWizard) +16 (int (*)(...))QWizard::metaObject +24 (int (*)(...))QWizard::qt_metacast +32 (int (*)(...))QWizard::qt_metacall +40 (int (*)(...))QWizard::~QWizard +48 (int (*)(...))QWizard::~QWizard +56 (int (*)(...))QWizard::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWizard::setVisible +128 (int (*)(...))QWizard::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWizard::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWizard::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QWizard::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))QWizard::validateCurrentPage +480 (int (*)(...))QWizard::nextId +488 (int (*)(...))QWizard::initializePage +496 (int (*)(...))QWizard::cleanupPage +504 (int (*)(...))-16 +512 (int (*)(...))(& _ZTI7QWizard) +520 (int (*)(...))QWizard::_ZThn16_N7QWizardD1Ev +528 (int (*)(...))QWizard::_ZThn16_N7QWizardD0Ev +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QWizard + size=48 align=8 + base size=48 base align=8 +QWizard (0x0x7f760fc57e38) 0 + vptr=((& QWizard::_ZTV7QWizard) + 16) + QDialog (0x0x7f760fc57ea0) 0 + primary-for QWizard (0x0x7f760fc57e38) + QWidget (0x0x7f76153412a0) 0 + primary-for QDialog (0x0x7f760fc57ea0) + QObject (0x0x7f760fd098a0) 0 + primary-for QWidget (0x0x7f76153412a0) + QPaintDevice (0x0x7f760fd09900) 16 + vptr=((& QWizard::_ZTV7QWizard) + 520) + +Class QWizardPage::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWizardPage::QPrivateSignal (0x0x7f760fd58540) 0 empty + +Vtable for QWizardPage +QWizardPage::_ZTV11QWizardPage: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QWizardPage) +16 (int (*)(...))QWizardPage::metaObject +24 (int (*)(...))QWizardPage::qt_metacast +32 (int (*)(...))QWizardPage::qt_metacall +40 (int (*)(...))QWizardPage::~QWizardPage +48 (int (*)(...))QWizardPage::~QWizardPage +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QWizardPage::initializePage +440 (int (*)(...))QWizardPage::cleanupPage +448 (int (*)(...))QWizardPage::validatePage +456 (int (*)(...))QWizardPage::isComplete +464 (int (*)(...))QWizardPage::nextId +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QWizardPage) +488 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD1Ev +496 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QWizardPage + size=48 align=8 + base size=48 base align=8 +QWizardPage (0x0x7f760fd5b000) 0 + vptr=((& QWizardPage::_ZTV11QWizardPage) + 16) + QWidget (0x0x7f76153c70e0) 0 + primary-for QWizardPage (0x0x7f760fd5b000) + QObject (0x0x7f760fd58480) 0 + primary-for QWidget (0x0x7f76153c70e0) + QPaintDevice (0x0x7f760fd584e0) 16 + vptr=((& QWizardPage::_ZTV11QWizardPage) + 488) + +Class QDomImplementation + size=8 align=8 + base size=8 base align=8 +QDomImplementation (0x0x7f760fd58720) 0 + +Class QDomNode + size=8 align=8 + base size=8 base align=8 +QDomNode (0x0x7f760fd58780) 0 + +Class QDomNodeList + size=8 align=8 + base size=8 base align=8 +QDomNodeList (0x0x7f760fd587e0) 0 + +Class QDomDocumentType + size=8 align=8 + base size=8 base align=8 +QDomDocumentType (0x0x7f760fd5b068) 0 + QDomNode (0x0x7f760fd589c0) 0 + +Class QDomDocument + size=8 align=8 + base size=8 base align=8 +QDomDocument (0x0x7f760fd5b0d0) 0 + QDomNode (0x0x7f760fd58a80) 0 + +Class QDomNamedNodeMap + size=8 align=8 + base size=8 base align=8 +QDomNamedNodeMap (0x0x7f760fd58b40) 0 + +Class QDomDocumentFragment + size=8 align=8 + base size=8 base align=8 +QDomDocumentFragment (0x0x7f760fd5b138) 0 + QDomNode (0x0x7f760fd58cc0) 0 + +Class QDomCharacterData + size=8 align=8 + base size=8 base align=8 +QDomCharacterData (0x0x7f760fd5b1a0) 0 + QDomNode (0x0x7f760fd58d80) 0 + +Class QDomAttr + size=8 align=8 + base size=8 base align=8 +QDomAttr (0x0x7f760fd5b208) 0 + QDomNode (0x0x7f760fd58de0) 0 + +Class QDomElement + size=8 align=8 + base size=8 base align=8 +QDomElement (0x0x7f760fd5b270) 0 + QDomNode (0x0x7f760fd58ea0) 0 + +Class QDomText + size=8 align=8 + base size=8 base align=8 +QDomText (0x0x7f760fd5b2d8) 0 + QDomCharacterData (0x0x7f760fd5b340) 0 + QDomNode (0x0x7f760fdb2120) 0 + +Class QDomComment + size=8 align=8 + base size=8 base align=8 +QDomComment (0x0x7f760fd5b3a8) 0 + QDomCharacterData (0x0x7f760fd5b410) 0 + QDomNode (0x0x7f760fdb21e0) 0 + +Class QDomCDATASection + size=8 align=8 + base size=8 base align=8 +QDomCDATASection (0x0x7f760fd5b478) 0 + QDomText (0x0x7f760fd5b4e0) 0 + QDomCharacterData (0x0x7f760fd5b548) 0 + QDomNode (0x0x7f760fdb22a0) 0 + +Class QDomNotation + size=8 align=8 + base size=8 base align=8 +QDomNotation (0x0x7f760fd5b5b0) 0 + QDomNode (0x0x7f760fdb2360) 0 + +Class QDomEntity + size=8 align=8 + base size=8 base align=8 +QDomEntity (0x0x7f760fd5b618) 0 + QDomNode (0x0x7f760fdb2420) 0 + +Class QDomEntityReference + size=8 align=8 + base size=8 base align=8 +QDomEntityReference (0x0x7f760fd5b680) 0 + QDomNode (0x0x7f760fdb24e0) 0 + +Class QDomProcessingInstruction + size=8 align=8 + base size=8 base align=8 +QDomProcessingInstruction (0x0x7f760fd5b6e8) 0 + QDomNode (0x0x7f760fdb25a0) 0 + +Class QXmlNamespaceSupport + size=8 align=8 + base size=8 base align=8 +QXmlNamespaceSupport (0x0x7f760fdb2660) 0 + +Class QXmlAttributes::Attribute + size=32 align=8 + base size=32 base align=8 +QXmlAttributes::Attribute (0x0x7f760fdb2720) 0 + +Vtable for QXmlAttributes +QXmlAttributes::_ZTV14QXmlAttributes: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QXmlAttributes) +16 (int (*)(...))QXmlAttributes::~QXmlAttributes +24 (int (*)(...))QXmlAttributes::~QXmlAttributes + +Class QXmlAttributes + size=24 align=8 + base size=24 base align=8 +QXmlAttributes (0x0x7f760fdb26c0) 0 + vptr=((& QXmlAttributes::_ZTV14QXmlAttributes) + 16) + +Vtable for QXmlInputSource +QXmlInputSource::_ZTV15QXmlInputSource: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QXmlInputSource) +16 (int (*)(...))QXmlInputSource::~QXmlInputSource +24 (int (*)(...))QXmlInputSource::~QXmlInputSource +32 (int (*)(...))QXmlInputSource::setData +40 (int (*)(...))QXmlInputSource::setData +48 (int (*)(...))QXmlInputSource::fetchData +56 (int (*)(...))QXmlInputSource::data +64 (int (*)(...))QXmlInputSource::next +72 (int (*)(...))QXmlInputSource::reset +80 (int (*)(...))QXmlInputSource::fromRawData + +Class QXmlInputSource + size=16 align=8 + base size=16 base align=8 +QXmlInputSource (0x0x7f760faabf00) 0 + vptr=((& QXmlInputSource::_ZTV15QXmlInputSource) + 16) + +Class QXmlParseException + size=8 align=8 + base size=8 base align=8 +QXmlParseException (0x0x7f760faabf60) 0 + +Vtable for QXmlReader +QXmlReader::_ZTV10QXmlReader: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QXmlReader) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual + +Class QXmlReader + size=8 align=8 + base size=8 base align=8 +QXmlReader (0x0x7f760fac0060) 0 nearly-empty + vptr=((& QXmlReader::_ZTV10QXmlReader) + 16) + +Vtable for QXmlSimpleReader +QXmlSimpleReader::_ZTV16QXmlSimpleReader: 26 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QXmlSimpleReader) +16 (int (*)(...))QXmlSimpleReader::~QXmlSimpleReader +24 (int (*)(...))QXmlSimpleReader::~QXmlSimpleReader +32 (int (*)(...))QXmlSimpleReader::feature +40 (int (*)(...))QXmlSimpleReader::setFeature +48 (int (*)(...))QXmlSimpleReader::hasFeature +56 (int (*)(...))QXmlSimpleReader::property +64 (int (*)(...))QXmlSimpleReader::setProperty +72 (int (*)(...))QXmlSimpleReader::hasProperty +80 (int (*)(...))QXmlSimpleReader::setEntityResolver +88 (int (*)(...))QXmlSimpleReader::entityResolver +96 (int (*)(...))QXmlSimpleReader::setDTDHandler +104 (int (*)(...))QXmlSimpleReader::DTDHandler +112 (int (*)(...))QXmlSimpleReader::setContentHandler +120 (int (*)(...))QXmlSimpleReader::contentHandler +128 (int (*)(...))QXmlSimpleReader::setErrorHandler +136 (int (*)(...))QXmlSimpleReader::errorHandler +144 (int (*)(...))QXmlSimpleReader::setLexicalHandler +152 (int (*)(...))QXmlSimpleReader::lexicalHandler +160 (int (*)(...))QXmlSimpleReader::setDeclHandler +168 (int (*)(...))QXmlSimpleReader::declHandler +176 (int (*)(...))QXmlSimpleReader::parse +184 (int (*)(...))QXmlSimpleReader::parse +192 (int (*)(...))QXmlSimpleReader::parse +200 (int (*)(...))QXmlSimpleReader::parseContinue + +Class QXmlSimpleReader + size=16 align=8 + base size=16 base align=8 +QXmlSimpleReader (0x0x7f760fab4820) 0 + vptr=((& QXmlSimpleReader::_ZTV16QXmlSimpleReader) + 16) + QXmlReader (0x0x7f760fac02a0) 0 nearly-empty + primary-for QXmlSimpleReader (0x0x7f760fab4820) + +Vtable for QXmlLocator +QXmlLocator::_ZTV11QXmlLocator: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QXmlLocator) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QXmlLocator + size=8 align=8 + base size=8 base align=8 +QXmlLocator (0x0x7f760fac0480) 0 nearly-empty + vptr=((& QXmlLocator::_ZTV11QXmlLocator) + 16) + +Vtable for QXmlContentHandler +QXmlContentHandler::_ZTV18QXmlContentHandler: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QXmlContentHandler) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QXmlContentHandler + size=8 align=8 + base size=8 base align=8 +QXmlContentHandler (0x0x7f760fac04e0) 0 nearly-empty + vptr=((& QXmlContentHandler::_ZTV18QXmlContentHandler) + 16) + +Vtable for QXmlErrorHandler +QXmlErrorHandler::_ZTV16QXmlErrorHandler: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QXmlErrorHandler) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual + +Class QXmlErrorHandler + size=8 align=8 + base size=8 base align=8 +QXmlErrorHandler (0x0x7f760fac0720) 0 nearly-empty + vptr=((& QXmlErrorHandler::_ZTV16QXmlErrorHandler) + 16) + +Vtable for QXmlDTDHandler +QXmlDTDHandler::_ZTV14QXmlDTDHandler: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QXmlDTDHandler) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual + +Class QXmlDTDHandler + size=8 align=8 + base size=8 base align=8 +QXmlDTDHandler (0x0x7f760fac0960) 0 nearly-empty + vptr=((& QXmlDTDHandler::_ZTV14QXmlDTDHandler) + 16) + +Vtable for QXmlEntityResolver +QXmlEntityResolver::_ZTV18QXmlEntityResolver: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QXmlEntityResolver) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QXmlEntityResolver + size=8 align=8 + base size=8 base align=8 +QXmlEntityResolver (0x0x7f760fac0ba0) 0 nearly-empty + vptr=((& QXmlEntityResolver::_ZTV18QXmlEntityResolver) + 16) + +Vtable for QXmlLexicalHandler +QXmlLexicalHandler::_ZTV18QXmlLexicalHandler: 12 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QXmlLexicalHandler) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual + +Class QXmlLexicalHandler + size=8 align=8 + base size=8 base align=8 +QXmlLexicalHandler (0x0x7f760fac0de0) 0 nearly-empty + vptr=((& QXmlLexicalHandler::_ZTV18QXmlLexicalHandler) + 16) + +Vtable for QXmlDeclHandler +QXmlDeclHandler::_ZTV15QXmlDeclHandler: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QXmlDeclHandler) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual + +Class QXmlDeclHandler + size=8 align=8 + base size=8 base align=8 +QXmlDeclHandler (0x0x7f760faf2060) 0 nearly-empty + vptr=((& QXmlDeclHandler::_ZTV15QXmlDeclHandler) + 16) + +Vtable for QXmlDefaultHandler +QXmlDefaultHandler::_ZTV18QXmlDefaultHandler: 73 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QXmlDefaultHandler) +16 (int (*)(...))QXmlDefaultHandler::~QXmlDefaultHandler +24 (int (*)(...))QXmlDefaultHandler::~QXmlDefaultHandler +32 (int (*)(...))QXmlDefaultHandler::setDocumentLocator +40 (int (*)(...))QXmlDefaultHandler::startDocument +48 (int (*)(...))QXmlDefaultHandler::endDocument +56 (int (*)(...))QXmlDefaultHandler::startPrefixMapping +64 (int (*)(...))QXmlDefaultHandler::endPrefixMapping +72 (int (*)(...))QXmlDefaultHandler::startElement +80 (int (*)(...))QXmlDefaultHandler::endElement +88 (int (*)(...))QXmlDefaultHandler::characters +96 (int (*)(...))QXmlDefaultHandler::ignorableWhitespace +104 (int (*)(...))QXmlDefaultHandler::processingInstruction +112 (int (*)(...))QXmlDefaultHandler::skippedEntity +120 (int (*)(...))QXmlDefaultHandler::errorString +128 (int (*)(...))QXmlDefaultHandler::warning +136 (int (*)(...))QXmlDefaultHandler::error +144 (int (*)(...))QXmlDefaultHandler::fatalError +152 (int (*)(...))QXmlDefaultHandler::notationDecl +160 (int (*)(...))QXmlDefaultHandler::unparsedEntityDecl +168 (int (*)(...))QXmlDefaultHandler::resolveEntity +176 (int (*)(...))QXmlDefaultHandler::startDTD +184 (int (*)(...))QXmlDefaultHandler::endDTD +192 (int (*)(...))QXmlDefaultHandler::startEntity +200 (int (*)(...))QXmlDefaultHandler::endEntity +208 (int (*)(...))QXmlDefaultHandler::startCDATA +216 (int (*)(...))QXmlDefaultHandler::endCDATA +224 (int (*)(...))QXmlDefaultHandler::comment +232 (int (*)(...))QXmlDefaultHandler::attributeDecl +240 (int (*)(...))QXmlDefaultHandler::internalEntityDecl +248 (int (*)(...))QXmlDefaultHandler::externalEntityDecl +256 (int (*)(...))-8 +264 (int (*)(...))(& _ZTI18QXmlDefaultHandler) +272 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD1Ev +280 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD0Ev +288 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler7warningERK18QXmlParseException +296 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler5errorERK18QXmlParseException +304 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler10fatalErrorERK18QXmlParseException +312 (int (*)(...))QXmlDefaultHandler::_ZThn8_NK18QXmlDefaultHandler11errorStringEv +320 (int (*)(...))-16 +328 (int (*)(...))(& _ZTI18QXmlDefaultHandler) +336 (int (*)(...))QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD1Ev +344 (int (*)(...))QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD0Ev +352 (int (*)(...))QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler12notationDeclERK7QStringS2_S2_ +360 (int (*)(...))QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler18unparsedEntityDeclERK7QStringS2_S2_S2_ +368 (int (*)(...))QXmlDefaultHandler::_ZThn16_NK18QXmlDefaultHandler11errorStringEv +376 (int (*)(...))-24 +384 (int (*)(...))(& _ZTI18QXmlDefaultHandler) +392 (int (*)(...))QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD1Ev +400 (int (*)(...))QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD0Ev +408 (int (*)(...))QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandler13resolveEntityERK7QStringS2_RP15QXmlInputSource +416 (int (*)(...))QXmlDefaultHandler::_ZThn24_NK18QXmlDefaultHandler11errorStringEv +424 (int (*)(...))-32 +432 (int (*)(...))(& _ZTI18QXmlDefaultHandler) +440 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD1Ev +448 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD0Ev +456 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8startDTDERK7QStringS2_S2_ +464 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler6endDTDEv +472 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler11startEntityERK7QString +480 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler9endEntityERK7QString +488 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler10startCDATAEv +496 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8endCDATAEv +504 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler7commentERK7QString +512 (int (*)(...))QXmlDefaultHandler::_ZThn32_NK18QXmlDefaultHandler11errorStringEv +520 (int (*)(...))-40 +528 (int (*)(...))(& _ZTI18QXmlDefaultHandler) +536 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD1Ev +544 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD0Ev +552 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler13attributeDeclERK7QStringS2_S2_S2_S2_ +560 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18internalEntityDeclERK7QStringS2_ +568 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18externalEntityDeclERK7QStringS2_S2_ +576 (int (*)(...))QXmlDefaultHandler::_ZThn40_NK18QXmlDefaultHandler11errorStringEv + +Class QXmlDefaultHandler + size=56 align=8 + base size=56 base align=8 +QXmlDefaultHandler (0x0x7f7612503090) 0 + vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 16) + QXmlContentHandler (0x0x7f760faf22a0) 0 nearly-empty + primary-for QXmlDefaultHandler (0x0x7f7612503090) + QXmlErrorHandler (0x0x7f760faf2300) 8 nearly-empty + vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 272) + QXmlDTDHandler (0x0x7f760faf2360) 16 nearly-empty + vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 336) + QXmlEntityResolver (0x0x7f760faf23c0) 24 nearly-empty + vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 392) + QXmlLexicalHandler (0x0x7f760faf2420) 32 nearly-empty + vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 440) + QXmlDeclHandler (0x0x7f760faf2480) 40 nearly-empty + vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 536) + +Vtable for QDesignerCustomWidgetInterface +QDesignerCustomWidgetInterface::_ZTV30QDesignerCustomWidgetInterface: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI30QDesignerCustomWidgetInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))QDesignerCustomWidgetInterface::isInitialized +104 (int (*)(...))QDesignerCustomWidgetInterface::initialize +112 (int (*)(...))QDesignerCustomWidgetInterface::domXml +120 (int (*)(...))QDesignerCustomWidgetInterface::codeTemplate + +Class QDesignerCustomWidgetInterface + size=8 align=8 + base size=8 base align=8 +QDesignerCustomWidgetInterface (0x0x7f760faf26c0) 0 nearly-empty + vptr=((& QDesignerCustomWidgetInterface::_ZTV30QDesignerCustomWidgetInterface) + 16) + +Vtable for QDesignerCustomWidgetCollectionInterface +QDesignerCustomWidgetCollectionInterface::_ZTV40QDesignerCustomWidgetCollectionInterface: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI40QDesignerCustomWidgetCollectionInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QDesignerCustomWidgetCollectionInterface + size=8 align=8 + base size=8 base align=8 +QDesignerCustomWidgetCollectionInterface (0x0x7f760fb17420) 0 nearly-empty + vptr=((& QDesignerCustomWidgetCollectionInterface::_ZTV40QDesignerCustomWidgetCollectionInterface) + 16) + +Class QDesignerActionEditorInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerActionEditorInterface::QPrivateSignal (0x0x7f760fb17900) 0 empty + +Vtable for QDesignerActionEditorInterface +QDesignerActionEditorInterface::_ZTV30QDesignerActionEditorInterface: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI30QDesignerActionEditorInterface) +16 (int (*)(...))QDesignerActionEditorInterface::metaObject +24 (int (*)(...))QDesignerActionEditorInterface::qt_metacast +32 (int (*)(...))QDesignerActionEditorInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDesignerActionEditorInterface::core +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))__cxa_pure_virtual +456 (int (*)(...))__cxa_pure_virtual +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI30QDesignerActionEditorInterface) +480 0 +488 0 +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerActionEditorInterface + size=48 align=8 + base size=48 base align=8 +QDesignerActionEditorInterface (0x0x7f760fb144e0) 0 + vptr=((& QDesignerActionEditorInterface::_ZTV30QDesignerActionEditorInterface) + 16) + QWidget (0x0x7f761478da80) 0 + primary-for QDesignerActionEditorInterface (0x0x7f760fb144e0) + QObject (0x0x7f760fb17840) 0 + primary-for QWidget (0x0x7f761478da80) + QPaintDevice (0x0x7f760fb178a0) 16 + vptr=((& QDesignerActionEditorInterface::_ZTV30QDesignerActionEditorInterface) + 480) + +Vtable for QDesignerDnDItemInterface +QDesignerDnDItemInterface::_ZTV25QDesignerDnDItemInterface: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QDesignerDnDItemInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual + +Class QDesignerDnDItemInterface + size=8 align=8 + base size=8 base align=8 +QDesignerDnDItemInterface (0x0x7f760fb17a20) 0 nearly-empty + vptr=((& QDesignerDnDItemInterface::_ZTV25QDesignerDnDItemInterface) + 16) + +Vtable for QAbstractFormBuilder +QAbstractFormBuilder::_ZTV20QAbstractFormBuilder: 42 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QAbstractFormBuilder) +16 (int (*)(...))QAbstractFormBuilder::~QAbstractFormBuilder +24 (int (*)(...))QAbstractFormBuilder::~QAbstractFormBuilder +32 (int (*)(...))QAbstractFormBuilder::load +40 (int (*)(...))QAbstractFormBuilder::save +48 (int (*)(...))QAbstractFormBuilder::loadExtraInfo +56 (int (*)(...))QAbstractFormBuilder::create +64 (int (*)(...))QAbstractFormBuilder::create +72 (int (*)(...))QAbstractFormBuilder::create +80 (int (*)(...))QAbstractFormBuilder::create +88 (int (*)(...))QAbstractFormBuilder::create +96 (int (*)(...))QAbstractFormBuilder::create +104 (int (*)(...))QAbstractFormBuilder::addMenuAction +112 (int (*)(...))QAbstractFormBuilder::applyProperties +120 (int (*)(...))QAbstractFormBuilder::applyTabStops +128 (int (*)(...))QAbstractFormBuilder::createWidget +136 (int (*)(...))QAbstractFormBuilder::createLayout +144 (int (*)(...))QAbstractFormBuilder::createAction +152 (int (*)(...))QAbstractFormBuilder::createActionGroup +160 (int (*)(...))QAbstractFormBuilder::createCustomWidgets +168 (int (*)(...))QAbstractFormBuilder::createConnections +176 (int (*)(...))QAbstractFormBuilder::createResources +184 (int (*)(...))QAbstractFormBuilder::addItem +192 (int (*)(...))QAbstractFormBuilder::addItem +200 (int (*)(...))QAbstractFormBuilder::saveExtraInfo +208 (int (*)(...))QAbstractFormBuilder::saveDom +216 (int (*)(...))QAbstractFormBuilder::createActionRefDom +224 (int (*)(...))QAbstractFormBuilder::createDom +232 (int (*)(...))QAbstractFormBuilder::createDom +240 (int (*)(...))QAbstractFormBuilder::createDom +248 (int (*)(...))QAbstractFormBuilder::createDom +256 (int (*)(...))QAbstractFormBuilder::createDom +264 (int (*)(...))QAbstractFormBuilder::createDom +272 (int (*)(...))QAbstractFormBuilder::saveConnections +280 (int (*)(...))QAbstractFormBuilder::saveCustomWidgets +288 (int (*)(...))QAbstractFormBuilder::saveTabStops +296 (int (*)(...))QAbstractFormBuilder::saveResources +304 (int (*)(...))QAbstractFormBuilder::computeProperties +312 (int (*)(...))QAbstractFormBuilder::checkProperty +320 (int (*)(...))QAbstractFormBuilder::createProperty +328 (int (*)(...))QAbstractFormBuilder::layoutInfo + +Class QAbstractFormBuilder + size=16 align=8 + base size=16 base align=8 +QAbstractFormBuilder (0x0x7f760fb17de0) 0 + vptr=((& QAbstractFormBuilder::_ZTV20QAbstractFormBuilder) + 16) + +Class QDesignerFormEditorInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerFormEditorInterface::QPrivateSignal (0x0x7f760fb56060) 0 empty + +Vtable for QDesignerFormEditorInterface +QDesignerFormEditorInterface::_ZTV28QDesignerFormEditorInterface: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QDesignerFormEditorInterface) +16 (int (*)(...))QDesignerFormEditorInterface::metaObject +24 (int (*)(...))QDesignerFormEditorInterface::qt_metacast +32 (int (*)(...))QDesignerFormEditorInterface::qt_metacall +40 (int (*)(...))QDesignerFormEditorInterface::~QDesignerFormEditorInterface +48 (int (*)(...))QDesignerFormEditorInterface::~QDesignerFormEditorInterface +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDesignerFormEditorInterface + size=24 align=8 + base size=24 base align=8 +QDesignerFormEditorInterface (0x0x7f760fb14548) 0 + vptr=((& QDesignerFormEditorInterface::_ZTV28QDesignerFormEditorInterface) + 16) + QObject (0x0x7f760fb56000) 0 + primary-for QDesignerFormEditorInterface (0x0x7f760fb14548) + +Vtable for QDesignerFormEditorPluginInterface +QDesignerFormEditorPluginInterface::_ZTV34QDesignerFormEditorPluginInterface: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI34QDesignerFormEditorPluginInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual + +Class QDesignerFormEditorPluginInterface + size=8 align=8 + base size=8 base align=8 +QDesignerFormEditorPluginInterface (0x0x7f760fb561e0) 0 nearly-empty + vptr=((& QDesignerFormEditorPluginInterface::_ZTV34QDesignerFormEditorPluginInterface) + 16) + +Class QDesignerFormWindowInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerFormWindowInterface::QPrivateSignal (0x0x7f760fb56660) 0 empty + +Vtable for QDesignerFormWindowInterface +QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface: 121 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QDesignerFormWindowInterface) +16 (int (*)(...))QDesignerFormWindowInterface::metaObject +24 (int (*)(...))QDesignerFormWindowInterface::qt_metacast +32 (int (*)(...))QDesignerFormWindowInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))__cxa_pure_virtual +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))__cxa_pure_virtual +456 (int (*)(...))__cxa_pure_virtual +464 (int (*)(...))__cxa_pure_virtual +472 (int (*)(...))__cxa_pure_virtual +480 (int (*)(...))__cxa_pure_virtual +488 (int (*)(...))__cxa_pure_virtual +496 (int (*)(...))__cxa_pure_virtual +504 (int (*)(...))__cxa_pure_virtual +512 (int (*)(...))__cxa_pure_virtual +520 (int (*)(...))__cxa_pure_virtual +528 (int (*)(...))__cxa_pure_virtual +536 (int (*)(...))__cxa_pure_virtual +544 (int (*)(...))__cxa_pure_virtual +552 (int (*)(...))__cxa_pure_virtual +560 (int (*)(...))__cxa_pure_virtual +568 (int (*)(...))__cxa_pure_virtual +576 (int (*)(...))__cxa_pure_virtual +584 (int (*)(...))__cxa_pure_virtual +592 (int (*)(...))__cxa_pure_virtual +600 (int (*)(...))__cxa_pure_virtual +608 (int (*)(...))__cxa_pure_virtual +616 (int (*)(...))__cxa_pure_virtual +624 (int (*)(...))__cxa_pure_virtual +632 (int (*)(...))QDesignerFormWindowInterface::core +640 (int (*)(...))__cxa_pure_virtual +648 (int (*)(...))__cxa_pure_virtual +656 (int (*)(...))__cxa_pure_virtual +664 (int (*)(...))__cxa_pure_virtual +672 (int (*)(...))__cxa_pure_virtual +680 (int (*)(...))__cxa_pure_virtual +688 (int (*)(...))__cxa_pure_virtual +696 (int (*)(...))__cxa_pure_virtual +704 (int (*)(...))__cxa_pure_virtual +712 (int (*)(...))__cxa_pure_virtual +720 (int (*)(...))__cxa_pure_virtual +728 (int (*)(...))__cxa_pure_virtual +736 (int (*)(...))__cxa_pure_virtual +744 (int (*)(...))__cxa_pure_virtual +752 (int (*)(...))__cxa_pure_virtual +760 (int (*)(...))__cxa_pure_virtual +768 (int (*)(...))__cxa_pure_virtual +776 (int (*)(...))__cxa_pure_virtual +784 (int (*)(...))__cxa_pure_virtual +792 (int (*)(...))__cxa_pure_virtual +800 (int (*)(...))__cxa_pure_virtual +808 (int (*)(...))__cxa_pure_virtual +816 (int (*)(...))__cxa_pure_virtual +824 (int (*)(...))__cxa_pure_virtual +832 (int (*)(...))__cxa_pure_virtual +840 (int (*)(...))__cxa_pure_virtual +848 (int (*)(...))__cxa_pure_virtual +856 (int (*)(...))__cxa_pure_virtual +864 (int (*)(...))__cxa_pure_virtual +872 (int (*)(...))__cxa_pure_virtual +880 (int (*)(...))__cxa_pure_virtual +888 (int (*)(...))-16 +896 (int (*)(...))(& _ZTI28QDesignerFormWindowInterface) +904 0 +912 0 +920 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +928 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +936 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +944 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +952 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +960 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerFormWindowInterface + size=48 align=8 + base size=48 base align=8 +QDesignerFormWindowInterface (0x0x7f760fb145b0) 0 + vptr=((& QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface) + 16) + QWidget (0x0x7f761456e3f0) 0 + primary-for QDesignerFormWindowInterface (0x0x7f760fb145b0) + QObject (0x0x7f760fb565a0) 0 + primary-for QWidget (0x0x7f761456e3f0) + QPaintDevice (0x0x7f760fb56600) 16 + vptr=((& QDesignerFormWindowInterface::_ZTV28QDesignerFormWindowInterface) + 904) + +Vtable for QDesignerFormWindowCursorInterface +QDesignerFormWindowCursorInterface::_ZTV34QDesignerFormWindowCursorInterface: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI34QDesignerFormWindowCursorInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual + +Class QDesignerFormWindowCursorInterface + size=8 align=8 + base size=8 base align=8 +QDesignerFormWindowCursorInterface (0x0x7f760fb56780) 0 nearly-empty + vptr=((& QDesignerFormWindowCursorInterface::_ZTV34QDesignerFormWindowCursorInterface) + 16) + +Class QDesignerFormWindowManagerInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerFormWindowManagerInterface::QPrivateSignal (0x0x7f760fb56a20) 0 empty + +Vtable for QDesignerFormWindowManagerInterface +QDesignerFormWindowManagerInterface::_ZTV35QDesignerFormWindowManagerInterface: 29 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI35QDesignerFormWindowManagerInterface) +16 (int (*)(...))QDesignerFormWindowManagerInterface::metaObject +24 (int (*)(...))QDesignerFormWindowManagerInterface::qt_metacast +32 (int (*)(...))QDesignerFormWindowManagerInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))__cxa_pure_virtual + +Class QDesignerFormWindowManagerInterface + size=24 align=8 + base size=24 base align=8 +QDesignerFormWindowManagerInterface (0x0x7f760fb14618) 0 + vptr=((& QDesignerFormWindowManagerInterface::_ZTV35QDesignerFormWindowManagerInterface) + 16) + QObject (0x0x7f760fb569c0) 0 + primary-for QDesignerFormWindowManagerInterface (0x0x7f760fb14618) + +Class QDesignerFormWindowToolInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerFormWindowToolInterface::QPrivateSignal (0x0x7f760fb56c60) 0 empty + +Vtable for QDesignerFormWindowToolInterface +QDesignerFormWindowToolInterface::_ZTV32QDesignerFormWindowToolInterface: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QDesignerFormWindowToolInterface) +16 (int (*)(...))QDesignerFormWindowToolInterface::metaObject +24 (int (*)(...))QDesignerFormWindowToolInterface::qt_metacast +32 (int (*)(...))QDesignerFormWindowToolInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))QDesignerFormWindowToolInterface::saveToDom +168 (int (*)(...))QDesignerFormWindowToolInterface::loadFromDom +176 (int (*)(...))__cxa_pure_virtual + +Class QDesignerFormWindowToolInterface + size=16 align=8 + base size=16 base align=8 +QDesignerFormWindowToolInterface (0x0x7f760fb14680) 0 + vptr=((& QDesignerFormWindowToolInterface::_ZTV32QDesignerFormWindowToolInterface) + 16) + QObject (0x0x7f760fb56c00) 0 + primary-for QDesignerFormWindowToolInterface (0x0x7f760fb14680) + +Class QDesignerIntegrationInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerIntegrationInterface::QPrivateSignal (0x0x7f760fb56ea0) 0 empty + +Vtable for QDesignerIntegrationInterface +QDesignerIntegrationInterface::_ZTV29QDesignerIntegrationInterface: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QDesignerIntegrationInterface) +16 (int (*)(...))QDesignerIntegrationInterface::metaObject +24 (int (*)(...))QDesignerIntegrationInterface::qt_metacast +32 (int (*)(...))QDesignerIntegrationInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))__cxa_pure_virtual +232 (int (*)(...))__cxa_pure_virtual +240 (int (*)(...))__cxa_pure_virtual +248 (int (*)(...))__cxa_pure_virtual +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))__cxa_pure_virtual + +Class QDesignerIntegrationInterface + size=24 align=8 + base size=24 base align=8 +QDesignerIntegrationInterface (0x0x7f760fb146e8) 0 + vptr=((& QDesignerIntegrationInterface::_ZTV29QDesignerIntegrationInterface) + 16) + QObject (0x0x7f760fb56e40) 0 + primary-for QDesignerIntegrationInterface (0x0x7f760fb146e8) + +Class QDesignerIntegration::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerIntegration::QPrivateSignal (0x0x7f760fbb40c0) 0 empty + +Vtable for QDesignerIntegration +QDesignerIntegration::_ZTV20QDesignerIntegration: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QDesignerIntegration) +16 (int (*)(...))QDesignerIntegration::metaObject +24 (int (*)(...))QDesignerIntegration::qt_metacast +32 (int (*)(...))QDesignerIntegration::qt_metacall +40 (int (*)(...))QDesignerIntegration::~QDesignerIntegration +48 (int (*)(...))QDesignerIntegration::~QDesignerIntegration +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDesignerIntegration::containerWindow +120 (int (*)(...))QDesignerIntegration::createResourceBrowser +128 (int (*)(...))QDesignerIntegration::headerSuffix +136 (int (*)(...))QDesignerIntegration::setHeaderSuffix +144 (int (*)(...))QDesignerIntegration::isHeaderLowercase +152 (int (*)(...))QDesignerIntegration::setHeaderLowercase +160 (int (*)(...))QDesignerIntegration::features +168 (int (*)(...))QDesignerIntegration::resourceFileWatcherBehaviour +176 (int (*)(...))QDesignerIntegration::setResourceFileWatcherBehaviour +184 (int (*)(...))QDesignerIntegration::contextHelpId +192 (int (*)(...))QDesignerIntegration::setFeatures +200 (int (*)(...))QDesignerIntegration::updateProperty +208 (int (*)(...))QDesignerIntegration::updateProperty +216 (int (*)(...))QDesignerIntegration::resetProperty +224 (int (*)(...))QDesignerIntegration::addDynamicProperty +232 (int (*)(...))QDesignerIntegration::removeDynamicProperty +240 (int (*)(...))QDesignerIntegration::updateActiveFormWindow +248 (int (*)(...))QDesignerIntegration::setupFormWindow +256 (int (*)(...))QDesignerIntegration::updateSelection +264 (int (*)(...))QDesignerIntegration::updateCustomWidgetPlugins + +Class QDesignerIntegration + size=32 align=8 + base size=32 base align=8 +QDesignerIntegration (0x0x7f760fb14750) 0 + vptr=((& QDesignerIntegration::_ZTV20QDesignerIntegration) + 16) + QDesignerIntegrationInterface (0x0x7f760fb147b8) 0 + primary-for QDesignerIntegration (0x0x7f760fb14750) + QObject (0x0x7f760fbb4060) 0 + primary-for QDesignerIntegrationInterface (0x0x7f760fb147b8) + +Vtable for QAbstractExtensionFactory +QAbstractExtensionFactory::_ZTV25QAbstractExtensionFactory: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAbstractExtensionFactory) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QAbstractExtensionFactory + size=8 align=8 + base size=8 base align=8 +QAbstractExtensionFactory (0x0x7f760fbb4240) 0 nearly-empty + vptr=((& QAbstractExtensionFactory::_ZTV25QAbstractExtensionFactory) + 16) + +Vtable for QAbstractExtensionManager +QAbstractExtensionManager::_ZTV25QAbstractExtensionManager: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAbstractExtensionManager) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual + +Class QAbstractExtensionManager + size=8 align=8 + base size=8 base align=8 +QAbstractExtensionManager (0x0x7f760fbb4600) 0 nearly-empty + vptr=((& QAbstractExtensionManager::_ZTV25QAbstractExtensionManager) + 16) + +Vtable for QDesignerLanguageExtension +QDesignerLanguageExtension::_ZTV26QDesignerLanguageExtension: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QDesignerLanguageExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual + +Class QDesignerLanguageExtension + size=8 align=8 + base size=8 base align=8 +QDesignerLanguageExtension (0x0x7f760fbb4a20) 0 nearly-empty + vptr=((& QDesignerLanguageExtension::_ZTV26QDesignerLanguageExtension) + 16) + +Vtable for QDesignerMetaDataBaseItemInterface +QDesignerMetaDataBaseItemInterface::_ZTV34QDesignerMetaDataBaseItemInterface: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI34QDesignerMetaDataBaseItemInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual + +Class QDesignerMetaDataBaseItemInterface + size=8 align=8 + base size=8 base align=8 +QDesignerMetaDataBaseItemInterface (0x0x7f760fbb4e40) 0 nearly-empty + vptr=((& QDesignerMetaDataBaseItemInterface::_ZTV34QDesignerMetaDataBaseItemInterface) + 16) + +Class QDesignerMetaDataBaseInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerMetaDataBaseInterface::QPrivateSignal (0x0x7f760fbda120) 0 empty + +Vtable for QDesignerMetaDataBaseInterface +QDesignerMetaDataBaseInterface::_ZTV30QDesignerMetaDataBaseInterface: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI30QDesignerMetaDataBaseInterface) +16 (int (*)(...))QDesignerMetaDataBaseInterface::metaObject +24 (int (*)(...))QDesignerMetaDataBaseInterface::qt_metacast +32 (int (*)(...))QDesignerMetaDataBaseInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual + +Class QDesignerMetaDataBaseInterface + size=16 align=8 + base size=16 base align=8 +QDesignerMetaDataBaseInterface (0x0x7f760fb14820) 0 + vptr=((& QDesignerMetaDataBaseInterface::_ZTV30QDesignerMetaDataBaseInterface) + 16) + QObject (0x0x7f760fbda0c0) 0 + primary-for QDesignerMetaDataBaseInterface (0x0x7f760fb14820) + +Class QDesignerNewFormWidgetInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerNewFormWidgetInterface::QPrivateSignal (0x0x7f760fbda300) 0 empty + +Vtable for QDesignerNewFormWidgetInterface +QDesignerNewFormWidgetInterface::_ZTV31QDesignerNewFormWidgetInterface: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI31QDesignerNewFormWidgetInterface) +16 (int (*)(...))QDesignerNewFormWidgetInterface::metaObject +24 (int (*)(...))QDesignerNewFormWidgetInterface::qt_metacast +32 (int (*)(...))QDesignerNewFormWidgetInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))__cxa_pure_virtual +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI31QDesignerNewFormWidgetInterface) +464 0 +472 0 +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerNewFormWidgetInterface + size=48 align=8 + base size=48 base align=8 +QDesignerNewFormWidgetInterface (0x0x7f760fb14888) 0 + vptr=((& QDesignerNewFormWidgetInterface::_ZTV31QDesignerNewFormWidgetInterface) + 16) + QWidget (0x0x7f76142c41c0) 0 + primary-for QDesignerNewFormWidgetInterface (0x0x7f760fb14888) + QObject (0x0x7f760fbda240) 0 + primary-for QWidget (0x0x7f76142c41c0) + QPaintDevice (0x0x7f760fbda2a0) 16 + vptr=((& QDesignerNewFormWidgetInterface::_ZTV31QDesignerNewFormWidgetInterface) + 464) + +Class QDesignerObjectInspectorInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerObjectInspectorInterface::QPrivateSignal (0x0x7f760fbda4e0) 0 empty + +Vtable for QDesignerObjectInspectorInterface +QDesignerObjectInspectorInterface::_ZTV33QDesignerObjectInspectorInterface: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI33QDesignerObjectInspectorInterface) +16 (int (*)(...))QDesignerObjectInspectorInterface::metaObject +24 (int (*)(...))QDesignerObjectInspectorInterface::qt_metacast +32 (int (*)(...))QDesignerObjectInspectorInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDesignerObjectInspectorInterface::core +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI33QDesignerObjectInspectorInterface) +464 0 +472 0 +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerObjectInspectorInterface + size=48 align=8 + base size=48 base align=8 +QDesignerObjectInspectorInterface (0x0x7f760fb148f0) 0 + vptr=((& QDesignerObjectInspectorInterface::_ZTV33QDesignerObjectInspectorInterface) + 16) + QWidget (0x0x7f76142c4310) 0 + primary-for QDesignerObjectInspectorInterface (0x0x7f760fb148f0) + QObject (0x0x7f760fbda420) 0 + primary-for QWidget (0x0x7f76142c4310) + QPaintDevice (0x0x7f760fbda480) 16 + vptr=((& QDesignerObjectInspectorInterface::_ZTV33QDesignerObjectInspectorInterface) + 464) + +Vtable for QDesignerOptionsPageInterface +QDesignerOptionsPageInterface::_ZTV29QDesignerOptionsPageInterface: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QDesignerOptionsPageInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual + +Class QDesignerOptionsPageInterface + size=8 align=8 + base size=8 base align=8 +QDesignerOptionsPageInterface (0x0x7f760fbda600) 0 nearly-empty + vptr=((& QDesignerOptionsPageInterface::_ZTV29QDesignerOptionsPageInterface) + 16) + +Class QDesignerPromotionInterface::PromotedClass + size=16 align=8 + base size=16 base align=8 +QDesignerPromotionInterface::PromotedClass (0x0x7f760fbda8a0) 0 + +Vtable for QDesignerPromotionInterface +QDesignerPromotionInterface::_ZTV27QDesignerPromotionInterface: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QDesignerPromotionInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual + +Class QDesignerPromotionInterface + size=8 align=8 + base size=8 base align=8 +QDesignerPromotionInterface (0x0x7f760fbda840) 0 nearly-empty + vptr=((& QDesignerPromotionInterface::_ZTV27QDesignerPromotionInterface) + 16) + +Class QDesignerPropertyEditorInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerPropertyEditorInterface::QPrivateSignal (0x0x7f760fbda9c0) 0 empty + +Vtable for QDesignerPropertyEditorInterface +QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QDesignerPropertyEditorInterface) +16 (int (*)(...))QDesignerPropertyEditorInterface::metaObject +24 (int (*)(...))QDesignerPropertyEditorInterface::qt_metacast +32 (int (*)(...))QDesignerPropertyEditorInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDesignerPropertyEditorInterface::core +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))__cxa_pure_virtual +456 (int (*)(...))__cxa_pure_virtual +464 (int (*)(...))__cxa_pure_virtual +472 (int (*)(...))__cxa_pure_virtual +480 (int (*)(...))__cxa_pure_virtual +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI32QDesignerPropertyEditorInterface) +504 0 +512 0 +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerPropertyEditorInterface + size=48 align=8 + base size=48 base align=8 +QDesignerPropertyEditorInterface (0x0x7f760fb14958) 0 + vptr=((& QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface) + 16) + QWidget (0x0x7f76142c4690) 0 + primary-for QDesignerPropertyEditorInterface (0x0x7f760fb14958) + QObject (0x0x7f760fbda900) 0 + primary-for QWidget (0x0x7f76142c4690) + QPaintDevice (0x0x7f760fbda960) 16 + vptr=((& QDesignerPropertyEditorInterface::_ZTV32QDesignerPropertyEditorInterface) + 504) + +Class QDesignerResourceBrowserInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerResourceBrowserInterface::QPrivateSignal (0x0x7f760fbdaba0) 0 empty + +Vtable for QDesignerResourceBrowserInterface +QDesignerResourceBrowserInterface::_ZTV33QDesignerResourceBrowserInterface: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI33QDesignerResourceBrowserInterface) +16 (int (*)(...))QDesignerResourceBrowserInterface::metaObject +24 (int (*)(...))QDesignerResourceBrowserInterface::qt_metacast +32 (int (*)(...))QDesignerResourceBrowserInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))__cxa_pure_virtual +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI33QDesignerResourceBrowserInterface) +464 0 +472 0 +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerResourceBrowserInterface + size=48 align=8 + base size=48 base align=8 +QDesignerResourceBrowserInterface (0x0x7f760fb149c0) 0 + vptr=((& QDesignerResourceBrowserInterface::_ZTV33QDesignerResourceBrowserInterface) + 16) + QWidget (0x0x7f76142c48c0) 0 + primary-for QDesignerResourceBrowserInterface (0x0x7f760fb149c0) + QObject (0x0x7f760fbdaae0) 0 + primary-for QWidget (0x0x7f76142c48c0) + QPaintDevice (0x0x7f760fbdab40) 16 + vptr=((& QDesignerResourceBrowserInterface::_ZTV33QDesignerResourceBrowserInterface) + 464) + +Vtable for QDesignerSettingsInterface +QDesignerSettingsInterface::_ZTV26QDesignerSettingsInterface: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QDesignerSettingsInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual + +Class QDesignerSettingsInterface + size=8 align=8 + base size=8 base align=8 +QDesignerSettingsInterface (0x0x7f760fbdacc0) 0 nearly-empty + vptr=((& QDesignerSettingsInterface::_ZTV26QDesignerSettingsInterface) + 16) + +Class QDesignerWidgetBoxInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerWidgetBoxInterface::QPrivateSignal (0x0x7f760f807000) 0 empty + +Class QDesignerWidgetBoxInterface::Widget + size=8 align=8 + base size=8 base align=8 +QDesignerWidgetBoxInterface::Widget (0x0x7f760f807060) 0 + +Class QDesignerWidgetBoxInterface::Category + size=24 align=8 + base size=24 base align=8 +QDesignerWidgetBoxInterface::Category (0x0x7f760f807120) 0 + +Vtable for QDesignerWidgetBoxInterface +QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface: 77 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QDesignerWidgetBoxInterface) +16 (int (*)(...))QDesignerWidgetBoxInterface::metaObject +24 (int (*)(...))QDesignerWidgetBoxInterface::qt_metacast +32 (int (*)(...))QDesignerWidgetBoxInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))__cxa_pure_virtual +440 (int (*)(...))__cxa_pure_virtual +448 (int (*)(...))__cxa_pure_virtual +456 (int (*)(...))__cxa_pure_virtual +464 (int (*)(...))__cxa_pure_virtual +472 (int (*)(...))__cxa_pure_virtual +480 (int (*)(...))__cxa_pure_virtual +488 (int (*)(...))__cxa_pure_virtual +496 (int (*)(...))__cxa_pure_virtual +504 (int (*)(...))__cxa_pure_virtual +512 (int (*)(...))__cxa_pure_virtual +520 (int (*)(...))__cxa_pure_virtual +528 (int (*)(...))__cxa_pure_virtual +536 (int (*)(...))-16 +544 (int (*)(...))(& _ZTI27QDesignerWidgetBoxInterface) +552 0 +560 0 +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +584 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +592 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +600 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +608 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesignerWidgetBoxInterface + size=48 align=8 + base size=48 base align=8 +QDesignerWidgetBoxInterface (0x0x7f760fb14a28) 0 + vptr=((& QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface) + 16) + QWidget (0x0x7f76142c4b60) 0 + primary-for QDesignerWidgetBoxInterface (0x0x7f760fb14a28) + QObject (0x0x7f760fbdaf00) 0 + primary-for QWidget (0x0x7f76142c4b60) + QPaintDevice (0x0x7f760fbdaf60) 16 + vptr=((& QDesignerWidgetBoxInterface::_ZTV27QDesignerWidgetBoxInterface) + 552) + +Vtable for QDesignerWidgetDataBaseItemInterface +QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface: 30 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI36QDesignerWidgetDataBaseItemInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))__cxa_pure_virtual +232 (int (*)(...))__cxa_pure_virtual + +Class QDesignerWidgetDataBaseItemInterface + size=8 align=8 + base size=8 base align=8 +QDesignerWidgetDataBaseItemInterface (0x0x7f760f807a20) 0 nearly-empty + vptr=((& QDesignerWidgetDataBaseItemInterface::_ZTV36QDesignerWidgetDataBaseItemInterface) + 16) + +Class QDesignerWidgetDataBaseInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerWidgetDataBaseInterface::QPrivateSignal (0x0x7f760f807d20) 0 empty + +Vtable for QDesignerWidgetDataBaseInterface +QDesignerWidgetDataBaseInterface::_ZTV32QDesignerWidgetDataBaseInterface: 22 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QDesignerWidgetDataBaseInterface) +16 (int (*)(...))QDesignerWidgetDataBaseInterface::metaObject +24 (int (*)(...))QDesignerWidgetDataBaseInterface::qt_metacast +32 (int (*)(...))QDesignerWidgetDataBaseInterface::qt_metacall +40 (int (*)(...))QDesignerWidgetDataBaseInterface::~QDesignerWidgetDataBaseInterface +48 (int (*)(...))QDesignerWidgetDataBaseInterface::~QDesignerWidgetDataBaseInterface +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDesignerWidgetDataBaseInterface::count +120 (int (*)(...))QDesignerWidgetDataBaseInterface::item +128 (int (*)(...))QDesignerWidgetDataBaseInterface::indexOf +136 (int (*)(...))QDesignerWidgetDataBaseInterface::insert +144 (int (*)(...))QDesignerWidgetDataBaseInterface::append +152 (int (*)(...))QDesignerWidgetDataBaseInterface::indexOfObject +160 (int (*)(...))QDesignerWidgetDataBaseInterface::indexOfClassName +168 (int (*)(...))QDesignerWidgetDataBaseInterface::core + +Class QDesignerWidgetDataBaseInterface + size=24 align=8 + base size=24 base align=8 +QDesignerWidgetDataBaseInterface (0x0x7f760fb14af8) 0 + vptr=((& QDesignerWidgetDataBaseInterface::_ZTV32QDesignerWidgetDataBaseInterface) + 16) + QObject (0x0x7f760f807cc0) 0 + primary-for QDesignerWidgetDataBaseInterface (0x0x7f760fb14af8) + +Class QDesignerWidgetFactoryInterface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesignerWidgetFactoryInterface::QPrivateSignal (0x0x7f760f871000) 0 empty + +Vtable for QDesignerWidgetFactoryInterface +QDesignerWidgetFactoryInterface::_ZTV31QDesignerWidgetFactoryInterface: 21 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI31QDesignerWidgetFactoryInterface) +16 (int (*)(...))QDesignerWidgetFactoryInterface::metaObject +24 (int (*)(...))QDesignerWidgetFactoryInterface::qt_metacast +32 (int (*)(...))QDesignerWidgetFactoryInterface::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual + +Class QDesignerWidgetFactoryInterface + size=16 align=8 + base size=16 base align=8 +QDesignerWidgetFactoryInterface (0x0x7f760fb14bc8) 0 + vptr=((& QDesignerWidgetFactoryInterface::_ZTV31QDesignerWidgetFactoryInterface) + 16) + QObject (0x0x7f760f807f60) 0 + primary-for QDesignerWidgetFactoryInterface (0x0x7f760fb14bc8) + +Vtable for QDesignerContainerExtension +QDesignerContainerExtension::_ZTV27QDesignerContainerExtension: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QDesignerContainerExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))QDesignerContainerExtension::canAddWidget +96 (int (*)(...))QDesignerContainerExtension::canRemove + +Class QDesignerContainerExtension + size=8 align=8 + base size=8 base align=8 +QDesignerContainerExtension (0x0x7f760f871120) 0 nearly-empty + vptr=((& QDesignerContainerExtension::_ZTV27QDesignerContainerExtension) + 16) + +Vtable for QDesignerDynamicPropertySheetExtension +QDesignerDynamicPropertySheetExtension::_ZTV38QDesignerDynamicPropertySheetExtension: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI38QDesignerDynamicPropertySheetExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual + +Class QDesignerDynamicPropertySheetExtension + size=8 align=8 + base size=8 base align=8 +QDesignerDynamicPropertySheetExtension (0x0x7f760f871600) 0 nearly-empty + vptr=((& QDesignerDynamicPropertySheetExtension::_ZTV38QDesignerDynamicPropertySheetExtension) + 16) + +Vtable for QDesignerExtraInfoExtension +QDesignerExtraInfoExtension::_ZTV27QDesignerExtraInfoExtension: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QDesignerExtraInfoExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual + +Class QDesignerExtraInfoExtension + size=16 align=8 + base size=16 base align=8 +QDesignerExtraInfoExtension (0x0x7f760f871a80) 0 + vptr=((& QDesignerExtraInfoExtension::_ZTV27QDesignerExtraInfoExtension) + 16) + +Vtable for QFormBuilder +QFormBuilder::_ZTV12QFormBuilder: 43 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QFormBuilder) +16 (int (*)(...))QFormBuilder::~QFormBuilder +24 (int (*)(...))QFormBuilder::~QFormBuilder +32 (int (*)(...))QAbstractFormBuilder::load +40 (int (*)(...))QAbstractFormBuilder::save +48 (int (*)(...))QAbstractFormBuilder::loadExtraInfo +56 (int (*)(...))QFormBuilder::create +64 (int (*)(...))QFormBuilder::create +72 (int (*)(...))QFormBuilder::create +80 (int (*)(...))QFormBuilder::create +88 (int (*)(...))QFormBuilder::create +96 (int (*)(...))QFormBuilder::create +104 (int (*)(...))QAbstractFormBuilder::addMenuAction +112 (int (*)(...))QFormBuilder::applyProperties +120 (int (*)(...))QAbstractFormBuilder::applyTabStops +128 (int (*)(...))QFormBuilder::createWidget +136 (int (*)(...))QFormBuilder::createLayout +144 (int (*)(...))QAbstractFormBuilder::createAction +152 (int (*)(...))QAbstractFormBuilder::createActionGroup +160 (int (*)(...))QAbstractFormBuilder::createCustomWidgets +168 (int (*)(...))QFormBuilder::createConnections +176 (int (*)(...))QAbstractFormBuilder::createResources +184 (int (*)(...))QFormBuilder::addItem +192 (int (*)(...))QFormBuilder::addItem +200 (int (*)(...))QAbstractFormBuilder::saveExtraInfo +208 (int (*)(...))QAbstractFormBuilder::saveDom +216 (int (*)(...))QAbstractFormBuilder::createActionRefDom +224 (int (*)(...))QAbstractFormBuilder::createDom +232 (int (*)(...))QAbstractFormBuilder::createDom +240 (int (*)(...))QAbstractFormBuilder::createDom +248 (int (*)(...))QAbstractFormBuilder::createDom +256 (int (*)(...))QAbstractFormBuilder::createDom +264 (int (*)(...))QAbstractFormBuilder::createDom +272 (int (*)(...))QAbstractFormBuilder::saveConnections +280 (int (*)(...))QAbstractFormBuilder::saveCustomWidgets +288 (int (*)(...))QAbstractFormBuilder::saveTabStops +296 (int (*)(...))QAbstractFormBuilder::saveResources +304 (int (*)(...))QAbstractFormBuilder::computeProperties +312 (int (*)(...))QAbstractFormBuilder::checkProperty +320 (int (*)(...))QAbstractFormBuilder::createProperty +328 (int (*)(...))QAbstractFormBuilder::layoutInfo +336 (int (*)(...))QFormBuilder::updateCustomWidgets + +Class QFormBuilder + size=16 align=8 + base size=16 base align=8 +QFormBuilder (0x0x7f760fb14c30) 0 + vptr=((& QFormBuilder::_ZTV12QFormBuilder) + 16) + QAbstractFormBuilder (0x0x7f760f871ea0) 0 + primary-for QFormBuilder (0x0x7f760fb14c30) + +Vtable for QDesignerLayoutDecorationExtension +QDesignerLayoutDecorationExtension::_ZTV34QDesignerLayoutDecorationExtension: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI34QDesignerLayoutDecorationExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual + +Class QDesignerLayoutDecorationExtension + size=8 align=8 + base size=8 base align=8 +QDesignerLayoutDecorationExtension (0x0x7f760f871f00) 0 nearly-empty + vptr=((& QDesignerLayoutDecorationExtension::_ZTV34QDesignerLayoutDecorationExtension) + 16) + +Vtable for QDesignerMemberSheetExtension +QDesignerMemberSheetExtension::_ZTV29QDesignerMemberSheetExtension: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QDesignerMemberSheetExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual + +Class QDesignerMemberSheetExtension + size=8 align=8 + base size=8 base align=8 +QDesignerMemberSheetExtension (0x0x7f760f898360) 0 nearly-empty + vptr=((& QDesignerMemberSheetExtension::_ZTV29QDesignerMemberSheetExtension) + 16) + +Vtable for QDesignerPropertySheetExtension +QDesignerPropertySheetExtension::_ZTV31QDesignerPropertySheetExtension: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI31QDesignerPropertySheetExtension) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QDesignerPropertySheetExtension::isEnabled + +Class QDesignerPropertySheetExtension + size=8 align=8 + base size=8 base align=8 +QDesignerPropertySheetExtension (0x0x7f760f898780) 0 nearly-empty + vptr=((& QDesignerPropertySheetExtension::_ZTV31QDesignerPropertySheetExtension) + 16) + +Class QExtensionManager::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QExtensionManager::QPrivateSignal (0x0x7f760f898cc0) 0 empty + +Vtable for QExtensionManager +QExtensionManager::_ZTV17QExtensionManager: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QExtensionManager) +16 (int (*)(...))QExtensionManager::metaObject +24 (int (*)(...))QExtensionManager::qt_metacast +32 (int (*)(...))QExtensionManager::qt_metacall +40 (int (*)(...))QExtensionManager::~QExtensionManager +48 (int (*)(...))QExtensionManager::~QExtensionManager +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QExtensionManager::registerExtensions +120 (int (*)(...))QExtensionManager::unregisterExtensions +128 (int (*)(...))QExtensionManager::extension +136 (int (*)(...))-16 +144 (int (*)(...))(& _ZTI17QExtensionManager) +152 (int (*)(...))QExtensionManager::_ZThn16_N17QExtensionManagerD1Ev +160 (int (*)(...))QExtensionManager::_ZThn16_N17QExtensionManagerD0Ev +168 (int (*)(...))QExtensionManager::_ZThn16_N17QExtensionManager18registerExtensionsEP25QAbstractExtensionFactoryRK7QString +176 (int (*)(...))QExtensionManager::_ZThn16_N17QExtensionManager20unregisterExtensionsEP25QAbstractExtensionFactoryRK7QString +184 (int (*)(...))QExtensionManager::_ZThn16_NK17QExtensionManager9extensionEP7QObjectRK7QString + +Class QExtensionManager + size=40 align=8 + base size=40 base align=8 +QExtensionManager (0x0x7f7614424d90) 0 + vptr=((& QExtensionManager::_ZTV17QExtensionManager) + 16) + QObject (0x0x7f760f898c00) 0 + primary-for QExtensionManager (0x0x7f7614424d90) + QAbstractExtensionManager (0x0x7f760f898c60) 16 nearly-empty + vptr=((& QExtensionManager::_ZTV17QExtensionManager) + 152) + +Vtable for QDesignerTaskMenuExtension +QDesignerTaskMenuExtension::_ZTV26QDesignerTaskMenuExtension: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QDesignerTaskMenuExtension) +16 0 +24 0 +32 (int (*)(...))QDesignerTaskMenuExtension::preferredEditAction +40 (int (*)(...))__cxa_pure_virtual + +Class QDesignerTaskMenuExtension + size=8 align=8 + base size=8 base align=8 +QDesignerTaskMenuExtension (0x0x7f760f8e40c0) 0 nearly-empty + vptr=((& QDesignerTaskMenuExtension::_ZTV26QDesignerTaskMenuExtension) + 16) + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f8f87e0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f8f8b40) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f8f8d20) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f9150c0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f9152a0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f915600) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f9157e0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f915b40) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f915d20) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f9330c0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f9332a0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f933600) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f9337e0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f933b40) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f933d20) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f9530c0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f96b5a0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f96b900) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f96ba80) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f96bde0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f96bf60) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f987300) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f987480) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f9877e0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f987960) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f987cc0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f987e40) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f99d1e0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f99d360) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f99d6c0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f760f99d840) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f760f99dba0) 0 empty + diff --git a/tests/auto/bic/data/QtHelp.5.14.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtHelp.5.14.0.linux-gcc-amd64.txt new file mode 100644 index 000000000..65b0d3463 --- /dev/null +++ b/tests/auto/bic/data/QtHelp.5.14.0.linux-gcc-amd64.txt @@ -0,0 +1,20768 @@ +Class std::__failure_type + size=1 align=1 + base size=0 base align=1 +std::__failure_type (0x0x7f56b918ec60) 0 empty + +Class std::__do_is_destructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_destructible_impl (0x0x7f56b9241420) 0 empty + +Class std::__do_is_nt_destructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_nt_destructible_impl (0x0x7f56b9241660) 0 empty + +Class std::__do_is_default_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_default_constructible_impl (0x0x7f56b92418a0) 0 empty + +Class std::__do_is_static_castable_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_static_castable_impl (0x0x7f56b9241ae0) 0 empty + +Class std::__do_is_direct_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_direct_constructible_impl (0x0x7f56b9241c60) 0 empty + +Class std::__do_is_nary_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_nary_constructible_impl (0x0x7f56b927d060) 0 empty + +Class std::__do_is_implicitly_default_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_implicitly_default_constructible_impl (0x0x7f56b92ac180) 0 empty + +Class std::__do_common_type_impl + size=1 align=1 + base size=0 base align=1 +std::__do_common_type_impl (0x0x7f56b92ff840) 0 empty + +Class std::__do_member_type_wrapper + size=1 align=1 + base size=0 base align=1 +std::__do_member_type_wrapper (0x0x7f56b92ff900) 0 empty + +Class std::__invoke_memfun_ref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memfun_ref (0x0x7f56b92ffcc0) 0 empty + +Class std::__invoke_memfun_deref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memfun_deref (0x0x7f56b92ffd20) 0 empty + +Class std::__invoke_memobj_ref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memobj_ref (0x0x7f56b92ffd80) 0 empty + +Class std::__invoke_memobj_deref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memobj_deref (0x0x7f56b92ffde0) 0 empty + +Class std::__invoke_other + size=1 align=1 + base size=0 base align=1 +std::__invoke_other (0x0x7f56b92ffe40) 0 empty + +Class std::__result_of_memfun_ref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memfun_ref_impl (0x0x7f56b92fff00) 0 empty + +Class std::__result_of_memfun_deref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memfun_deref_impl (0x0x7f56b9331000) 0 empty + +Class std::__result_of_memobj_ref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memobj_ref_impl (0x0x7f56b93310c0) 0 empty + +Class std::__result_of_memobj_deref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memobj_deref_impl (0x0x7f56b9331180) 0 empty + +Class std::__result_of_other_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_other_impl (0x0x7f56b93314e0) 0 empty + +Class std::__swappable_details::__do_is_swappable_impl + size=1 align=1 + base size=0 base align=1 +std::__swappable_details::__do_is_swappable_impl (0x0x7f56b9331840) 0 empty + +Class std::__swappable_details::__do_is_nothrow_swappable_impl + size=1 align=1 + base size=0 base align=1 +std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7f56b93318a0) 0 empty + +Class std::__nonesuch + size=1 align=1 + base size=0 base align=1 +std::__nonesuch (0x0x7f56b9331e40) 0 empty + +Class std::piecewise_construct_t + size=1 align=1 + base size=0 base align=1 +std::piecewise_construct_t (0x0x7f56b937c4e0) 0 empty + +Class std::__nonesuch_no_braces + size=1 align=1 + base size=1 base align=1 +std::__nonesuch_no_braces (0x0x7f56b931baf8) 0 empty + std::__nonesuch (0x0x7f56b937c9c0) 0 empty + +Class std::__true_type + size=1 align=1 + base size=0 base align=1 +std::__true_type (0x0x7f56b89fc360) 0 empty + +Class std::__false_type + size=1 align=1 + base size=0 base align=1 +std::__false_type (0x0x7f56b89fc3c0) 0 empty + +Class std::input_iterator_tag + size=1 align=1 + base size=0 base align=1 +std::input_iterator_tag (0x0x7f56b8a590c0) 0 empty + +Class std::output_iterator_tag + size=1 align=1 + base size=0 base align=1 +std::output_iterator_tag (0x0x7f56b8a59120) 0 empty + +Class std::forward_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::forward_iterator_tag (0x0x7f56b8a5f000) 0 empty + std::input_iterator_tag (0x0x7f56b8a59180) 0 empty + +Class std::bidirectional_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::bidirectional_iterator_tag (0x0x7f56b8a5f068) 0 empty + std::forward_iterator_tag (0x0x7f56b8a5f0d0) 0 empty + std::input_iterator_tag (0x0x7f56b8a591e0) 0 empty + +Class std::random_access_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::random_access_iterator_tag (0x0x7f56b8a5f138) 0 empty + std::bidirectional_iterator_tag (0x0x7f56b8a5f1a0) 0 empty + std::forward_iterator_tag (0x0x7f56b8a5f208) 0 empty + std::input_iterator_tag (0x0x7f56b8a59240) 0 empty + +Class __gnu_cxx::__ops::_Iter_less_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_less_iter (0x0x7f56b8ae9d20) 0 empty + +Class __gnu_cxx::__ops::_Iter_less_val + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_less_val (0x0x7f56b8ae9e40) 0 empty + +Class __gnu_cxx::__ops::_Val_less_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Val_less_iter (0x0x7f56b8b0c180) 0 empty + +Class __gnu_cxx::__ops::_Iter_equal_to_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f56b8b0c480) 0 empty + +Class __gnu_cxx::__ops::_Iter_equal_to_val + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f56b8b0c5a0) 0 empty + +Class __locale_struct + size=232 align=8 + base size=232 base align=8 +__locale_struct (0x0x7f56b8b978a0) 0 + +Class timeval + size=16 align=8 + base size=16 base align=8 +timeval (0x0x7f56b8b97ba0) 0 + +Class timespec + size=16 align=8 + base size=16 base align=8 +timespec (0x0x7f56b8b97c00) 0 + +Class __pthread_rwlock_arch_t + size=56 align=8 + base size=56 base align=8 +__pthread_rwlock_arch_t (0x0x7f56b8b97cc0) 0 + +Class __pthread_internal_list + size=16 align=8 + base size=16 base align=8 +__pthread_internal_list (0x0x7f56b8b97d20) 0 + +Class __pthread_mutex_s + size=40 align=8 + base size=40 base align=8 +__pthread_mutex_s (0x0x7f56b8b97d80) 0 + +Class __pthread_cond_s + size=48 align=8 + base size=48 base align=8 +__pthread_cond_s (0x0x7f56b8b97de0) 0 + +Class pthread_attr_t + size=56 align=8 + base size=56 base align=8 +pthread_attr_t (0x0x7f56b8bda0c0) 0 + +Class random_data + size=48 align=8 + base size=48 base align=8 +random_data (0x0x7f56b8bda360) 0 + +Class drand48_data + size=24 align=8 + base size=24 base align=8 +drand48_data (0x0x7f56b8bda3c0) 0 + +Vtable for std::exception +std::exception::_ZTVSt9exception: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9exception) +16 (int (*)(...))std::exception::~exception +24 (int (*)(...))std::exception::~exception +32 (int (*)(...))std::exception::what + +Class std::exception + size=8 align=8 + base size=8 base align=8 +std::exception (0x0x7f56b8893180) 0 nearly-empty + vptr=((& std::exception::_ZTVSt9exception) + 16) + +Vtable for std::bad_exception +std::bad_exception::_ZTVSt13bad_exception: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt13bad_exception) +16 (int (*)(...))std::bad_exception::~bad_exception +24 (int (*)(...))std::bad_exception::~bad_exception +32 (int (*)(...))std::bad_exception::what + +Class std::bad_exception + size=8 align=8 + base size=8 base align=8 +std::bad_exception (0x0x7f56b8a5f548) 0 nearly-empty + vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16) + std::exception (0x0x7f56b8893360) 0 nearly-empty + primary-for std::bad_exception (0x0x7f56b8a5f548) + +Vtable for std::type_info +std::type_info::_ZTVSt9type_info: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9type_info) +16 (int (*)(...))std::type_info::~type_info +24 (int (*)(...))std::type_info::~type_info +32 (int (*)(...))std::type_info::__is_pointer_p +40 (int (*)(...))std::type_info::__is_function_p +48 (int (*)(...))std::type_info::__do_catch +56 (int (*)(...))std::type_info::__do_upcast + +Class std::type_info + size=16 align=8 + base size=16 base align=8 +std::type_info (0x0x7f56b8893540) 0 + vptr=((& std::type_info::_ZTVSt9type_info) + 16) + +Vtable for std::bad_cast +std::bad_cast::_ZTVSt8bad_cast: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt8bad_cast) +16 (int (*)(...))std::bad_cast::~bad_cast +24 (int (*)(...))std::bad_cast::~bad_cast +32 (int (*)(...))std::bad_cast::what + +Class std::bad_cast + size=8 align=8 + base size=8 base align=8 +std::bad_cast (0x0x7f56b8a5f5b0) 0 nearly-empty + vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16) + std::exception (0x0x7f56b8893900) 0 nearly-empty + primary-for std::bad_cast (0x0x7f56b8a5f5b0) + +Vtable for std::bad_typeid +std::bad_typeid::_ZTVSt10bad_typeid: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt10bad_typeid) +16 (int (*)(...))std::bad_typeid::~bad_typeid +24 (int (*)(...))std::bad_typeid::~bad_typeid +32 (int (*)(...))std::bad_typeid::what + +Class std::bad_typeid + size=8 align=8 + base size=8 base align=8 +std::bad_typeid (0x0x7f56b8a5f618) 0 nearly-empty + vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16) + std::exception (0x0x7f56b8893ae0) 0 nearly-empty + primary-for std::bad_typeid (0x0x7f56b8a5f618) + +Class std::__exception_ptr::exception_ptr + size=8 align=8 + base size=8 base align=8 +std::__exception_ptr::exception_ptr (0x0x7f56b8893cc0) 0 + +Vtable for std::nested_exception +std::nested_exception::_ZTVSt16nested_exception: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt16nested_exception) +16 (int (*)(...))std::nested_exception::~nested_exception +24 (int (*)(...))std::nested_exception::~nested_exception + +Class std::nested_exception + size=16 align=8 + base size=16 base align=8 +std::nested_exception (0x0x7f56b88c72a0) 0 + vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16) + +Vtable for std::bad_alloc +std::bad_alloc::_ZTVSt9bad_alloc: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9bad_alloc) +16 (int (*)(...))std::bad_alloc::~bad_alloc +24 (int (*)(...))std::bad_alloc::~bad_alloc +32 (int (*)(...))std::bad_alloc::what + +Class std::bad_alloc + size=8 align=8 + base size=8 base align=8 +std::bad_alloc (0x0x7f56b8a5f680) 0 nearly-empty + vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16) + std::exception (0x0x7f56b88c7960) 0 nearly-empty + primary-for std::bad_alloc (0x0x7f56b8a5f680) + +Vtable for std::bad_array_new_length +std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt20bad_array_new_length) +16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length +24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length +32 (int (*)(...))std::bad_array_new_length::what + +Class std::bad_array_new_length + size=8 align=8 + base size=8 base align=8 +std::bad_array_new_length (0x0x7f56b8a5f6e8) 0 nearly-empty + vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16) + std::bad_alloc (0x0x7f56b8a5f750) 0 nearly-empty + primary-for std::bad_array_new_length (0x0x7f56b8a5f6e8) + std::exception (0x0x7f56b88c7b40) 0 nearly-empty + primary-for std::bad_alloc (0x0x7f56b8a5f750) + +Class std::nothrow_t + size=1 align=1 + base size=0 base align=1 +std::nothrow_t (0x0x7f56b88c7d20) 0 empty + +Class std::__allocator_traits_base + size=1 align=1 + base size=0 base align=1 +std::__allocator_traits_base (0x0x7f56b88c7f00) 0 empty + +Class std::__numeric_limits_base + size=1 align=1 + base size=0 base align=1 +std::__numeric_limits_base (0x0x7f56b8970420) 0 empty + +Class QSysInfo + size=1 align=1 + base size=0 base align=1 +QSysInfo (0x0x7f56b85e7960) 0 empty + +Class QMessageLogContext + size=32 align=8 + base size=32 base align=8 +QMessageLogContext (0x0x7f56b85e7a80) 0 + +Class QMessageLogger + size=32 align=8 + base size=32 base align=8 +QMessageLogger (0x0x7f56b85e7c60) 0 + +Class QFlag + size=4 align=4 + base size=4 base align=4 +QFlag (0x0x7f56b8223360) 0 + +Class QIncompatibleFlag + size=4 align=4 + base size=4 base align=4 +QIncompatibleFlag (0x0x7f56b825dae0) 0 + +Class std::__atomic_flag_base + size=1 align=1 + base size=1 base align=1 +std::__atomic_flag_base (0x0x7f56b8318000) 0 + +Class std::atomic_flag + size=1 align=1 + base size=1 base align=1 +std::atomic_flag (0x0x7f56b82aa5b0) 0 + std::__atomic_flag_base (0x0x7f56b8318060) 0 + +Class QAtomicInt + size=4 align=4 + base size=4 base align=4 +QAtomicInt (0x0x7f56b82aad00) 0 + QAtomicInteger (0x0x7f56b82aad68) 0 + QBasicAtomicInteger (0x0x7f56b7e422a0) 0 + +Class QInternal + size=1 align=1 + base size=0 base align=1 +QInternal (0x0x7f56b7a81de0) 0 empty + +Class QtPrivate::QSlotObjectBase + size=16 align=8 + base size=16 base align=8 +QtPrivate::QSlotObjectBase (0x0x7f56b7ae83c0) 0 + +Class QGenericArgument + size=16 align=8 + base size=16 base align=8 +QGenericArgument (0x0x7f56b7ae8ae0) 0 + +Class QGenericReturnArgument + size=16 align=8 + base size=16 base align=8 +QGenericReturnArgument (0x0x7f56b7d589c0) 0 + QGenericArgument (0x0x7f56b7ae8d80) 0 + +Class QMetaObject::SuperData + size=8 align=8 + base size=8 base align=8 +QMetaObject::SuperData (0x0x7f56b7b26240) 0 + +Class QMetaObject + size=48 align=8 + base size=48 base align=8 +QMetaObject (0x0x7f56b7b261e0) 0 + +Class QMetaObject::Connection + size=8 align=8 + base size=8 base align=8 +QMetaObject::Connection (0x0x7f56b7b26ae0) 0 + +Class QLatin1Char + size=1 align=1 + base size=1 base align=1 +QLatin1Char (0x0x7f56b7bd7600) 0 + +Class QChar + size=2 align=2 + base size=2 base align=2 +QChar (0x0x7f56b7bd7d20) 0 + +Class QtPrivate::RefCount + size=4 align=4 + base size=4 base align=4 +QtPrivate::RefCount (0x0x7f56b78a6b40) 0 + +Class QArrayData + size=24 align=8 + base size=24 base align=8 +QArrayData (0x0x7f56b78a6ea0) 0 + +Class QtPrivate::QContainerImplHelper + size=1 align=1 + base size=0 base align=1 +QtPrivate::QContainerImplHelper (0x0x7f56b792e1e0) 0 empty + +Class lconv + size=96 align=8 + base size=96 base align=8 +lconv (0x0x7f56b79e0a20) 0 + +Vtable for __cxxabiv1::__forced_unwind +__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class __cxxabiv1::__forced_unwind + size=8 align=8 + base size=8 base align=8 +__cxxabiv1::__forced_unwind (0x0x7f56b79e0ae0) 0 nearly-empty + vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16) + +Class sched_param + size=4 align=4 + base size=4 base align=4 +sched_param (0x0x7f56b76a6c00) 0 + +Class timex + size=208 align=8 + base size=208 base align=8 +timex (0x0x7f56b76a6cc0) 0 + +Class tm + size=56 align=8 + base size=56 base align=8 +tm (0x0x7f56b76a6d20) 0 + +Class itimerspec + size=32 align=8 + base size=32 base align=8 +itimerspec (0x0x7f56b76a6d80) 0 + +Class _pthread_cleanup_buffer + size=32 align=8 + base size=32 base align=8 +_pthread_cleanup_buffer (0x0x7f56b76a6de0) 0 + +Class __pthread_cleanup_frame + size=24 align=8 + base size=24 base align=8 +__pthread_cleanup_frame (0x0x7f56b76a6f00) 0 + +Class __pthread_cleanup_class + size=24 align=8 + base size=24 base align=8 +__pthread_cleanup_class (0x0x7f56b76a6f60) 0 + +Class _IO_marker + size=24 align=8 + base size=24 base align=8 +_IO_marker (0x0x7f56b77e5f00) 0 + +Class _IO_FILE + size=216 align=8 + base size=216 base align=8 +_IO_FILE (0x0x7f56b77e5f60) 0 + +Class std::_Hash_impl + size=1 align=1 + base size=0 base align=1 +std::_Hash_impl (0x0x7f56b75c8000) 0 empty + +Class std::_Fnv_hash_impl + size=1 align=1 + base size=0 base align=1 +std::_Fnv_hash_impl (0x0x7f56b75c8180) 0 empty + +Class std::locale + size=8 align=8 + base size=8 base align=8 +std::locale (0x0x7f56b7352300) 0 + +Vtable for std::locale::facet +std::locale::facet::_ZTVNSt6locale5facetE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt6locale5facetE) +16 (int (*)(...))std::locale::facet::~facet +24 (int (*)(...))std::locale::facet::~facet + +Class std::locale::facet + size=16 align=8 + base size=12 base align=8 +std::locale::facet (0x0x7f56b73526c0) 0 + vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16) + +Class std::locale::id + size=8 align=8 + base size=8 base align=8 +std::locale::id (0x0x7f56b7352960) 0 + +Class std::locale::_Impl + size=40 align=8 + base size=40 base align=8 +std::locale::_Impl (0x0x7f56b7352b40) 0 + +Class std::__cow_string + size=8 align=8 + base size=8 base align=8 +std::__cow_string (0x0x7f56b739fb40) 0 + +Vtable for std::logic_error +std::logic_error::_ZTVSt11logic_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt11logic_error) +16 (int (*)(...))std::logic_error::~logic_error +24 (int (*)(...))std::logic_error::~logic_error +32 (int (*)(...))std::logic_error::what + +Class std::logic_error + size=16 align=8 + base size=16 base align=8 +std::logic_error (0x0x7f56b71edaf8) 0 + vptr=((& std::logic_error::_ZTVSt11logic_error) + 16) + std::exception (0x0x7f56b739fc00) 0 nearly-empty + primary-for std::logic_error (0x0x7f56b71edaf8) + +Vtable for std::domain_error +std::domain_error::_ZTVSt12domain_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12domain_error) +16 (int (*)(...))std::domain_error::~domain_error +24 (int (*)(...))std::domain_error::~domain_error +32 (int (*)(...))std::logic_error::what + +Class std::domain_error + size=16 align=8 + base size=16 base align=8 +std::domain_error (0x0x7f56b71edb60) 0 + vptr=((& std::domain_error::_ZTVSt12domain_error) + 16) + std::logic_error (0x0x7f56b71edbc8) 0 + primary-for std::domain_error (0x0x7f56b71edb60) + std::exception (0x0x7f56b739fc60) 0 nearly-empty + primary-for std::logic_error (0x0x7f56b71edbc8) + +Vtable for std::invalid_argument +std::invalid_argument::_ZTVSt16invalid_argument: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt16invalid_argument) +16 (int (*)(...))std::invalid_argument::~invalid_argument +24 (int (*)(...))std::invalid_argument::~invalid_argument +32 (int (*)(...))std::logic_error::what + +Class std::invalid_argument + size=16 align=8 + base size=16 base align=8 +std::invalid_argument (0x0x7f56b71edc30) 0 + vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16) + std::logic_error (0x0x7f56b71edc98) 0 + primary-for std::invalid_argument (0x0x7f56b71edc30) + std::exception (0x0x7f56b739fcc0) 0 nearly-empty + primary-for std::logic_error (0x0x7f56b71edc98) + +Vtable for std::length_error +std::length_error::_ZTVSt12length_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12length_error) +16 (int (*)(...))std::length_error::~length_error +24 (int (*)(...))std::length_error::~length_error +32 (int (*)(...))std::logic_error::what + +Class std::length_error + size=16 align=8 + base size=16 base align=8 +std::length_error (0x0x7f56b71edd00) 0 + vptr=((& std::length_error::_ZTVSt12length_error) + 16) + std::logic_error (0x0x7f56b71edd68) 0 + primary-for std::length_error (0x0x7f56b71edd00) + std::exception (0x0x7f56b739fd20) 0 nearly-empty + primary-for std::logic_error (0x0x7f56b71edd68) + +Vtable for std::out_of_range +std::out_of_range::_ZTVSt12out_of_range: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12out_of_range) +16 (int (*)(...))std::out_of_range::~out_of_range +24 (int (*)(...))std::out_of_range::~out_of_range +32 (int (*)(...))std::logic_error::what + +Class std::out_of_range + size=16 align=8 + base size=16 base align=8 +std::out_of_range (0x0x7f56b71eddd0) 0 + vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16) + std::logic_error (0x0x7f56b71ede38) 0 + primary-for std::out_of_range (0x0x7f56b71eddd0) + std::exception (0x0x7f56b739fd80) 0 nearly-empty + primary-for std::logic_error (0x0x7f56b71ede38) + +Vtable for std::runtime_error +std::runtime_error::_ZTVSt13runtime_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt13runtime_error) +16 (int (*)(...))std::runtime_error::~runtime_error +24 (int (*)(...))std::runtime_error::~runtime_error +32 (int (*)(...))std::runtime_error::what + +Class std::runtime_error + size=16 align=8 + base size=16 base align=8 +std::runtime_error (0x0x7f56b71edea0) 0 + vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16) + std::exception (0x0x7f56b739fde0) 0 nearly-empty + primary-for std::runtime_error (0x0x7f56b71edea0) + +Vtable for std::range_error +std::range_error::_ZTVSt11range_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt11range_error) +16 (int (*)(...))std::range_error::~range_error +24 (int (*)(...))std::range_error::~range_error +32 (int (*)(...))std::runtime_error::what + +Class std::range_error + size=16 align=8 + base size=16 base align=8 +std::range_error (0x0x7f56b71edf08) 0 + vptr=((& std::range_error::_ZTVSt11range_error) + 16) + std::runtime_error (0x0x7f56b71edf70) 0 + primary-for std::range_error (0x0x7f56b71edf08) + std::exception (0x0x7f56b739fe40) 0 nearly-empty + primary-for std::runtime_error (0x0x7f56b71edf70) + +Vtable for std::overflow_error +std::overflow_error::_ZTVSt14overflow_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt14overflow_error) +16 (int (*)(...))std::overflow_error::~overflow_error +24 (int (*)(...))std::overflow_error::~overflow_error +32 (int (*)(...))std::runtime_error::what + +Class std::overflow_error + size=16 align=8 + base size=16 base align=8 +std::overflow_error (0x0x7f56b71ed000) 0 + vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16) + std::runtime_error (0x0x7f56b71ed068) 0 + primary-for std::overflow_error (0x0x7f56b71ed000) + std::exception (0x0x7f56b739fea0) 0 nearly-empty + primary-for std::runtime_error (0x0x7f56b71ed068) + +Vtable for std::underflow_error +std::underflow_error::_ZTVSt15underflow_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt15underflow_error) +16 (int (*)(...))std::underflow_error::~underflow_error +24 (int (*)(...))std::underflow_error::~underflow_error +32 (int (*)(...))std::runtime_error::what + +Class std::underflow_error + size=16 align=8 + base size=16 base align=8 +std::underflow_error (0x0x7f56b71ed3a8) 0 + vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16) + std::runtime_error (0x0x7f56b71ed410) 0 + primary-for std::underflow_error (0x0x7f56b71ed3a8) + std::exception (0x0x7f56b739ff00) 0 nearly-empty + primary-for std::runtime_error (0x0x7f56b71ed410) + +Vtable for std::_V2::error_category +std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt3_V214error_categoryE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))std::_V2::error_category::_M_message +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))std::_V2::error_category::default_error_condition +64 (int (*)(...))std::_V2::error_category::equivalent +72 (int (*)(...))std::_V2::error_category::equivalent + +Class std::_V2::error_category + size=8 align=8 + base size=8 base align=8 +std::_V2::error_category (0x0x7f56b70020c0) 0 nearly-empty + vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16) + +Class std::error_code + size=16 align=8 + base size=16 base align=8 +std::error_code (0x0x7f56b7002420) 0 + +Class std::error_condition + size=16 align=8 + base size=16 base align=8 +std::error_condition (0x0x7f56b7002c60) 0 + +Vtable for std::system_error +std::system_error::_ZTVSt12system_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12system_error) +16 (int (*)(...))std::system_error::~system_error +24 (int (*)(...))std::system_error::~system_error +32 (int (*)(...))std::runtime_error::what + +Class std::system_error + size=32 align=8 + base size=32 base align=8 +std::system_error (0x0x7f56b70013a8) 0 + vptr=((& std::system_error::_ZTVSt12system_error) + 16) + std::runtime_error (0x0x7f56b7001410) 0 + primary-for std::system_error (0x0x7f56b70013a8) + std::exception (0x0x7f56b7037840) 0 nearly-empty + primary-for std::runtime_error (0x0x7f56b7001410) + +Vtable for std::ios_base::failure +std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E) +16 (int (*)(...))std::ios_base::failure::~failure +24 (int (*)(...))std::ios_base::failure::~failure +32 (int (*)(...))std::ios_base::failure::what + +Class std::ios_base::failure + size=32 align=8 + base size=32 base align=8 +std::ios_base::failure (0x0x7f56b7001680) 0 + vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16) + std::system_error (0x0x7f56b70016e8) 0 + primary-for std::ios_base::failure (0x0x7f56b7001680) + std::runtime_error (0x0x7f56b7001750) 0 + primary-for std::system_error (0x0x7f56b70016e8) + std::exception (0x0x7f56b706cde0) 0 nearly-empty + primary-for std::runtime_error (0x0x7f56b7001750) + +Class std::ios_base::_Callback_list + size=24 align=8 + base size=24 base align=8 +std::ios_base::_Callback_list (0x0x7f56b706ce40) 0 + +Class std::ios_base::_Words + size=16 align=8 + base size=16 base align=8 +std::ios_base::_Words (0x0x7f56b706cea0) 0 + +Class std::ios_base::Init + size=1 align=1 + base size=0 base align=1 +std::ios_base::Init (0x0x7f56b706cf00) 0 empty + +Vtable for std::ios_base +std::ios_base::_ZTVSt8ios_base: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt8ios_base) +16 (int (*)(...))std::ios_base::~ios_base +24 (int (*)(...))std::ios_base::~ios_base + +Class std::ios_base + size=216 align=8 + base size=216 base align=8 +std::ios_base (0x0x7f56b706cd80) 0 + vptr=((& std::ios_base::_ZTVSt8ios_base) + 16) + +Class std::ctype_base + size=1 align=1 + base size=0 base align=1 +std::ctype_base (0x0x7f56b7162840) 0 empty + +Class std::__num_base + size=1 align=1 + base size=0 base align=1 +std::__num_base (0x0x7f56b6e20a20) 0 empty + +VTT for std::basic_ostream +std::basic_ostream::_ZTTSo: 2 entries +0 ((& std::basic_ostream::_ZTVSo) + 24) +8 ((& std::basic_ostream::_ZTVSo) + 64) + +VTT for std::basic_ostream +std::basic_ostream::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries +0 ((& std::basic_ostream::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_ostream::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64) + +VTT for std::basic_istream +std::basic_istream::_ZTTSi: 2 entries +0 ((& std::basic_istream::_ZTVSi) + 24) +8 ((& std::basic_istream::_ZTVSi) + 64) + +VTT for std::basic_istream +std::basic_istream::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries +0 ((& std::basic_istream::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_istream::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64) + +Construction vtable for std::basic_istream (0x0x7f56b6db0e38 instance) in std::basic_iostream +std::basic_iostream::_ZTCSd0_Si: 10 entries +0 24 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISi) +24 0 +32 0 +40 18446744073709551592 +48 (int (*)(...))-24 +56 (int (*)(...))(& _ZTISi) +64 0 +72 0 + +Construction vtable for std::basic_ostream (0x0x7f56b6db0f08 instance) in std::basic_iostream +std::basic_iostream::_ZTCSd16_So: 10 entries +0 8 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISo) +24 0 +32 0 +40 18446744073709551608 +48 (int (*)(...))-8 +56 (int (*)(...))(& _ZTISo) +64 0 +72 0 + +VTT for std::basic_iostream +std::basic_iostream::_ZTTSd: 7 entries +0 ((& std::basic_iostream::_ZTVSd) + 24) +8 ((& std::basic_iostream::_ZTCSd0_Si) + 24) +16 ((& std::basic_iostream::_ZTCSd0_Si) + 64) +24 ((& std::basic_iostream::_ZTCSd16_So) + 24) +32 ((& std::basic_iostream::_ZTCSd16_So) + 64) +40 ((& std::basic_iostream::_ZTVSd) + 104) +48 ((& std::basic_iostream::_ZTVSd) + 64) + +Construction vtable for std::basic_istream (0x0x7f56b69f6d00 instance) in std::basic_iostream +std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries +0 24 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551592 +48 (int (*)(...))-24 +56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +64 0 +72 0 + +Construction vtable for std::basic_ostream (0x0x7f56b69f6dd0 instance) in std::basic_iostream +std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries +0 8 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551608 +48 (int (*)(...))-8 +56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +64 0 +72 0 + +VTT for std::basic_iostream +std::basic_iostream::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries +0 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24) +16 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64) +24 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24) +32 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64) +40 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104) +48 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64) + +Class QByteArrayDataPtr + size=8 align=8 + base size=8 base align=8 +QByteArrayDataPtr (0x0x7f56b6a463c0) 0 + +Class QByteArray + size=8 align=8 + base size=8 base align=8 +QByteArray (0x0x7f56b6a46420) 0 + +Class QByteRef + size=16 align=8 + base size=12 base align=8 +QByteRef (0x0x7f56b6b717e0) 0 + +Class QStringDataPtr + size=8 align=8 + base size=8 base align=8 +QStringDataPtr (0x0x7f56b6812660) 0 + +Class QStringView + size=16 align=8 + base size=16 base align=8 +QStringView (0x0x7f56b6812ae0) 0 + +Class QLatin1String + size=16 align=8 + base size=16 base align=8 +QLatin1String (0x0x7f56b68f6ba0) 0 + +Class QString::Null + size=1 align=1 + base size=0 base align=1 +QString::Null (0x0x7f56b69a9b40) 0 empty + +Class QString + size=8 align=8 + base size=8 base align=8 +QString (0x0x7f56b69a9a20) 0 + +Class QCharRef + size=16 align=8 + base size=12 base align=8 +QCharRef (0x0x7f56b646e9c0) 0 + +Class QStringRef + size=16 align=8 + base size=16 base align=8 +QStringRef (0x0x7f56b62005a0) 0 + +Class QtPrivate::ArgBase + size=1 align=1 + base size=1 base align=1 +QtPrivate::ArgBase (0x0x7f56b63923c0) 0 + +Class QtPrivate::QStringViewArg + size=24 align=8 + base size=24 base align=8 +QtPrivate::QStringViewArg (0x0x7f56b6295af8) 0 + QtPrivate::ArgBase (0x0x7f56b6392420) 0 + +Class QtPrivate::QLatin1StringArg + size=24 align=8 + base size=24 base align=8 +QtPrivate::QLatin1StringArg (0x0x7f56b6295b60) 0 + QtPrivate::ArgBase (0x0x7f56b6392600) 0 + +Class std::__erased_type + size=1 align=1 + base size=0 base align=1 +std::__erased_type (0x0x7f56b6060540) 0 empty + +Class std::allocator_arg_t + size=1 align=1 + base size=0 base align=1 +std::allocator_arg_t (0x0x7f56b60605a0) 0 empty + +Class std::__uses_alloc_base + size=1 align=1 + base size=0 base align=1 +std::__uses_alloc_base (0x0x7f56b6060720) 0 empty + +Class std::__uses_alloc0::_Sink + size=1 align=1 + base size=0 base align=1 +std::__uses_alloc0::_Sink (0x0x7f56b60607e0) 0 empty + +Class std::__uses_alloc0 + size=1 align=1 + base size=1 base align=1 +std::__uses_alloc0 (0x0x7f56b6295f08) 0 + std::__uses_alloc_base (0x0x7f56b6060780) 0 empty + +Class std::_Swallow_assign + size=1 align=1 + base size=0 base align=1 +std::_Swallow_assign (0x0x7f56b61c0b40) 0 empty + +Vtable for std::bad_function_call +std::bad_function_call::_ZTVSt17bad_function_call: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt17bad_function_call) +16 (int (*)(...))std::bad_function_call::~bad_function_call +24 (int (*)(...))std::bad_function_call::~bad_function_call +32 (int (*)(...))std::bad_function_call::what + +Class std::bad_function_call + size=8 align=8 + base size=8 base align=8 +std::bad_function_call (0x0x7f56b5e3b1a0) 0 nearly-empty + vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16) + std::exception (0x0x7f56b5e3c480) 0 nearly-empty + primary-for std::bad_function_call (0x0x7f56b5e3b1a0) + +Class std::_Nocopy_types + size=16 align=8 + base size=16 base align=8 +std::_Nocopy_types (0x0x7f56b5e3c540) 0 + +Class std::_Any_data + size=16 align=8 + base size=16 base align=8 +std::_Any_data (0x0x7f56b5e3c5a0) 0 + +Class std::_Function_base + size=24 align=8 + base size=24 base align=8 +std::_Function_base (0x0x7f56b5e3c8a0) 0 + +Class QtPrivate::QHashCombine + size=1 align=1 + base size=0 base align=1 +QtPrivate::QHashCombine (0x0x7f56b5c34d20) 0 empty + +Class QtPrivate::QHashCombineCommutative + size=1 align=1 + base size=0 base align=1 +QtPrivate::QHashCombineCommutative (0x0x7f56b5c34de0) 0 empty + +Class std::_Bit_reference + size=16 align=8 + base size=16 base align=8 +std::_Bit_reference (0x0x7f56b5d69540) 0 + +Class std::_Bit_iterator_base + size=16 align=8 + base size=12 base align=8 +std::_Bit_iterator_base (0x0x7f56b5c7ad00) 0 + std::iterator (0x0x7f56b5d69c60) 0 empty + +Class std::_Bit_iterator + size=16 align=8 + base size=12 base align=8 +std::_Bit_iterator (0x0x7f56b5c7ae38) 0 + std::_Bit_iterator_base (0x0x7f56b5c7aea0) 0 + std::iterator (0x0x7f56b5d96300) 0 empty + +Class std::_Bit_const_iterator + size=16 align=8 + base size=12 base align=8 +std::_Bit_const_iterator (0x0x7f56b5c7af08) 0 + std::_Bit_iterator_base (0x0x7f56b5c7af70) 0 + std::iterator (0x0x7f56b5d96ae0) 0 empty + +Class std::__detail::_List_node_base + size=16 align=8 + base size=16 base align=8 +std::__detail::_List_node_base (0x0x7f56b5be7660) 0 + +Class QListData::NotArrayCompatibleLayout + size=1 align=1 + base size=0 base align=1 +QListData::NotArrayCompatibleLayout (0x0x7f56b58b2420) 0 empty + +Class QListData::NotIndirectLayout + size=1 align=1 + base size=0 base align=1 +QListData::NotIndirectLayout (0x0x7f56b58b2480) 0 empty + +Class QListData::ArrayCompatibleLayout + size=1 align=1 + base size=1 base align=1 +QListData::ArrayCompatibleLayout (0x0x7f56b5dd3b60) 0 empty + QListData::NotIndirectLayout (0x0x7f56b58b24e0) 0 empty + +Class QListData::InlineWithPaddingLayout + size=1 align=1 + base size=1 base align=1 +QListData::InlineWithPaddingLayout (0x0x7f56b580c8c0) 0 empty + QListData::NotArrayCompatibleLayout (0x0x7f56b58b2540) 0 empty + QListData::NotIndirectLayout (0x0x7f56b58b25a0) 0 empty + +Class QListData::IndirectLayout + size=1 align=1 + base size=1 base align=1 +QListData::IndirectLayout (0x0x7f56b5dd3bc8) 0 empty + QListData::NotArrayCompatibleLayout (0x0x7f56b58b2600) 0 empty + +Class QListData::Data + size=24 align=8 + base size=24 base align=8 +QListData::Data (0x0x7f56b58b2660) 0 + +Class QListData + size=8 align=8 + base size=8 base align=8 +QListData (0x0x7f56b58b23c0) 0 + +Class QRegExp + size=8 align=8 + base size=8 base align=8 +QRegExp (0x0x7f56b59a47e0) 0 + +Class QStringMatcher::Data + size=272 align=8 + base size=272 base align=8 +QStringMatcher::Data (0x0x7f56b5683d20) 0 + +Class QStringMatcher + size=1048 align=8 + base size=1048 base align=8 +QStringMatcher (0x0x7f56b5683cc0) 0 + +Class QStringList + size=8 align=8 + base size=8 base align=8 +QStringList (0x0x7f56b568f7b8) 0 + QList (0x0x7f56b568f820) 0 + QListSpecialMethods (0x0x7f56b5683f60) 0 empty + +Class QScopedPointerPodDeleter + size=1 align=1 + base size=0 base align=1 +QScopedPointerPodDeleter (0x0x7f56b5746ea0) 0 empty + +Class std::_Rb_tree_node_base + size=32 align=8 + base size=32 base align=8 +std::_Rb_tree_node_base (0x0x7f56b540c120) 0 + +Class std::_Rb_tree_header + size=40 align=8 + base size=40 base align=8 +std::_Rb_tree_header (0x0x7f56b540c480) 0 + +Class QtPrivate::AbstractDebugStreamFunction + size=16 align=8 + base size=16 base align=8 +QtPrivate::AbstractDebugStreamFunction (0x0x7f56b5250a80) 0 + +Class QtPrivate::AbstractComparatorFunction + size=24 align=8 + base size=24 base align=8 +QtPrivate::AbstractComparatorFunction (0x0x7f56b5250de0) 0 + +Class QtPrivate::AbstractConverterFunction + size=8 align=8 + base size=8 base align=8 +QtPrivate::AbstractConverterFunction (0x0x7f56b5271360) 0 + +Class QMetaType + size=80 align=8 + base size=80 base align=8 +QMetaType (0x0x7f56b52718a0) 0 + +Class QtMetaTypePrivate::VariantData + size=24 align=8 + base size=20 base align=8 +QtMetaTypePrivate::VariantData (0x0x7f56b52d7a80) 0 + +Class QtMetaTypePrivate::VectorBoolElements + size=1 align=1 + base size=0 base align=1 +QtMetaTypePrivate::VectorBoolElements (0x0x7f56b52f7180) 0 empty + +Class QtMetaTypePrivate::QSequentialIterableImpl + size=104 align=8 + base size=104 base align=8 +QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f56b5391000) 0 + +Class QtMetaTypePrivate::QAssociativeIterableImpl + size=112 align=8 + base size=112 base align=8 +QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f56b53e76c0) 0 + +Class QtMetaTypePrivate::QPairVariantInterfaceImpl + size=40 align=8 + base size=40 base align=8 +QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f56b503dc00) 0 + +Class std::chrono::_V2::system_clock + size=1 align=1 + base size=0 base align=1 +std::chrono::_V2::system_clock (0x0x7f56b4f0d1e0) 0 empty + +Class std::chrono::_V2::steady_clock + size=1 align=1 + base size=0 base align=1 +std::chrono::_V2::steady_clock (0x0x7f56b4c09c60) 0 empty + +Vtable for QObjectData +QObjectData::_ZTV11QObjectData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QObjectData) +16 (int (*)(...))__cxa_pure_virtual +24 (int (*)(...))__cxa_pure_virtual + +Class QObjectData + size=48 align=8 + base size=48 base align=8 +QObjectData (0x0x7f56b4c09cc0) 0 + vptr=((& QObjectData::_ZTV11QObjectData) + 16) + +Class QObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QObject::QPrivateSignal (0x0x7f56b4c09ea0) 0 empty + +Vtable for QObject +QObject::_ZTV7QObject: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QObject) +16 (int (*)(...))QObject::metaObject +24 (int (*)(...))QObject::qt_metacast +32 (int (*)(...))QObject::qt_metacall +40 (int (*)(...))QObject::~QObject +48 (int (*)(...))QObject::~QObject +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QObject + size=16 align=8 + base size=16 base align=8 +QObject (0x0x7f56b4c09e40) 0 + vptr=((& QObject::_ZTV7QObject) + 16) + +Vtable for QObjectUserData +QObjectUserData::_ZTV15QObjectUserData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QObjectUserData) +16 (int (*)(...))QObjectUserData::~QObjectUserData +24 (int (*)(...))QObjectUserData::~QObjectUserData + +Class QObjectUserData + size=8 align=8 + base size=8 base align=8 +QObjectUserData (0x0x7f56b4cebcc0) 0 nearly-empty + vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16) + +Class QSignalBlocker + size=16 align=8 + base size=10 base align=8 +QSignalBlocker (0x0x7f56b4cebe40) 0 + +Class QAbstractAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractAnimation::QPrivateSignal (0x0x7f56b4d10720) 0 empty + +Vtable for QAbstractAnimation +QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractAnimation) +16 (int (*)(...))QAbstractAnimation::metaObject +24 (int (*)(...))QAbstractAnimation::qt_metacast +32 (int (*)(...))QAbstractAnimation::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QAbstractAnimation + size=16 align=8 + base size=16 base align=8 +QAbstractAnimation (0x0x7f56b4cd2958) 0 + vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16) + QObject (0x0x7f56b4d106c0) 0 + primary-for QAbstractAnimation (0x0x7f56b4cd2958) + +Class QAnimationDriver::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAnimationDriver::QPrivateSignal (0x0x7f56b4d10ae0) 0 empty + +Vtable for QAnimationDriver +QAnimationDriver::_ZTV16QAnimationDriver: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QAnimationDriver) +16 (int (*)(...))QAnimationDriver::metaObject +24 (int (*)(...))QAnimationDriver::qt_metacast +32 (int (*)(...))QAnimationDriver::qt_metacall +40 (int (*)(...))QAnimationDriver::~QAnimationDriver +48 (int (*)(...))QAnimationDriver::~QAnimationDriver +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAnimationDriver::advance +120 (int (*)(...))QAnimationDriver::elapsed +128 (int (*)(...))QAnimationDriver::start +136 (int (*)(...))QAnimationDriver::stop + +Class QAnimationDriver + size=16 align=8 + base size=16 base align=8 +QAnimationDriver (0x0x7f56b4cd29c0) 0 + vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16) + QObject (0x0x7f56b4d10a80) 0 + primary-for QAnimationDriver (0x0x7f56b4cd29c0) + +Class QEventLoop::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QEventLoop::QPrivateSignal (0x0x7f56b4d10d20) 0 empty + +Vtable for QEventLoop +QEventLoop::_ZTV10QEventLoop: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QEventLoop) +16 (int (*)(...))QEventLoop::metaObject +24 (int (*)(...))QEventLoop::qt_metacast +32 (int (*)(...))QEventLoop::qt_metacall +40 (int (*)(...))QEventLoop::~QEventLoop +48 (int (*)(...))QEventLoop::~QEventLoop +56 (int (*)(...))QEventLoop::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QEventLoop + size=16 align=8 + base size=16 base align=8 +QEventLoop (0x0x7f56b4cd2a28) 0 + vptr=((& QEventLoop::_ZTV10QEventLoop) + 16) + QObject (0x0x7f56b4d10cc0) 0 + primary-for QEventLoop (0x0x7f56b4cd2a28) + +Class QEventLoopLocker + size=8 align=8 + base size=8 base align=8 +QEventLoopLocker (0x0x7f56b4d62600) 0 + +Class QAbstractEventDispatcher::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractEventDispatcher::QPrivateSignal (0x0x7f56b4d626c0) 0 empty + +Class QAbstractEventDispatcher::TimerInfo + size=12 align=4 + base size=12 base align=4 +QAbstractEventDispatcher::TimerInfo (0x0x7f56b4d62720) 0 + +Vtable for QAbstractEventDispatcher +QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher) +16 (int (*)(...))QAbstractEventDispatcher::metaObject +24 (int (*)(...))QAbstractEventDispatcher::qt_metacast +32 (int (*)(...))QAbstractEventDispatcher::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))QAbstractEventDispatcher::startingUp +216 (int (*)(...))QAbstractEventDispatcher::closingDown + +Class QAbstractEventDispatcher + size=16 align=8 + base size=16 base align=8 +QAbstractEventDispatcher (0x0x7f56b4cd2b60) 0 + vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16) + QObject (0x0x7f56b4d62660) 0 + primary-for QAbstractEventDispatcher (0x0x7f56b4cd2b60) + +Class QMapNodeBase + size=24 align=8 + base size=24 base align=8 +QMapNodeBase (0x0x7f56b4dc5720) 0 + +Class QMapDataBase + size=40 align=8 + base size=40 base align=8 +QMapDataBase (0x0x7f56b49f13c0) 0 + +Class QHashData::Node + size=16 align=8 + base size=16 base align=8 +QHashData::Node (0x0x7f56b4abcd20) 0 + +Class QHashData + size=48 align=8 + base size=44 base align=8 +QHashData (0x0x7f56b4abccc0) 0 + +Class QHashDummyValue + size=1 align=1 + base size=0 base align=1 +QHashDummyValue (0x0x7f56b4ade000) 0 empty + +Class QVariant::PrivateShared + size=16 align=8 + base size=12 base align=8 +QVariant::PrivateShared (0x0x7f56b37ea720) 0 + +Class QVariant::Private::Data + size=8 align=8 + base size=8 base align=8 +QVariant::Private::Data (0x0x7f56b37ea7e0) 0 + +Class QVariant::Private + size=16 align=8 + base size=12 base align=8 +QVariant::Private (0x0x7f56b37ea780) 0 + +Class QVariant::Handler + size=72 align=8 + base size=72 base align=8 +QVariant::Handler (0x0x7f56b37ea840) 0 + +Class QVariant + size=16 align=8 + base size=16 base align=8 +QVariant (0x0x7f56b37ea6c0) 0 + +Class QVariantComparisonHelper + size=8 align=8 + base size=8 base align=8 +QVariantComparisonHelper (0x0x7f56b3927ae0) 0 + +Class QSequentialIterable::const_iterator + size=112 align=8 + base size=112 base align=8 +QSequentialIterable::const_iterator (0x0x7f56b39a9180) 0 + +Class QSequentialIterable + size=104 align=8 + base size=104 base align=8 +QSequentialIterable (0x0x7f56b39a9120) 0 + +Class QAssociativeIterable::const_iterator + size=120 align=8 + base size=120 base align=8 +QAssociativeIterable::const_iterator (0x0x7f56b39a92a0) 0 + +Class QAssociativeIterable + size=112 align=8 + base size=112 base align=8 +QAssociativeIterable (0x0x7f56b39a9240) 0 + +Class QModelIndex + size=24 align=8 + base size=24 base align=8 +QModelIndex (0x0x7f56b3676420) 0 + +Class QPersistentModelIndex + size=8 align=8 + base size=8 base align=8 +QPersistentModelIndex (0x0x7f56b36ec060) 0 + +Class QAbstractItemModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemModel::QPrivateSignal (0x0x7f56b379de40) 0 empty + +Vtable for QAbstractItemModel +QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractItemModel) +16 (int (*)(...))QAbstractItemModel::metaObject +24 (int (*)(...))QAbstractItemModel::qt_metacast +32 (int (*)(...))QAbstractItemModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractItemModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractItemModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QAbstractItemModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QAbstractItemModel + size=16 align=8 + base size=16 base align=8 +QAbstractItemModel (0x0x7f56b37a0d00) 0 + vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16) + QObject (0x0x7f56b379dde0) 0 + primary-for QAbstractItemModel (0x0x7f56b37a0d00) + +Class QAbstractTableModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractTableModel::QPrivateSignal (0x0x7f56b3485240) 0 empty + +Vtable for QAbstractTableModel +QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractTableModel) +16 (int (*)(...))QAbstractTableModel::metaObject +24 (int (*)(...))QAbstractTableModel::qt_metacast +32 (int (*)(...))QAbstractTableModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractTableModel::index +120 (int (*)(...))QAbstractTableModel::parent +128 (int (*)(...))QAbstractTableModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractTableModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractTableModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QAbstractTableModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QAbstractTableModel + size=16 align=8 + base size=16 base align=8 +QAbstractTableModel (0x0x7f56b33f6340) 0 + vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16) + QAbstractItemModel (0x0x7f56b33f63a8) 0 + primary-for QAbstractTableModel (0x0x7f56b33f6340) + QObject (0x0x7f56b34851e0) 0 + primary-for QAbstractItemModel (0x0x7f56b33f63a8) + +Class QAbstractListModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractListModel::QPrivateSignal (0x0x7f56b34853c0) 0 empty + +Vtable for QAbstractListModel +QAbstractListModel::_ZTV18QAbstractListModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractListModel) +16 (int (*)(...))QAbstractListModel::metaObject +24 (int (*)(...))QAbstractListModel::qt_metacast +32 (int (*)(...))QAbstractListModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractListModel::index +120 (int (*)(...))QAbstractListModel::parent +128 (int (*)(...))QAbstractListModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))QAbstractListModel::columnCount +152 (int (*)(...))QAbstractListModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractListModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QAbstractListModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QAbstractListModel + size=16 align=8 + base size=16 base align=8 +QAbstractListModel (0x0x7f56b33f6410) 0 + vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16) + QAbstractItemModel (0x0x7f56b33f6478) 0 + primary-for QAbstractListModel (0x0x7f56b33f6410) + QObject (0x0x7f56b3485360) 0 + primary-for QAbstractItemModel (0x0x7f56b33f6478) + +Vtable for QAbstractNativeEventFilter +QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QAbstractNativeEventFilter + size=16 align=8 + base size=16 base align=8 +QAbstractNativeEventFilter (0x0x7f56b3485ae0) 0 + vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16) + +Class QAbstractProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractProxyModel::QPrivateSignal (0x0x7f56b3485ba0) 0 empty + +Vtable for QAbstractProxyModel +QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractProxyModel) +16 (int (*)(...))QAbstractProxyModel::metaObject +24 (int (*)(...))QAbstractProxyModel::qt_metacast +32 (int (*)(...))QAbstractProxyModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractProxyModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QAbstractProxyModel::headerData +184 (int (*)(...))QAbstractProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::mimeTypes +216 (int (*)(...))QAbstractProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QAbstractProxyModel::dropMimeData +240 (int (*)(...))QAbstractProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractProxyModel::fetchMore +312 (int (*)(...))QAbstractProxyModel::canFetchMore +320 (int (*)(...))QAbstractProxyModel::flags +328 (int (*)(...))QAbstractProxyModel::sort +336 (int (*)(...))QAbstractProxyModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QAbstractProxyModel::setSourceModel +392 (int (*)(...))__cxa_pure_virtual +400 (int (*)(...))__cxa_pure_virtual +408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource +416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource + +Class QAbstractProxyModel + size=16 align=8 + base size=16 base align=8 +QAbstractProxyModel (0x0x7f56b33f6548) 0 + vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16) + QAbstractItemModel (0x0x7f56b33f65b0) 0 + primary-for QAbstractProxyModel (0x0x7f56b33f6548) + QObject (0x0x7f56b3485b40) 0 + primary-for QAbstractItemModel (0x0x7f56b33f65b0) + +Class QAbstractState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractState::QPrivateSignal (0x0x7f56b3485de0) 0 empty + +Vtable for QAbstractState +QAbstractState::_ZTV14QAbstractState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QAbstractState) +16 (int (*)(...))QAbstractState::metaObject +24 (int (*)(...))QAbstractState::qt_metacast +32 (int (*)(...))QAbstractState::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QAbstractState + size=16 align=8 + base size=16 base align=8 +QAbstractState (0x0x7f56b33f6618) 0 + vptr=((& QAbstractState::_ZTV14QAbstractState) + 16) + QObject (0x0x7f56b3485d80) 0 + primary-for QAbstractState (0x0x7f56b33f6618) + +Class QAbstractTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractTransition::QPrivateSignal (0x0x7f56b3510060) 0 empty + +Vtable for QAbstractTransition +QAbstractTransition::_ZTV19QAbstractTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractTransition) +16 (int (*)(...))QAbstractTransition::metaObject +24 (int (*)(...))QAbstractTransition::qt_metacast +32 (int (*)(...))QAbstractTransition::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QAbstractTransition + size=16 align=8 + base size=16 base align=8 +QAbstractTransition (0x0x7f56b33f6680) 0 + vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16) + QObject (0x0x7f56b3510000) 0 + primary-for QAbstractTransition (0x0x7f56b33f6680) + +Class QAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAnimationGroup::QPrivateSignal (0x0x7f56b3510360) 0 empty + +Vtable for QAnimationGroup +QAnimationGroup::_ZTV15QAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAnimationGroup) +16 (int (*)(...))QAnimationGroup::metaObject +24 (int (*)(...))QAnimationGroup::qt_metacast +32 (int (*)(...))QAnimationGroup::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QAnimationGroup + size=16 align=8 + base size=16 base align=8 +QAnimationGroup (0x0x7f56b33f66e8) 0 + vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16) + QAbstractAnimation (0x0x7f56b33f6750) 0 + primary-for QAnimationGroup (0x0x7f56b33f66e8) + QObject (0x0x7f56b3510300) 0 + primary-for QAbstractAnimation (0x0x7f56b33f6750) + +Class QBasicTimer + size=4 align=4 + base size=4 base align=4 +QBasicTimer (0x0x7f56b3570660) 0 + +Class QBitArray + size=8 align=8 + base size=8 base align=8 +QBitArray (0x0x7f56b320d000) 0 + +Class QBitRef + size=16 align=8 + base size=12 base align=8 +QBitRef (0x0x7f56b326e480) 0 + +Class QIODevice::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIODevice::QPrivateSignal (0x0x7f56b32b4720) 0 empty + +Vtable for QIODevice +QIODevice::_ZTV9QIODevice: 30 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QIODevice) +16 (int (*)(...))QIODevice::metaObject +24 (int (*)(...))QIODevice::qt_metacast +32 (int (*)(...))QIODevice::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIODevice::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QIODevice::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QIODevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))__cxa_pure_virtual + +Class QIODevice + size=16 align=8 + base size=16 base align=8 +QIODevice (0x0x7f56b32a8d00) 0 + vptr=((& QIODevice::_ZTV9QIODevice) + 16) + QObject (0x0x7f56b32b46c0) 0 + primary-for QIODevice (0x0x7f56b32a8d00) + +Class QBuffer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QBuffer::QPrivateSignal (0x0x7f56b33010c0) 0 empty + +Vtable for QBuffer +QBuffer::_ZTV7QBuffer: 30 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QBuffer) +16 (int (*)(...))QBuffer::metaObject +24 (int (*)(...))QBuffer::qt_metacast +32 (int (*)(...))QBuffer::qt_metacall +40 (int (*)(...))QBuffer::~QBuffer +48 (int (*)(...))QBuffer::~QBuffer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QBuffer::connectNotify +104 (int (*)(...))QBuffer::disconnectNotify +112 (int (*)(...))QIODevice::isSequential +120 (int (*)(...))QBuffer::open +128 (int (*)(...))QBuffer::close +136 (int (*)(...))QBuffer::pos +144 (int (*)(...))QBuffer::size +152 (int (*)(...))QBuffer::seek +160 (int (*)(...))QBuffer::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QBuffer::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QBuffer::readData +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QBuffer::writeData + +Class QBuffer + size=16 align=8 + base size=16 base align=8 +QBuffer (0x0x7f56b32a8e38) 0 + vptr=((& QBuffer::_ZTV7QBuffer) + 16) + QIODevice (0x0x7f56b32a8ea0) 0 + primary-for QBuffer (0x0x7f56b32a8e38) + QObject (0x0x7f56b3301060) 0 + primary-for QIODevice (0x0x7f56b32a8ea0) + +Class QByteArrayMatcher::Data + size=272 align=8 + base size=272 base align=8 +QByteArrayMatcher::Data (0x0x7f56b3301360) 0 + +Class QByteArrayMatcher + size=1040 align=8 + base size=1040 base align=8 +QByteArrayMatcher (0x0x7f56b3301300) 0 + +Class QStaticByteArrayMatcherBase::Skiptable + size=256 align=1 + base size=256 base align=1 +QStaticByteArrayMatcherBase::Skiptable (0x0x7f56b33014e0) 0 + +Class QStaticByteArrayMatcherBase + size=256 align=16 + base size=256 base align=16 +QStaticByteArrayMatcherBase (0x0x7f56b3301480) 0 + +Class QSharedData + size=4 align=4 + base size=4 base align=4 +QSharedData (0x0x7f56b334b3c0) 0 + +Class QLocale + size=8 align=8 + base size=8 base align=8 +QLocale (0x0x7f56b33902a0) 0 + +Class QCalendar::YearMonthDay + size=12 align=4 + base size=12 base align=4 +QCalendar::YearMonthDay (0x0x7f56b3101780) 0 + +Class QCalendar + size=8 align=8 + base size=8 base align=8 +QCalendar (0x0x7f56b3101720) 0 + +Class QDate + size=8 align=8 + base size=8 base align=8 +QDate (0x0x7f56b3101f60) 0 + +Class QTime + size=4 align=4 + base size=4 base align=4 +QTime (0x0x7f56b318d840) 0 + +Class QDateTime::ShortData + size=8 align=8 + base size=8 base align=8 +QDateTime::ShortData (0x0x7f56b2df74e0) 0 + +Class QDateTime::Data + size=8 align=8 + base size=8 base align=8 +QDateTime::Data (0x0x7f56b2df7540) 0 + +Class QDateTime + size=8 align=8 + base size=8 base align=8 +QDateTime (0x0x7f56b2df7480) 0 + +Vtable for QTextStream +QTextStream::_ZTV11QTextStream: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTextStream) +16 (int (*)(...))QTextStream::~QTextStream +24 (int (*)(...))QTextStream::~QTextStream + +Class QTextStream + size=16 align=8 + base size=16 base align=8 +QTextStream (0x0x7f56b2ec6c00) 0 + vptr=((& QTextStream::_ZTV11QTextStream) + 16) + +Class QTextStreamManipulator + size=40 align=8 + base size=38 base align=8 +QTextStreamManipulator (0x0x7f56b2f2e4e0) 0 + +Class QContiguousCacheData + size=24 align=4 + base size=24 base align=4 +QContiguousCacheData (0x0x7f56b2fbe180) 0 + +Vtable for __gnu_cxx::__concurrence_lock_error +__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error +24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error +32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what + +Class __gnu_cxx::__concurrence_lock_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_lock_error (0x0x7f56b2ec8ea0) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16) + std::exception (0x0x7f56b2c0e000) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f56b2ec8ea0) + +Vtable for __gnu_cxx::__concurrence_unlock_error +__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error +24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error +32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what + +Class __gnu_cxx::__concurrence_unlock_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_unlock_error (0x0x7f56b2ec8f08) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16) + std::exception (0x0x7f56b2c0e120) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f56b2ec8f08) + +Vtable for __gnu_cxx::__concurrence_broadcast_error +__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error +24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error +32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what + +Class __gnu_cxx::__concurrence_broadcast_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_broadcast_error (0x0x7f56b2ec8f70) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16) + std::exception (0x0x7f56b2c0e240) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f56b2ec8f70) + +Vtable for __gnu_cxx::__concurrence_wait_error +__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error +24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error +32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what + +Class __gnu_cxx::__concurrence_wait_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_wait_error (0x0x7f56b2c17068) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16) + std::exception (0x0x7f56b2c0e360) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f56b2c17068) + +Class __gnu_cxx::__mutex + size=40 align=8 + base size=40 base align=8 +__gnu_cxx::__mutex (0x0x7f56b2c363c0) 0 + +Class __gnu_cxx::__recursive_mutex + size=40 align=8 + base size=40 base align=8 +__gnu_cxx::__recursive_mutex (0x0x7f56b2c366c0) 0 + +Class __gnu_cxx::__scoped_lock + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__scoped_lock (0x0x7f56b2c369c0) 0 + +Class __gnu_cxx::__cond + size=48 align=8 + base size=48 base align=8 +__gnu_cxx::__cond (0x0x7f56b2c36d20) 0 + +Vtable for std::bad_weak_ptr +std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12bad_weak_ptr) +16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr +24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr +32 (int (*)(...))std::bad_weak_ptr::what + +Class std::bad_weak_ptr + size=8 align=8 + base size=8 base align=8 +std::bad_weak_ptr (0x0x7f56b2c170d0) 0 nearly-empty + vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16) + std::exception (0x0x7f56b2cb2f00) 0 nearly-empty + primary-for std::bad_weak_ptr (0x0x7f56b2c170d0) + +Class std::_Sp_make_shared_tag + size=1 align=1 + base size=0 base align=1 +std::_Sp_make_shared_tag (0x0x7f56b2d12ea0) 0 empty + +Class std::__sp_array_delete + size=1 align=1 + base size=0 base align=1 +std::__sp_array_delete (0x0x7f56b2d41300) 0 empty + +Class std::_Sp_locker + size=2 align=1 + base size=2 base align=1 +std::_Sp_locker (0x0x7f56b2a83180) 0 + +Class QtSharedPointer::NormalDeleter + size=1 align=1 + base size=0 base align=1 +QtSharedPointer::NormalDeleter (0x0x7f56b2ab2660) 0 empty + +Class QtSharedPointer::ExternalRefCountData + size=16 align=8 + base size=16 base align=8 +QtSharedPointer::ExternalRefCountData (0x0x7f56b2ab27e0) 0 + +Class QtPrivate::EnableInternalData + size=1 align=1 + base size=0 base align=1 +QtPrivate::EnableInternalData (0x0x7f56b2b38120) 0 empty + +Class QDebug::Stream + size=80 align=8 + base size=76 base align=8 +QDebug::Stream (0x0x7f56b2b667e0) 0 + +Class QDebug + size=8 align=8 + base size=8 base align=8 +QDebug (0x0x7f56b2b66780) 0 + +Class QDebugStateSaver + size=8 align=8 + base size=8 base align=8 +QDebugStateSaver (0x0x7f56b28f9120) 0 + +Class QNoDebug + size=1 align=1 + base size=0 base align=1 +QNoDebug (0x0x7f56b28f91e0) 0 empty + +Class QCborError + size=4 align=4 + base size=4 base align=4 +QCborError (0x0x7f56b2982420) 0 + +Class QRegularExpression + size=8 align=8 + base size=8 base align=8 +QRegularExpression (0x0x7f56b2982ba0) 0 + +Class QRegularExpressionMatch + size=8 align=8 + base size=8 base align=8 +QRegularExpressionMatch (0x0x7f56b2638a80) 0 + +Class QRegularExpressionMatchIterator + size=8 align=8 + base size=8 base align=8 +QRegularExpressionMatchIterator (0x0x7f56b26a1840) 0 + +Class QUrl + size=8 align=8 + base size=8 base align=8 +QUrl (0x0x7f56b271a2a0) 0 + +Class QUuid + size=16 align=4 + base size=16 base align=4 +QUuid (0x0x7f56b246b240) 0 + +Class QCborParserError + size=16 align=8 + base size=12 base align=8 +QCborParserError (0x0x7f56b24cfd80) 0 + +Class QCborValue + size=24 align=8 + base size=20 base align=8 +QCborValue (0x0x7f56b24cfe40) 0 + +Class QCborValueRef + size=16 align=8 + base size=16 base align=8 +QCborValueRef (0x0x7f56b2341a20) 0 + +Class QCborArray::Iterator + size=16 align=8 + base size=16 base align=8 +QCborArray::Iterator (0x0x7f56b1fe8480) 0 + +Class QCborArray::ConstIterator + size=16 align=8 + base size=16 base align=8 +QCborArray::ConstIterator (0x0x7f56b1fe84e0) 0 + +Class QCborArray + size=8 align=8 + base size=8 base align=8 +QCborArray (0x0x7f56b1fe8420) 0 + +Class QCborMap::Iterator + size=16 align=8 + base size=16 base align=8 +QCborMap::Iterator (0x0x7f56b21610c0) 0 + +Class QCborMap::ConstIterator + size=16 align=8 + base size=16 base align=8 +QCborMap::ConstIterator (0x0x7f56b2161120) 0 + +Class QCborMap + size=8 align=8 + base size=8 base align=8 +QCborMap (0x0x7f56b2161060) 0 + +Class qfloat16::Wrap + size=2 align=2 + base size=2 base align=2 +qfloat16::Wrap (0x0x7f56b1f668a0) 0 + +Class qfloat16 + size=2 align=2 + base size=2 base align=2 +qfloat16 (0x0x7f56b1f66840) 0 + +Class QCborStreamWriter + size=8 align=8 + base size=8 base align=8 +QCborStreamWriter (0x0x7f56b1c4f540) 0 + +Class QCborStreamReader + size=24 align=8 + base size=20 base align=8 +QCborStreamReader (0x0x7f56b1c7e2a0) 0 + +Class QCollatorSortKey + size=8 align=8 + base size=8 base align=8 +QCollatorSortKey (0x0x7f56b1d053c0) 0 + +Class QCollator + size=8 align=8 + base size=8 base align=8 +QCollator (0x0x7f56b1d055a0) 0 + +Class QCommandLineOption + size=8 align=8 + base size=8 base align=8 +QCommandLineOption (0x0x7f56b19fdba0) 0 + +Vtable for QEvent +QEvent::_ZTV6QEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QEvent) +16 (int (*)(...))QEvent::~QEvent +24 (int (*)(...))QEvent::~QEvent + +Class QEvent + size=24 align=8 + base size=20 base align=8 +QEvent (0x0x7f56b1af8120) 0 + vptr=((& QEvent::_ZTV6QEvent) + 16) + +Vtable for QTimerEvent +QTimerEvent::_ZTV11QTimerEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTimerEvent) +16 (int (*)(...))QTimerEvent::~QTimerEvent +24 (int (*)(...))QTimerEvent::~QTimerEvent + +Class QTimerEvent + size=24 align=8 + base size=24 base align=8 +QTimerEvent (0x0x7f56b1acbaf8) 0 + vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16) + QEvent (0x0x7f56b1af84e0) 0 + primary-for QTimerEvent (0x0x7f56b1acbaf8) + +Vtable for QChildEvent +QChildEvent::_ZTV11QChildEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QChildEvent) +16 (int (*)(...))QChildEvent::~QChildEvent +24 (int (*)(...))QChildEvent::~QChildEvent + +Class QChildEvent + size=32 align=8 + base size=32 base align=8 +QChildEvent (0x0x7f56b1acbb60) 0 + vptr=((& QChildEvent::_ZTV11QChildEvent) + 16) + QEvent (0x0x7f56b1af85a0) 0 + primary-for QChildEvent (0x0x7f56b1acbb60) + +Vtable for QDynamicPropertyChangeEvent +QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent) +16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent +24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent + +Class QDynamicPropertyChangeEvent + size=32 align=8 + base size=32 base align=8 +QDynamicPropertyChangeEvent (0x0x7f56b1b250d0) 0 + vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16) + QEvent (0x0x7f56b1af8c00) 0 + primary-for QDynamicPropertyChangeEvent (0x0x7f56b1b250d0) + +Vtable for QDeferredDeleteEvent +QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent) +16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent +24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent + +Class QDeferredDeleteEvent + size=24 align=8 + base size=24 base align=8 +QDeferredDeleteEvent (0x0x7f56b1b25138) 0 + vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16) + QEvent (0x0x7f56b1af8cc0) 0 + primary-for QDeferredDeleteEvent (0x0x7f56b1b25138) + +Class QCoreApplication::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCoreApplication::QPrivateSignal (0x0x7f56b1af8de0) 0 empty + +Vtable for QCoreApplication +QCoreApplication::_ZTV16QCoreApplication: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QCoreApplication) +16 (int (*)(...))QCoreApplication::metaObject +24 (int (*)(...))QCoreApplication::qt_metacast +32 (int (*)(...))QCoreApplication::qt_metacall +40 (int (*)(...))QCoreApplication::~QCoreApplication +48 (int (*)(...))QCoreApplication::~QCoreApplication +56 (int (*)(...))QCoreApplication::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QCoreApplication::notify +120 (int (*)(...))QCoreApplication::compressEvent + +Class QCoreApplication + size=16 align=8 + base size=16 base align=8 +QCoreApplication (0x0x7f56b1b251a0) 0 + vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16) + QObject (0x0x7f56b1af8d80) 0 + primary-for QCoreApplication (0x0x7f56b1b251a0) + +Class QCommandLineParser + size=8 align=8 + base size=8 base align=8 +QCommandLineParser (0x0x7f56b1b52060) 0 + +Class QConcatenateTablesProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QConcatenateTablesProxyModel::QPrivateSignal (0x0x7f56b1b521e0) 0 empty + +Vtable for QConcatenateTablesProxyModel +QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel) +16 (int (*)(...))QConcatenateTablesProxyModel::metaObject +24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast +32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall +40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel +48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QConcatenateTablesProxyModel::index +120 (int (*)(...))QConcatenateTablesProxyModel::parent +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))QConcatenateTablesProxyModel::rowCount +144 (int (*)(...))QConcatenateTablesProxyModel::columnCount +152 (int (*)(...))QAbstractItemModel::hasChildren +160 (int (*)(...))QConcatenateTablesProxyModel::data +168 (int (*)(...))QConcatenateTablesProxyModel::setData +176 (int (*)(...))QConcatenateTablesProxyModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QConcatenateTablesProxyModel::itemData +200 (int (*)(...))QConcatenateTablesProxyModel::setItemData +208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes +216 (int (*)(...))QConcatenateTablesProxyModel::mimeData +224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData +232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QConcatenateTablesProxyModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QConcatenateTablesProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QConcatenateTablesProxyModel + size=16 align=8 + base size=16 base align=8 +QConcatenateTablesProxyModel (0x0x7f56b1b25208) 0 + vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16) + QAbstractItemModel (0x0x7f56b1b25270) 0 + primary-for QConcatenateTablesProxyModel (0x0x7f56b1b25208) + QObject (0x0x7f56b1b52180) 0 + primary-for QAbstractItemModel (0x0x7f56b1b25270) + +Class QCryptographicHash + size=8 align=8 + base size=8 base align=8 +QCryptographicHash (0x0x7f56b1b523c0) 0 + +Class QDataStream + size=32 align=8 + base size=32 base align=8 +QDataStream (0x0x7f56b1b524e0) 0 + +Class QtPrivate::StreamStateSaver + size=16 align=8 + base size=12 base align=8 +QtPrivate::StreamStateSaver (0x0x7f56b1b52660) 0 + +Class QElapsedTimer + size=16 align=8 + base size=16 base align=8 +QElapsedTimer (0x0x7f56b1bc1d80) 0 + +Class QDeadlineTimer + size=16 align=8 + base size=16 base align=8 +QDeadlineTimer (0x0x7f56b17ff4e0) 0 + +Class QFileDevice::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileDevice::QPrivateSignal (0x0x7f56b193c1e0) 0 empty + +Vtable for QFileDevice +QFileDevice::_ZTV11QFileDevice: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFileDevice) +16 (int (*)(...))QFileDevice::metaObject +24 (int (*)(...))QFileDevice::qt_metacast +32 (int (*)(...))QFileDevice::qt_metacall +40 (int (*)(...))QFileDevice::~QFileDevice +48 (int (*)(...))QFileDevice::~QFileDevice +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFileDevice::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QFileDevice::writeData +240 (int (*)(...))QFileDevice::fileName +248 (int (*)(...))QFileDevice::resize +256 (int (*)(...))QFileDevice::permissions +264 (int (*)(...))QFileDevice::setPermissions + +Class QFileDevice + size=16 align=8 + base size=16 base align=8 +QFileDevice (0x0x7f56b1931478) 0 + vptr=((& QFileDevice::_ZTV11QFileDevice) + 16) + QIODevice (0x0x7f56b19314e0) 0 + primary-for QFileDevice (0x0x7f56b1931478) + QObject (0x0x7f56b193c180) 0 + primary-for QIODevice (0x0x7f56b19314e0) + +Class QFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFile::QPrivateSignal (0x0x7f56b193cae0) 0 empty + +Vtable for QFile +QFile::_ZTV5QFile: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QFile) +16 (int (*)(...))QFile::metaObject +24 (int (*)(...))QFile::qt_metacast +32 (int (*)(...))QFile::qt_metacall +40 (int (*)(...))QFile::~QFile +48 (int (*)(...))QFile::~QFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QFile::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFile::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QFileDevice::writeData +240 (int (*)(...))QFile::fileName +248 (int (*)(...))QFile::resize +256 (int (*)(...))QFile::permissions +264 (int (*)(...))QFile::setPermissions + +Class QFile + size=16 align=8 + base size=16 base align=8 +QFile (0x0x7f56b1931618) 0 + vptr=((& QFile::_ZTV5QFile) + 16) + QFileDevice (0x0x7f56b1931680) 0 + primary-for QFile (0x0x7f56b1931618) + QIODevice (0x0x7f56b19316e8) 0 + primary-for QFileDevice (0x0x7f56b1931680) + QObject (0x0x7f56b193ca80) 0 + primary-for QIODevice (0x0x7f56b19316e8) + +Class QFileInfo + size=8 align=8 + base size=8 base align=8 +QFileInfo (0x0x7f56b19b0180) 0 + +Class QDir + size=8 align=8 + base size=8 base align=8 +QDir (0x0x7f56b167c060) 0 + +Class QDirIterator + size=8 align=8 + base size=8 base align=8 +QDirIterator (0x0x7f56b17a9060) 0 + +Class QEasingCurve + size=8 align=8 + base size=8 base align=8 +QEasingCurve (0x0x7f56b17a97e0) 0 + +Class QEventTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QEventTransition::QPrivateSignal (0x0x7f56b14d7900) 0 empty + +Vtable for QEventTransition +QEventTransition::_ZTV16QEventTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QEventTransition) +16 (int (*)(...))QEventTransition::metaObject +24 (int (*)(...))QEventTransition::qt_metacast +32 (int (*)(...))QEventTransition::qt_metacall +40 (int (*)(...))QEventTransition::~QEventTransition +48 (int (*)(...))QEventTransition::~QEventTransition +56 (int (*)(...))QEventTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QEventTransition::eventTest +120 (int (*)(...))QEventTransition::onTransition + +Class QEventTransition + size=16 align=8 + base size=16 base align=8 +QEventTransition (0x0x7f56b14a53a8) 0 + vptr=((& QEventTransition::_ZTV16QEventTransition) + 16) + QAbstractTransition (0x0x7f56b14a5410) 0 + primary-for QEventTransition (0x0x7f56b14a53a8) + QObject (0x0x7f56b14d78a0) 0 + primary-for QAbstractTransition (0x0x7f56b14a5410) + +Vtable for QException +QException::_ZTV10QException: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QException) +16 (int (*)(...))QException::~QException +24 (int (*)(...))QException::~QException +32 (int (*)(...))std::exception::what +40 (int (*)(...))QException::raise +48 (int (*)(...))QException::clone + +Class QException + size=8 align=8 + base size=8 base align=8 +QException (0x0x7f56b14a5478) 0 nearly-empty + vptr=((& QException::_ZTV10QException) + 16) + std::exception (0x0x7f56b14d7ae0) 0 nearly-empty + primary-for QException (0x0x7f56b14a5478) + +Vtable for QUnhandledException +QUnhandledException::_ZTV19QUnhandledException: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QUnhandledException) +16 (int (*)(...))QUnhandledException::~QUnhandledException +24 (int (*)(...))QUnhandledException::~QUnhandledException +32 (int (*)(...))std::exception::what +40 (int (*)(...))QUnhandledException::raise +48 (int (*)(...))QUnhandledException::clone + +Class QUnhandledException + size=8 align=8 + base size=8 base align=8 +QUnhandledException (0x0x7f56b14a54e0) 0 nearly-empty + vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16) + QException (0x0x7f56b14a5548) 0 nearly-empty + primary-for QUnhandledException (0x0x7f56b14a54e0) + std::exception (0x0x7f56b14d7b40) 0 nearly-empty + primary-for QException (0x0x7f56b14a5548) + +Class QtPrivate::ExceptionHolder + size=8 align=8 + base size=8 base align=8 +QtPrivate::ExceptionHolder (0x0x7f56b14d7ba0) 0 + +Class QtPrivate::ExceptionStore + size=8 align=8 + base size=8 base align=8 +QtPrivate::ExceptionStore (0x0x7f56b14d7c60) 0 + +Vtable for QFactoryInterface +QFactoryInterface::_ZTV17QFactoryInterface: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QFactoryInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QFactoryInterface + size=8 align=8 + base size=8 base align=8 +QFactoryInterface (0x0x7f56b14d7cc0) 0 nearly-empty + vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16) + +Class QFileSelector::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSelector::QPrivateSignal (0x0x7f56b14d7f00) 0 empty + +Vtable for QFileSelector +QFileSelector::_ZTV13QFileSelector: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QFileSelector) +16 (int (*)(...))QFileSelector::metaObject +24 (int (*)(...))QFileSelector::qt_metacast +32 (int (*)(...))QFileSelector::qt_metacall +40 (int (*)(...))QFileSelector::~QFileSelector +48 (int (*)(...))QFileSelector::~QFileSelector +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QFileSelector + size=16 align=8 + base size=16 base align=8 +QFileSelector (0x0x7f56b14a55b0) 0 + vptr=((& QFileSelector::_ZTV13QFileSelector) + 16) + QObject (0x0x7f56b14d7ea0) 0 + primary-for QFileSelector (0x0x7f56b14a55b0) + +Class QFileSystemWatcher::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSystemWatcher::QPrivateSignal (0x0x7f56b1523180) 0 empty + +Vtable for QFileSystemWatcher +QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QFileSystemWatcher) +16 (int (*)(...))QFileSystemWatcher::metaObject +24 (int (*)(...))QFileSystemWatcher::qt_metacast +32 (int (*)(...))QFileSystemWatcher::qt_metacall +40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher +48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QFileSystemWatcher + size=16 align=8 + base size=16 base align=8 +QFileSystemWatcher (0x0x7f56b14a5618) 0 + vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16) + QObject (0x0x7f56b1523120) 0 + primary-for QFileSystemWatcher (0x0x7f56b14a5618) + +Class QFinalState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFinalState::QPrivateSignal (0x0x7f56b15233c0) 0 empty + +Vtable for QFinalState +QFinalState::_ZTV11QFinalState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFinalState) +16 (int (*)(...))QFinalState::metaObject +24 (int (*)(...))QFinalState::qt_metacast +32 (int (*)(...))QFinalState::qt_metacall +40 (int (*)(...))QFinalState::~QFinalState +48 (int (*)(...))QFinalState::~QFinalState +56 (int (*)(...))QFinalState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFinalState::onEntry +120 (int (*)(...))QFinalState::onExit + +Class QFinalState + size=16 align=8 + base size=16 base align=8 +QFinalState (0x0x7f56b14a5680) 0 + vptr=((& QFinalState::_ZTV11QFinalState) + 16) + QAbstractState (0x0x7f56b14a56e8) 0 + primary-for QFinalState (0x0x7f56b14a5680) + QObject (0x0x7f56b1523360) 0 + primary-for QAbstractState (0x0x7f56b14a56e8) + +Vtable for QRunnable +QRunnable::_ZTV9QRunnable: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QRunnable) +16 (int (*)(...))__cxa_pure_virtual +24 0 +32 0 + +Class QRunnable + size=16 align=8 + base size=12 base align=8 +QRunnable (0x0x7f56b15235a0) 0 + vptr=((& QRunnable::_ZTV9QRunnable) + 16) + +Class QBasicMutex + size=8 align=8 + base size=8 base align=8 +QBasicMutex (0x0x7f56b1523840) 0 + +Class QMutex + size=8 align=8 + base size=8 base align=8 +QMutex (0x0x7f56b14a57b8) 0 + QBasicMutex (0x0x7f56b15b44e0) 0 + +Class QRecursiveMutex + size=8 align=8 + base size=8 base align=8 +QRecursiveMutex (0x0x7f56b14a5820) 0 + QMutex (0x0x7f56b14a5888) 0 + QBasicMutex (0x0x7f56b15b4720) 0 + +Class QMutexLocker + size=8 align=8 + base size=8 base align=8 +QMutexLocker (0x0x7f56b15b4780) 0 + +Class QtPrivate::ResultItem + size=16 align=8 + base size=16 base align=8 +QtPrivate::ResultItem (0x0x7f56b15b4d80) 0 + +Class QtPrivate::ResultIteratorBase + size=16 align=8 + base size=12 base align=8 +QtPrivate::ResultIteratorBase (0x0x7f56b15e33c0) 0 + +Vtable for QtPrivate::ResultStoreBase +QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE) +16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase +24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase + +Class QtPrivate::ResultStoreBase + size=48 align=8 + base size=44 base align=8 +QtPrivate::ResultStoreBase (0x0x7f56b15e35a0) 0 + vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16) + +Class std::__mutex_base + size=40 align=8 + base size=40 base align=8 +std::__mutex_base (0x0x7f56b1258d80) 0 + +Class std::mutex + size=40 align=8 + base size=40 base align=8 +std::mutex (0x0x7f56b126c1a0) 0 + std::__mutex_base (0x0x7f56b1258de0) 0 + +Class std::defer_lock_t + size=1 align=1 + base size=0 base align=1 +std::defer_lock_t (0x0x7f56b127a000) 0 empty + +Class std::try_to_lock_t + size=1 align=1 + base size=0 base align=1 +std::try_to_lock_t (0x0x7f56b127a060) 0 empty + +Class std::adopt_lock_t + size=1 align=1 + base size=0 base align=1 +std::adopt_lock_t (0x0x7f56b127a0c0) 0 empty + +Class std::__recursive_mutex_base + size=40 align=8 + base size=40 base align=8 +std::__recursive_mutex_base (0x0x7f56b127aae0) 0 + +Class std::recursive_mutex + size=40 align=8 + base size=40 base align=8 +std::recursive_mutex (0x0x7f56b126c208) 0 + std::__recursive_mutex_base (0x0x7f56b127ab40) 0 + +Class std::timed_mutex + size=40 align=8 + base size=40 base align=8 +std::timed_mutex (0x0x7f56b1276af0) 0 + std::__mutex_base (0x0x7f56b127af00) 0 + std::__timed_mutex_impl (0x0x7f56b127af60) 0 empty + +Class std::recursive_timed_mutex + size=40 align=8 + base size=40 base align=8 +std::recursive_timed_mutex (0x0x7f56b1276e70) 0 + std::__recursive_mutex_base (0x0x7f56b12c2300) 0 + std::__timed_mutex_impl (0x0x7f56b12c2360) 0 empty + +Class std::once_flag + size=4 align=4 + base size=4 base align=4 +std::once_flag (0x0x7f56b12c2a80) 0 + +Vtable for QFutureInterfaceBase +QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QFutureInterfaceBase) +16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase +24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase + +Class QFutureInterfaceBase + size=16 align=8 + base size=16 base align=8 +QFutureInterfaceBase (0x0x7f56b12c2cc0) 0 + vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16) + +Class QFutureWatcherBase::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFutureWatcherBase::QPrivateSignal (0x0x7f56b1399060) 0 empty + +Vtable for QFutureWatcherBase +QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QFutureWatcherBase) +16 (int (*)(...))QFutureWatcherBase::metaObject +24 (int (*)(...))QFutureWatcherBase::qt_metacast +32 (int (*)(...))QFutureWatcherBase::qt_metacall +40 0 +48 0 +56 (int (*)(...))QFutureWatcherBase::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QFutureWatcherBase::connectNotify +104 (int (*)(...))QFutureWatcherBase::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QFutureWatcherBase + size=16 align=8 + base size=16 base align=8 +QFutureWatcherBase (0x0x7f56b1398000) 0 + vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16) + QObject (0x0x7f56b1399000) 0 + primary-for QFutureWatcherBase (0x0x7f56b1398000) + +Class QHistoryState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHistoryState::QPrivateSignal (0x0x7f56b13c73c0) 0 empty + +Vtable for QHistoryState +QHistoryState::_ZTV13QHistoryState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QHistoryState) +16 (int (*)(...))QHistoryState::metaObject +24 (int (*)(...))QHistoryState::qt_metacast +32 (int (*)(...))QHistoryState::qt_metacall +40 (int (*)(...))QHistoryState::~QHistoryState +48 (int (*)(...))QHistoryState::~QHistoryState +56 (int (*)(...))QHistoryState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QHistoryState::onEntry +120 (int (*)(...))QHistoryState::onExit + +Class QHistoryState + size=16 align=8 + base size=16 base align=8 +QHistoryState (0x0x7f56b1398820) 0 + vptr=((& QHistoryState::_ZTV13QHistoryState) + 16) + QAbstractState (0x0x7f56b1398888) 0 + primary-for QHistoryState (0x0x7f56b1398820) + QObject (0x0x7f56b13c7360) 0 + primary-for QAbstractState (0x0x7f56b1398888) + +Class QIdentityProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIdentityProxyModel::QPrivateSignal (0x0x7f56b13c76c0) 0 empty + +Vtable for QIdentityProxyModel +QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QIdentityProxyModel) +16 (int (*)(...))QIdentityProxyModel::metaObject +24 (int (*)(...))QIdentityProxyModel::qt_metacast +32 (int (*)(...))QIdentityProxyModel::qt_metacall +40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel +48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIdentityProxyModel::index +120 (int (*)(...))QIdentityProxyModel::parent +128 (int (*)(...))QIdentityProxyModel::sibling +136 (int (*)(...))QIdentityProxyModel::rowCount +144 (int (*)(...))QIdentityProxyModel::columnCount +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QIdentityProxyModel::headerData +184 (int (*)(...))QAbstractProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::mimeTypes +216 (int (*)(...))QAbstractProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QIdentityProxyModel::dropMimeData +240 (int (*)(...))QAbstractProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QIdentityProxyModel::insertRows +264 (int (*)(...))QIdentityProxyModel::insertColumns +272 (int (*)(...))QIdentityProxyModel::removeRows +280 (int (*)(...))QIdentityProxyModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractProxyModel::fetchMore +312 (int (*)(...))QAbstractProxyModel::canFetchMore +320 (int (*)(...))QAbstractProxyModel::flags +328 (int (*)(...))QAbstractProxyModel::sort +336 (int (*)(...))QAbstractProxyModel::buddy +344 (int (*)(...))QIdentityProxyModel::match +352 (int (*)(...))QAbstractProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QIdentityProxyModel::setSourceModel +392 (int (*)(...))QIdentityProxyModel::mapToSource +400 (int (*)(...))QIdentityProxyModel::mapFromSource +408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource +416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource + +Class QIdentityProxyModel + size=16 align=8 + base size=16 base align=8 +QIdentityProxyModel (0x0x7f56b13988f0) 0 + vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16) + QAbstractProxyModel (0x0x7f56b1398958) 0 + primary-for QIdentityProxyModel (0x0x7f56b13988f0) + QAbstractItemModel (0x0x7f56b13989c0) 0 + primary-for QAbstractProxyModel (0x0x7f56b1398958) + QObject (0x0x7f56b13c7660) 0 + primary-for QAbstractItemModel (0x0x7f56b13989c0) + +Class QItemSelectionRange + size=16 align=8 + base size=16 base align=8 +QItemSelectionRange (0x0x7f56b13c78a0) 0 + +Class QItemSelectionModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QItemSelectionModel::QPrivateSignal (0x0x7f56b10b01e0) 0 empty + +Vtable for QItemSelectionModel +QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QItemSelectionModel) +16 (int (*)(...))QItemSelectionModel::metaObject +24 (int (*)(...))QItemSelectionModel::qt_metacast +32 (int (*)(...))QItemSelectionModel::qt_metacall +40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel +48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QItemSelectionModel::setCurrentIndex +120 (int (*)(...))QItemSelectionModel::select +128 (int (*)(...))QItemSelectionModel::select +136 (int (*)(...))QItemSelectionModel::clear +144 (int (*)(...))QItemSelectionModel::reset +152 (int (*)(...))QItemSelectionModel::clearCurrentIndex + +Class QItemSelectionModel + size=16 align=8 + base size=16 base align=8 +QItemSelectionModel (0x0x7f56b10ac340) 0 + vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16) + QObject (0x0x7f56b10b0180) 0 + primary-for QItemSelectionModel (0x0x7f56b10ac340) + +Class QItemSelection + size=8 align=8 + base size=8 base align=8 +QItemSelection (0x0x7f56b10ac4e0) 0 + QList (0x0x7f56b10ac548) 0 + QListSpecialMethods (0x0x7f56b10b0cc0) 0 empty + +Class QJsonValue + size=24 align=8 + base size=20 base align=8 +QJsonValue (0x0x7f56b115d600) 0 + +Class QJsonValueRef + size=16 align=8 + base size=12 base align=8 +QJsonValueRef (0x0x7f56b0ec22a0) 0 + +Class QJsonValuePtr + size=24 align=8 + base size=24 base align=8 +QJsonValuePtr (0x0x7f56b0f05240) 0 + +Class QJsonValueRefPtr + size=16 align=8 + base size=16 base align=8 +QJsonValueRefPtr (0x0x7f56b0f054e0) 0 + +Class QJsonArray::iterator + size=16 align=8 + base size=12 base align=8 +QJsonArray::iterator (0x0x7f56b0f48840) 0 + +Class QJsonArray::const_iterator + size=16 align=8 + base size=12 base align=8 +QJsonArray::const_iterator (0x0x7f56b0f488a0) 0 + +Class QJsonArray + size=16 align=8 + base size=16 base align=8 +QJsonArray (0x0x7f56b0f487e0) 0 + +Class QJsonParseError + size=8 align=4 + base size=8 base align=4 +QJsonParseError (0x0x7f56b0c78780) 0 + +Class QJsonDocument + size=8 align=8 + base size=8 base align=8 +QJsonDocument (0x0x7f56b0c787e0) 0 + +Class QJsonObject::iterator + size=16 align=8 + base size=12 base align=8 +QJsonObject::iterator (0x0x7f56b0cf3000) 0 + +Class QJsonObject::const_iterator + size=16 align=8 + base size=12 base align=8 +QJsonObject::const_iterator (0x0x7f56b0cf3060) 0 + +Class QJsonObject + size=16 align=8 + base size=16 base align=8 +QJsonObject (0x0x7f56b0cc6f60) 0 + +Class QLibrary::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLibrary::QPrivateSignal (0x0x7f56b0a05480) 0 empty + +Vtable for QLibrary +QLibrary::_ZTV8QLibrary: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QLibrary) +16 (int (*)(...))QLibrary::metaObject +24 (int (*)(...))QLibrary::qt_metacast +32 (int (*)(...))QLibrary::qt_metacall +40 (int (*)(...))QLibrary::~QLibrary +48 (int (*)(...))QLibrary::~QLibrary +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QLibrary + size=32 align=8 + base size=25 base align=8 +QLibrary (0x0x7f56b0a081a0) 0 + vptr=((& QLibrary::_ZTV8QLibrary) + 16) + QObject (0x0x7f56b0a05420) 0 + primary-for QLibrary (0x0x7f56b0a081a0) + +Class QVersionNumber::SegmentStorage + size=8 align=8 + base size=8 base align=8 +QVersionNumber::SegmentStorage (0x0x7f56b0a55300) 0 + +Class QVersionNumber + size=8 align=8 + base size=8 base align=8 +QVersionNumber (0x0x7f56b0a05de0) 0 + +Class QLibraryInfo + size=1 align=1 + base size=0 base align=1 +QLibraryInfo (0x0x7f56b0aeaa80) 0 empty + +Class QPoint + size=8 align=4 + base size=8 base align=4 +QPoint (0x0x7f56b0aeaae0) 0 + +Class QPointF + size=16 align=8 + base size=16 base align=8 +QPointF (0x0x7f56b0b58960) 0 + +Class QLine + size=16 align=4 + base size=16 base align=4 +QLine (0x0x7f56b0bceb40) 0 + +Class QLineF + size=32 align=8 + base size=32 base align=8 +QLineF (0x0x7f56b083bf00) 0 + +Class QLinkedListData + size=32 align=8 + base size=25 base align=8 +QLinkedListData (0x0x7f56b08e31e0) 0 + +Class QLockFile + size=8 align=8 + base size=8 base align=8 +QLockFile (0x0x7f56b0982720) 0 + +Class QLoggingCategory::AtomicBools + size=4 align=1 + base size=4 base align=1 +QLoggingCategory::AtomicBools (0x0x7f56b0982960) 0 + +Class QLoggingCategory + size=24 align=8 + base size=24 base align=8 +QLoggingCategory (0x0x7f56b0982900) 0 + +Class QMargins + size=16 align=4 + base size=16 base align=4 +QMargins (0x0x7f56b0982d80) 0 + +Class QMarginsF + size=32 align=8 + base size=32 base align=8 +QMarginsF (0x0x7f56b0638cc0) 0 + +Class QMessageAuthenticationCode + size=8 align=8 + base size=8 base align=8 +QMessageAuthenticationCode (0x0x7f56b04a84e0) 0 + +Class QMetaMethod + size=16 align=8 + base size=12 base align=8 +QMetaMethod (0x0x7f56b04a8540) 0 + +Class QMetaEnum + size=16 align=8 + base size=12 base align=8 +QMetaEnum (0x0x7f56b0517d80) 0 + +Class QMetaProperty + size=32 align=8 + base size=32 base align=8 +QMetaProperty (0x0x7f56b0552f60) 0 + +Class QMetaClassInfo + size=16 align=8 + base size=12 base align=8 +QMetaClassInfo (0x0x7f56b05780c0) 0 + +Class QMimeData::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMimeData::QPrivateSignal (0x0x7f56b05b3660) 0 empty + +Vtable for QMimeData +QMimeData::_ZTV9QMimeData: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QMimeData) +16 (int (*)(...))QMimeData::metaObject +24 (int (*)(...))QMimeData::qt_metacast +32 (int (*)(...))QMimeData::qt_metacall +40 (int (*)(...))QMimeData::~QMimeData +48 (int (*)(...))QMimeData::~QMimeData +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QMimeData::hasFormat +120 (int (*)(...))QMimeData::formats +128 (int (*)(...))QMimeData::retrieveData + +Class QMimeData + size=16 align=8 + base size=16 base align=8 +QMimeData (0x0x7f56b05a2dd0) 0 + vptr=((& QMimeData::_ZTV9QMimeData) + 16) + QObject (0x0x7f56b05b3600) 0 + primary-for QMimeData (0x0x7f56b05a2dd0) + +Class QMimeType + size=8 align=8 + base size=8 base align=8 +QMimeType (0x0x7f56b05b3840) 0 + +Class QMimeDatabase + size=8 align=8 + base size=8 base align=8 +QMimeDatabase (0x0x7f56b0282780) 0 + +Class QObjectCleanupHandler::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QObjectCleanupHandler::QPrivateSignal (0x0x7f56b0282840) 0 empty + +Vtable for QObjectCleanupHandler +QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QObjectCleanupHandler) +16 (int (*)(...))QObjectCleanupHandler::metaObject +24 (int (*)(...))QObjectCleanupHandler::qt_metacast +32 (int (*)(...))QObjectCleanupHandler::qt_metacall +40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler +48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QObjectCleanupHandler + size=24 align=8 + base size=24 base align=8 +QObjectCleanupHandler (0x0x7f56b0280958) 0 + vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16) + QObject (0x0x7f56b02827e0) 0 + primary-for QObjectCleanupHandler (0x0x7f56b0280958) + +Class QOperatingSystemVersion + size=16 align=4 + base size=16 base align=4 +QOperatingSystemVersion (0x0x7f56b0282960) 0 + +Class QParallelAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QParallelAnimationGroup::QPrivateSignal (0x0x7f56b030d120) 0 empty + +Vtable for QParallelAnimationGroup +QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QParallelAnimationGroup) +16 (int (*)(...))QParallelAnimationGroup::metaObject +24 (int (*)(...))QParallelAnimationGroup::qt_metacast +32 (int (*)(...))QParallelAnimationGroup::qt_metacall +40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup +48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup +56 (int (*)(...))QParallelAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QParallelAnimationGroup::duration +120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime +128 (int (*)(...))QParallelAnimationGroup::updateState +136 (int (*)(...))QParallelAnimationGroup::updateDirection + +Class QParallelAnimationGroup + size=16 align=8 + base size=16 base align=8 +QParallelAnimationGroup (0x0x7f56b0309208) 0 + vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16) + QAnimationGroup (0x0x7f56b0309270) 0 + primary-for QParallelAnimationGroup (0x0x7f56b0309208) + QAbstractAnimation (0x0x7f56b03092d8) 0 + primary-for QAnimationGroup (0x0x7f56b0309270) + QObject (0x0x7f56b030d0c0) 0 + primary-for QAbstractAnimation (0x0x7f56b03092d8) + +Class QPauseAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPauseAnimation::QPrivateSignal (0x0x7f56b030d360) 0 empty + +Vtable for QPauseAnimation +QPauseAnimation::_ZTV15QPauseAnimation: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QPauseAnimation) +16 (int (*)(...))QPauseAnimation::metaObject +24 (int (*)(...))QPauseAnimation::qt_metacast +32 (int (*)(...))QPauseAnimation::qt_metacall +40 (int (*)(...))QPauseAnimation::~QPauseAnimation +48 (int (*)(...))QPauseAnimation::~QPauseAnimation +56 (int (*)(...))QPauseAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPauseAnimation::duration +120 (int (*)(...))QPauseAnimation::updateCurrentTime +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QPauseAnimation + size=16 align=8 + base size=16 base align=8 +QPauseAnimation (0x0x7f56b0309340) 0 + vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16) + QAbstractAnimation (0x0x7f56b03093a8) 0 + primary-for QPauseAnimation (0x0x7f56b0309340) + QObject (0x0x7f56b030d300) 0 + primary-for QAbstractAnimation (0x0x7f56b03093a8) + +Class QStaticPlugin + size=16 align=8 + base size=16 base align=8 +QStaticPlugin (0x0x7f56b030dea0) 0 + +Class QPluginLoader::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPluginLoader::QPrivateSignal (0x0x7f56b0386060) 0 empty + +Vtable for QPluginLoader +QPluginLoader::_ZTV13QPluginLoader: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QPluginLoader) +16 (int (*)(...))QPluginLoader::metaObject +24 (int (*)(...))QPluginLoader::qt_metacast +32 (int (*)(...))QPluginLoader::qt_metacall +40 (int (*)(...))QPluginLoader::~QPluginLoader +48 (int (*)(...))QPluginLoader::~QPluginLoader +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPluginLoader + size=32 align=8 + base size=25 base align=8 +QPluginLoader (0x0x7f56b03786e8) 0 + vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16) + QObject (0x0x7f56b0386000) 0 + primary-for QPluginLoader (0x0x7f56b03786e8) + +Class QProcessEnvironment + size=8 align=8 + base size=8 base align=8 +QProcessEnvironment (0x0x7f56b0386180) 0 + +Class QProcess::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProcess::QPrivateSignal (0x0x7f56b0052600) 0 empty + +Vtable for QProcess +QProcess::_ZTV8QProcess: 31 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QProcess) +16 (int (*)(...))QProcess::metaObject +24 (int (*)(...))QProcess::qt_metacast +32 (int (*)(...))QProcess::qt_metacall +40 (int (*)(...))QProcess::~QProcess +48 (int (*)(...))QProcess::~QProcess +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QProcess::isSequential +120 (int (*)(...))QProcess::open +128 (int (*)(...))QProcess::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QProcess::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QProcess::bytesAvailable +184 (int (*)(...))QProcess::bytesToWrite +192 (int (*)(...))QProcess::canReadLine +200 (int (*)(...))QProcess::waitForReadyRead +208 (int (*)(...))QProcess::waitForBytesWritten +216 (int (*)(...))QProcess::readData +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QProcess::writeData +240 (int (*)(...))QProcess::setupChildProcess + +Class QProcess + size=16 align=8 + base size=16 base align=8 +QProcess (0x0x7f56b004bb60) 0 + vptr=((& QProcess::_ZTV8QProcess) + 16) + QIODevice (0x0x7f56b004bbc8) 0 + primary-for QProcess (0x0x7f56b004bb60) + QObject (0x0x7f56b00525a0) 0 + primary-for QIODevice (0x0x7f56b004bbc8) + +Class QVariantAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QVariantAnimation::QPrivateSignal (0x0x7f56b0052cc0) 0 empty + +Vtable for QVariantAnimation +QVariantAnimation::_ZTV17QVariantAnimation: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QVariantAnimation) +16 (int (*)(...))QVariantAnimation::metaObject +24 (int (*)(...))QVariantAnimation::qt_metacast +32 (int (*)(...))QVariantAnimation::qt_metacall +40 (int (*)(...))QVariantAnimation::~QVariantAnimation +48 (int (*)(...))QVariantAnimation::~QVariantAnimation +56 (int (*)(...))QVariantAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QVariantAnimation::duration +120 (int (*)(...))QVariantAnimation::updateCurrentTime +128 (int (*)(...))QVariantAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection +144 (int (*)(...))QVariantAnimation::updateCurrentValue +152 (int (*)(...))QVariantAnimation::interpolated + +Class QVariantAnimation + size=16 align=8 + base size=16 base align=8 +QVariantAnimation (0x0x7f56b004bc30) 0 + vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16) + QAbstractAnimation (0x0x7f56b004bc98) 0 + primary-for QVariantAnimation (0x0x7f56b004bc30) + QObject (0x0x7f56b0052c60) 0 + primary-for QAbstractAnimation (0x0x7f56b004bc98) + +Class QPropertyAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPropertyAnimation::QPrivateSignal (0x0x7f56b0052f60) 0 empty + +Vtable for QPropertyAnimation +QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QPropertyAnimation) +16 (int (*)(...))QPropertyAnimation::metaObject +24 (int (*)(...))QPropertyAnimation::qt_metacast +32 (int (*)(...))QPropertyAnimation::qt_metacall +40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation +48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation +56 (int (*)(...))QPropertyAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QVariantAnimation::duration +120 (int (*)(...))QVariantAnimation::updateCurrentTime +128 (int (*)(...))QPropertyAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection +144 (int (*)(...))QPropertyAnimation::updateCurrentValue +152 (int (*)(...))QVariantAnimation::interpolated + +Class QPropertyAnimation + size=16 align=8 + base size=16 base align=8 +QPropertyAnimation (0x0x7f56b004bd68) 0 + vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16) + QVariantAnimation (0x0x7f56b004bdd0) 0 + primary-for QPropertyAnimation (0x0x7f56b004bd68) + QAbstractAnimation (0x0x7f56b004be38) 0 + primary-for QVariantAnimation (0x0x7f56b004bdd0) + QObject (0x0x7f56b0052f00) 0 + primary-for QAbstractAnimation (0x0x7f56b004be38) + +Class std::random_device + size=5000 align=8 + base size=5000 base align=8 +std::random_device (0x0x7f56b01186c0) 0 + +Class std::bernoulli_distribution::param_type + size=8 align=8 + base size=8 base align=8 +std::bernoulli_distribution::param_type (0x0x7f56afe21420) 0 + +Class std::bernoulli_distribution + size=8 align=8 + base size=8 base align=8 +std::bernoulli_distribution (0x0x7f56afe213c0) 0 + +Class std::seed_seq + size=24 align=8 + base size=24 base align=8 +std::seed_seq (0x0x7f56afc14180) 0 + +Class QRandomGenerator::Storage + size=2504 align=8 + base size=2504 base align=8 +QRandomGenerator::Storage (0x0x7f56afa1ede0) 0 + +Class QRandomGenerator + size=2512 align=8 + base size=2512 base align=8 +QRandomGenerator (0x0x7f56afa1ed80) 0 + +Class QRandomGenerator64 + size=2512 align=8 + base size=2512 base align=8 +QRandomGenerator64 (0x0x7f56afaadaf8) 0 + QRandomGenerator (0x0x7f56afacb900) 0 + +Class QReadWriteLock + size=8 align=8 + base size=8 base align=8 +QReadWriteLock (0x0x7f56afaed4e0) 0 + +Class QReadLocker + size=8 align=8 + base size=8 base align=8 +QReadLocker (0x0x7f56afaed780) 0 + +Class QWriteLocker + size=8 align=8 + base size=8 base align=8 +QWriteLocker (0x0x7f56afaedc60) 0 + +Class QSize + size=8 align=4 + base size=8 base align=4 +QSize (0x0x7f56afb76180) 0 + +Class QSizeF + size=16 align=8 + base size=16 base align=8 +QSizeF (0x0x7f56af7ea060) 0 + +Class QRect + size=16 align=4 + base size=16 base align=4 +QRect (0x0x7f56af8660c0) 0 + +Class QRectF + size=32 align=8 + base size=32 base align=8 +QRectF (0x0x7f56af92a120) 0 + +Class QResource + size=8 align=8 + base size=8 base align=8 +QResource (0x0x7f56af9e6240) 0 + +Class QSaveFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSaveFile::QPrivateSignal (0x0x7f56af9e64e0) 0 empty + +Vtable for QSaveFile +QSaveFile::_ZTV9QSaveFile: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSaveFile) +16 (int (*)(...))QSaveFile::metaObject +24 (int (*)(...))QSaveFile::qt_metacast +32 (int (*)(...))QSaveFile::qt_metacall +40 (int (*)(...))QSaveFile::~QSaveFile +48 (int (*)(...))QSaveFile::~QSaveFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QSaveFile::open +128 (int (*)(...))QSaveFile::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFileDevice::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QSaveFile::writeData +240 (int (*)(...))QSaveFile::fileName +248 (int (*)(...))QFileDevice::resize +256 (int (*)(...))QFileDevice::permissions +264 (int (*)(...))QFileDevice::setPermissions + +Class QSaveFile + size=16 align=8 + base size=16 base align=8 +QSaveFile (0x0x7f56af9854e0) 0 + vptr=((& QSaveFile::_ZTV9QSaveFile) + 16) + QFileDevice (0x0x7f56af985548) 0 + primary-for QSaveFile (0x0x7f56af9854e0) + QIODevice (0x0x7f56af9855b0) 0 + primary-for QFileDevice (0x0x7f56af985548) + QObject (0x0x7f56af9e6480) 0 + primary-for QIODevice (0x0x7f56af9855b0) + +Class QSemaphore + size=8 align=8 + base size=8 base align=8 +QSemaphore (0x0x7f56af9e6ae0) 0 + +Class QSemaphoreReleaser + size=16 align=8 + base size=12 base align=8 +QSemaphoreReleaser (0x0x7f56af9e6c60) 0 + +Class QSequentialAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSequentialAnimationGroup::QPrivateSignal (0x0x7f56af6d78a0) 0 empty + +Vtable for QSequentialAnimationGroup +QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup) +16 (int (*)(...))QSequentialAnimationGroup::metaObject +24 (int (*)(...))QSequentialAnimationGroup::qt_metacast +32 (int (*)(...))QSequentialAnimationGroup::qt_metacall +40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup +48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup +56 (int (*)(...))QSequentialAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSequentialAnimationGroup::duration +120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime +128 (int (*)(...))QSequentialAnimationGroup::updateState +136 (int (*)(...))QSequentialAnimationGroup::updateDirection + +Class QSequentialAnimationGroup + size=16 align=8 + base size=16 base align=8 +QSequentialAnimationGroup (0x0x7f56af6ddd68) 0 + vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16) + QAnimationGroup (0x0x7f56af6dddd0) 0 + primary-for QSequentialAnimationGroup (0x0x7f56af6ddd68) + QAbstractAnimation (0x0x7f56af6dde38) 0 + primary-for QAnimationGroup (0x0x7f56af6dddd0) + QObject (0x0x7f56af6d7840) 0 + primary-for QAbstractAnimation (0x0x7f56af6dde38) + +Class QSettings::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSettings::QPrivateSignal (0x0x7f56af6d7ae0) 0 empty + +Vtable for QSettings +QSettings::_ZTV9QSettings: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSettings) +16 (int (*)(...))QSettings::metaObject +24 (int (*)(...))QSettings::qt_metacast +32 (int (*)(...))QSettings::qt_metacall +40 (int (*)(...))QSettings::~QSettings +48 (int (*)(...))QSettings::~QSettings +56 (int (*)(...))QSettings::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSettings + size=16 align=8 + base size=16 base align=8 +QSettings (0x0x7f56af6ddea0) 0 + vptr=((& QSettings::_ZTV9QSettings) + 16) + QObject (0x0x7f56af6d7a80) 0 + primary-for QSettings (0x0x7f56af6ddea0) + +Class QSharedMemory::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSharedMemory::QPrivateSignal (0x0x7f56af6d7f60) 0 empty + +Vtable for QSharedMemory +QSharedMemory::_ZTV13QSharedMemory: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSharedMemory) +16 (int (*)(...))QSharedMemory::metaObject +24 (int (*)(...))QSharedMemory::qt_metacast +32 (int (*)(...))QSharedMemory::qt_metacall +40 (int (*)(...))QSharedMemory::~QSharedMemory +48 (int (*)(...))QSharedMemory::~QSharedMemory +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSharedMemory + size=16 align=8 + base size=16 base align=8 +QSharedMemory (0x0x7f56af6ddf08) 0 + vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16) + QObject (0x0x7f56af6d7f00) 0 + primary-for QSharedMemory (0x0x7f56af6ddf08) + +Class QSignalMapper::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSignalMapper::QPrivateSignal (0x0x7f56af72b1e0) 0 empty + +Vtable for QSignalMapper +QSignalMapper::_ZTV13QSignalMapper: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSignalMapper) +16 (int (*)(...))QSignalMapper::metaObject +24 (int (*)(...))QSignalMapper::qt_metacast +32 (int (*)(...))QSignalMapper::qt_metacall +40 (int (*)(...))QSignalMapper::~QSignalMapper +48 (int (*)(...))QSignalMapper::~QSignalMapper +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSignalMapper + size=16 align=8 + base size=16 base align=8 +QSignalMapper (0x0x7f56af6ddf70) 0 + vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16) + QObject (0x0x7f56af72b180) 0 + primary-for QSignalMapper (0x0x7f56af6ddf70) + +Class QSignalTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSignalTransition::QPrivateSignal (0x0x7f56af72b420) 0 empty + +Vtable for QSignalTransition +QSignalTransition::_ZTV17QSignalTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QSignalTransition) +16 (int (*)(...))QSignalTransition::metaObject +24 (int (*)(...))QSignalTransition::qt_metacast +32 (int (*)(...))QSignalTransition::qt_metacall +40 (int (*)(...))QSignalTransition::~QSignalTransition +48 (int (*)(...))QSignalTransition::~QSignalTransition +56 (int (*)(...))QSignalTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSignalTransition::eventTest +120 (int (*)(...))QSignalTransition::onTransition + +Class QSignalTransition + size=16 align=8 + base size=16 base align=8 +QSignalTransition (0x0x7f56af73f000) 0 + vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16) + QAbstractTransition (0x0x7f56af73f068) 0 + primary-for QSignalTransition (0x0x7f56af73f000) + QObject (0x0x7f56af72b3c0) 0 + primary-for QAbstractTransition (0x0x7f56af73f068) + +Class QSocketNotifier::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSocketNotifier::QPrivateSignal (0x0x7f56af72b6c0) 0 empty + +Vtable for QSocketNotifier +QSocketNotifier::_ZTV15QSocketNotifier: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSocketNotifier) +16 (int (*)(...))QSocketNotifier::metaObject +24 (int (*)(...))QSocketNotifier::qt_metacast +32 (int (*)(...))QSocketNotifier::qt_metacall +40 (int (*)(...))QSocketNotifier::~QSocketNotifier +48 (int (*)(...))QSocketNotifier::~QSocketNotifier +56 (int (*)(...))QSocketNotifier::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSocketNotifier + size=16 align=8 + base size=16 base align=8 +QSocketNotifier (0x0x7f56af73f0d0) 0 + vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16) + QObject (0x0x7f56af72b660) 0 + primary-for QSocketNotifier (0x0x7f56af73f0d0) + +Class QSortFilterProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSortFilterProxyModel::QPrivateSignal (0x0x7f56af72b900) 0 empty + +Vtable for QSortFilterProxyModel +QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QSortFilterProxyModel) +16 (int (*)(...))QSortFilterProxyModel::metaObject +24 (int (*)(...))QSortFilterProxyModel::qt_metacast +32 (int (*)(...))QSortFilterProxyModel::qt_metacall +40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel +48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSortFilterProxyModel::index +120 (int (*)(...))QSortFilterProxyModel::parent +128 (int (*)(...))QSortFilterProxyModel::sibling +136 (int (*)(...))QSortFilterProxyModel::rowCount +144 (int (*)(...))QSortFilterProxyModel::columnCount +152 (int (*)(...))QSortFilterProxyModel::hasChildren +160 (int (*)(...))QSortFilterProxyModel::data +168 (int (*)(...))QSortFilterProxyModel::setData +176 (int (*)(...))QSortFilterProxyModel::headerData +184 (int (*)(...))QSortFilterProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QSortFilterProxyModel::mimeTypes +216 (int (*)(...))QSortFilterProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QSortFilterProxyModel::dropMimeData +240 (int (*)(...))QSortFilterProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QSortFilterProxyModel::insertRows +264 (int (*)(...))QSortFilterProxyModel::insertColumns +272 (int (*)(...))QSortFilterProxyModel::removeRows +280 (int (*)(...))QSortFilterProxyModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QSortFilterProxyModel::fetchMore +312 (int (*)(...))QSortFilterProxyModel::canFetchMore +320 (int (*)(...))QSortFilterProxyModel::flags +328 (int (*)(...))QSortFilterProxyModel::sort +336 (int (*)(...))QSortFilterProxyModel::buddy +344 (int (*)(...))QSortFilterProxyModel::match +352 (int (*)(...))QSortFilterProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QSortFilterProxyModel::setSourceModel +392 (int (*)(...))QSortFilterProxyModel::mapToSource +400 (int (*)(...))QSortFilterProxyModel::mapFromSource +408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource +416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource +424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow +432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn +440 (int (*)(...))QSortFilterProxyModel::lessThan + +Class QSortFilterProxyModel + size=16 align=8 + base size=16 base align=8 +QSortFilterProxyModel (0x0x7f56af73f138) 0 + vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16) + QAbstractProxyModel (0x0x7f56af73f1a0) 0 + primary-for QSortFilterProxyModel (0x0x7f56af73f138) + QAbstractItemModel (0x0x7f56af73f208) 0 + primary-for QAbstractProxyModel (0x0x7f56af73f1a0) + QObject (0x0x7f56af72b8a0) 0 + primary-for QAbstractItemModel (0x0x7f56af73f208) + +Class QStandardPaths + size=1 align=1 + base size=0 base align=1 +QStandardPaths (0x0x7f56af72bd20) 0 empty + +Class QState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QState::QPrivateSignal (0x0x7f56af7a6660) 0 empty + +Vtable for QState +QState::_ZTV6QState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QState) +16 (int (*)(...))QState::metaObject +24 (int (*)(...))QState::qt_metacast +32 (int (*)(...))QState::qt_metacall +40 (int (*)(...))QState::~QState +48 (int (*)(...))QState::~QState +56 (int (*)(...))QState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QState::onEntry +120 (int (*)(...))QState::onExit + +Class QState + size=16 align=8 + base size=16 base align=8 +QState (0x0x7f56af73f3a8) 0 + vptr=((& QState::_ZTV6QState) + 16) + QAbstractState (0x0x7f56af73f410) 0 + primary-for QState (0x0x7f56af73f3a8) + QObject (0x0x7f56af7a6600) 0 + primary-for QAbstractState (0x0x7f56af73f410) + +Class QStateMachine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStateMachine::QPrivateSignal (0x0x7f56af7a6ae0) 0 empty + +Vtable for QStateMachine::SignalEvent +QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE) +16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent +24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent + +Class QStateMachine::SignalEvent + size=48 align=8 + base size=48 base align=8 +QStateMachine::SignalEvent (0x0x7f56af73f5b0) 0 + vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16) + QEvent (0x0x7f56af7a6b40) 0 + primary-for QStateMachine::SignalEvent (0x0x7f56af73f5b0) + +Vtable for QStateMachine::WrappedEvent +QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE) +16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent +24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent + +Class QStateMachine::WrappedEvent + size=40 align=8 + base size=40 base align=8 +QStateMachine::WrappedEvent (0x0x7f56af73f618) 0 + vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16) + QEvent (0x0x7f56af7a6ba0) 0 + primary-for QStateMachine::WrappedEvent (0x0x7f56af73f618) + +Vtable for QStateMachine +QStateMachine::_ZTV13QStateMachine: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QStateMachine) +16 (int (*)(...))QStateMachine::metaObject +24 (int (*)(...))QStateMachine::qt_metacast +32 (int (*)(...))QStateMachine::qt_metacall +40 (int (*)(...))QStateMachine::~QStateMachine +48 (int (*)(...))QStateMachine::~QStateMachine +56 (int (*)(...))QStateMachine::event +64 (int (*)(...))QStateMachine::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStateMachine::onEntry +120 (int (*)(...))QStateMachine::onExit +128 (int (*)(...))QStateMachine::beginSelectTransitions +136 (int (*)(...))QStateMachine::endSelectTransitions +144 (int (*)(...))QStateMachine::beginMicrostep +152 (int (*)(...))QStateMachine::endMicrostep + +Class QStateMachine + size=16 align=8 + base size=16 base align=8 +QStateMachine (0x0x7f56af73f478) 0 + vptr=((& QStateMachine::_ZTV13QStateMachine) + 16) + QState (0x0x7f56af73f4e0) 0 + primary-for QStateMachine (0x0x7f56af73f478) + QAbstractState (0x0x7f56af73f548) 0 + primary-for QState (0x0x7f56af73f4e0) + QObject (0x0x7f56af7a6a80) 0 + primary-for QAbstractState (0x0x7f56af73f548) + +Class QStorageInfo + size=8 align=8 + base size=8 base align=8 +QStorageInfo (0x0x7f56af7a6f60) 0 + +Class QAbstractConcatenable + size=1 align=1 + base size=0 base align=1 +QAbstractConcatenable (0x0x7f56af4cfd20) 0 empty + +Class QStringListModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStringListModel::QPrivateSignal (0x0x7f56af5810c0) 0 empty + +Vtable for QStringListModel +QStringListModel::_ZTV16QStringListModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QStringListModel) +16 (int (*)(...))QStringListModel::metaObject +24 (int (*)(...))QStringListModel::qt_metacast +32 (int (*)(...))QStringListModel::qt_metacall +40 (int (*)(...))QStringListModel::~QStringListModel +48 (int (*)(...))QStringListModel::~QStringListModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractListModel::index +120 (int (*)(...))QAbstractListModel::parent +128 (int (*)(...))QStringListModel::sibling +136 (int (*)(...))QStringListModel::rowCount +144 (int (*)(...))QAbstractListModel::columnCount +152 (int (*)(...))QAbstractListModel::hasChildren +160 (int (*)(...))QStringListModel::data +168 (int (*)(...))QStringListModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QStringListModel::itemData +200 (int (*)(...))QStringListModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractListModel::dropMimeData +240 (int (*)(...))QStringListModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QStringListModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QStringListModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QStringListModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QStringListModel::flags +328 (int (*)(...))QStringListModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QStringListModel + size=24 align=8 + base size=24 base align=8 +QStringListModel (0x0x7f56af535f08) 0 + vptr=((& QStringListModel::_ZTV16QStringListModel) + 16) + QAbstractListModel (0x0x7f56af535f70) 0 + primary-for QStringListModel (0x0x7f56af535f08) + QAbstractItemModel (0x0x7f56af583000) 0 + primary-for QAbstractListModel (0x0x7f56af535f70) + QObject (0x0x7f56af581060) 0 + primary-for QAbstractItemModel (0x0x7f56af583000) + +Class QSystemSemaphore + size=8 align=8 + base size=8 base align=8 +QSystemSemaphore (0x0x7f56af5811e0) 0 + +Class QTemporaryDir + size=8 align=8 + base size=8 base align=8 +QTemporaryDir (0x0x7f56af5812a0) 0 + +Class QTemporaryFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTemporaryFile::QPrivateSignal (0x0x7f56af5813c0) 0 empty + +Vtable for QTemporaryFile +QTemporaryFile::_ZTV14QTemporaryFile: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QTemporaryFile) +16 (int (*)(...))QTemporaryFile::metaObject +24 (int (*)(...))QTemporaryFile::qt_metacast +32 (int (*)(...))QTemporaryFile::qt_metacall +40 (int (*)(...))QTemporaryFile::~QTemporaryFile +48 (int (*)(...))QTemporaryFile::~QTemporaryFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QTemporaryFile::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFile::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QFileDevice::writeData +240 (int (*)(...))QTemporaryFile::fileName +248 (int (*)(...))QFile::resize +256 (int (*)(...))QFile::permissions +264 (int (*)(...))QFile::setPermissions + +Class QTemporaryFile + size=16 align=8 + base size=16 base align=8 +QTemporaryFile (0x0x7f56af583068) 0 + vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16) + QFile (0x0x7f56af5830d0) 0 + primary-for QTemporaryFile (0x0x7f56af583068) + QFileDevice (0x0x7f56af583138) 0 + primary-for QFile (0x0x7f56af5830d0) + QIODevice (0x0x7f56af5831a0) 0 + primary-for QFileDevice (0x0x7f56af583138) + QObject (0x0x7f56af581360) 0 + primary-for QIODevice (0x0x7f56af5831a0) + +Class QTextBoundaryFinder + size=48 align=8 + base size=48 base align=8 +QTextBoundaryFinder (0x0x7f56af581720) 0 + +Class QTextCodec::ConverterState + size=32 align=8 + base size=32 base align=8 +QTextCodec::ConverterState (0x0x7f56af581f60) 0 + +Vtable for QTextCodec +QTextCodec::_ZTV10QTextCodec: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTextCodec) +16 (int (*)(...))__cxa_pure_virtual +24 (int (*)(...))QTextCodec::aliases +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 0 +64 0 + +Class QTextCodec + size=8 align=8 + base size=8 base align=8 +QTextCodec (0x0x7f56af581f00) 0 nearly-empty + vptr=((& QTextCodec::_ZTV10QTextCodec) + 16) + +Class QTextEncoder + size=40 align=8 + base size=40 base align=8 +QTextEncoder (0x0x7f56af201960) 0 + +Class QTextDecoder + size=40 align=8 + base size=40 base align=8 +QTextDecoder (0x0x7f56af201b40) 0 + +Vtable for std::thread::_State +std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt6thread6_StateE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class std::thread::_State + size=8 align=8 + base size=8 base align=8 +std::thread::_State (0x0x7f56af201d80) 0 nearly-empty + vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16) + +Class std::thread::id + size=8 align=8 + base size=8 base align=8 +std::thread::id (0x0x7f56af201de0) 0 + +Class std::thread + size=8 align=8 + base size=8 base align=8 +std::thread (0x0x7f56af201d20) 0 + +Class std::condition_variable + size=48 align=8 + base size=48 base align=8 +std::condition_variable (0x0x7f56af0ea1e0) 0 + +Class std::__at_thread_exit_elt + size=16 align=8 + base size=16 base align=8 +std::__at_thread_exit_elt (0x0x7f56af0ea5a0) 0 + +Class std::_V2::condition_variable_any + size=64 align=8 + base size=64 base align=8 +std::_V2::condition_variable_any (0x0x7f56af0ea600) 0 + +Class std::__atomic_futex_unsigned_base + size=1 align=1 + base size=0 base align=1 +std::__atomic_futex_unsigned_base (0x0x7f56aee70900) 0 empty + +Vtable for std::future_error +std::future_error::_ZTVSt12future_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12future_error) +16 (int (*)(...))std::future_error::~future_error +24 (int (*)(...))std::future_error::~future_error +32 (int (*)(...))std::future_error::what + +Class std::future_error + size=32 align=8 + base size=32 base align=8 +std::future_error (0x0x7f56aee76548) 0 + vptr=((& std::future_error::_ZTVSt12future_error) + 16) + std::logic_error (0x0x7f56aee765b0) 0 + primary-for std::future_error (0x0x7f56aee76548) + std::exception (0x0x7f56aeea1060) 0 nearly-empty + primary-for std::logic_error (0x0x7f56aee765b0) + +Class std::__future_base::_Result_base::_Deleter + size=1 align=1 + base size=0 base align=1 +std::__future_base::_Result_base::_Deleter (0x0x7f56aeea1780) 0 empty + +Vtable for std::__future_base::_Result_base +std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE) +16 (int (*)(...))__cxa_pure_virtual +24 0 +32 0 + +Class std::__future_base::_Result_base + size=16 align=8 + base size=16 base align=8 +std::__future_base::_Result_base (0x0x7f56aeea1720) 0 + vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16) + +Class std::__future_base::_State_baseV2::__exception_ptr_tag + size=1 align=1 + base size=0 base align=1 +std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f56aec65ea0) 0 empty + +Class std::__future_base::_State_baseV2::_Make_ready + size=32 align=8 + base size=32 base align=8 +std::__future_base::_State_baseV2::_Make_ready (0x0x7f56aec66dd0) 0 + std::__at_thread_exit_elt (0x0x7f56aec65f60) 0 + +Vtable for std::__future_base::_State_baseV2 +std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E) +16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2 +24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2 +32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async +40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future + +Class std::__future_base::_State_baseV2 + size=32 align=8 + base size=28 base align=8 +std::__future_base::_State_baseV2 (0x0x7f56aeea1900) 0 + vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16) + +Class std::__future_base + size=1 align=1 + base size=0 base align=1 +std::__future_base (0x0x7f56aeea16c0) 0 empty + +Vtable for std::__future_base::_Async_state_commonV2 +std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E) +16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2 +24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2 +32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async +40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future + +Class std::__future_base::_Async_state_commonV2 + size=48 align=8 + base size=44 base align=8 +std::__future_base::_Async_state_commonV2 (0x0x7f56ae3ffaf8) 0 + vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16) + std::__future_base::_State_baseV2 (0x0x7f56ae41ef60) 0 + primary-for std::__future_base::_Async_state_commonV2 (0x0x7f56ae3ffaf8) + +Class QThread::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QThread::QPrivateSignal (0x0x7f56ae457840) 0 empty + +Vtable for QThread +QThread::_ZTV7QThread: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QThread) +16 (int (*)(...))QThread::metaObject +24 (int (*)(...))QThread::qt_metacast +32 (int (*)(...))QThread::qt_metacall +40 (int (*)(...))QThread::~QThread +48 (int (*)(...))QThread::~QThread +56 (int (*)(...))QThread::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QThread::run + +Class QThread + size=16 align=8 + base size=16 base align=8 +QThread (0x0x7f56ae3ffe38) 0 + vptr=((& QThread::_ZTV7QThread) + 16) + QObject (0x0x7f56ae4577e0) 0 + primary-for QThread (0x0x7f56ae3ffe38) + +Class QThreadPool::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QThreadPool::QPrivateSignal (0x0x7f56ae457c00) 0 empty + +Vtable for QThreadPool +QThreadPool::_ZTV11QThreadPool: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QThreadPool) +16 (int (*)(...))QThreadPool::metaObject +24 (int (*)(...))QThreadPool::qt_metacast +32 (int (*)(...))QThreadPool::qt_metacall +40 (int (*)(...))QThreadPool::~QThreadPool +48 (int (*)(...))QThreadPool::~QThreadPool +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QThreadPool + size=16 align=8 + base size=16 base align=8 +QThreadPool (0x0x7f56ae3ffea0) 0 + vptr=((& QThreadPool::_ZTV11QThreadPool) + 16) + QObject (0x0x7f56ae457ba0) 0 + primary-for QThreadPool (0x0x7f56ae3ffea0) + +Class QThreadStorageData + size=4 align=4 + base size=4 base align=4 +QThreadStorageData (0x0x7f56ae457de0) 0 + +Class QTimeLine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimeLine::QPrivateSignal (0x0x7f56ae49f4e0) 0 empty + +Vtable for QTimeLine +QTimeLine::_ZTV9QTimeLine: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTimeLine) +16 (int (*)(...))QTimeLine::metaObject +24 (int (*)(...))QTimeLine::qt_metacast +32 (int (*)(...))QTimeLine::qt_metacall +40 (int (*)(...))QTimeLine::~QTimeLine +48 (int (*)(...))QTimeLine::~QTimeLine +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTimeLine::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTimeLine::valueForTime + +Class QTimeLine + size=16 align=8 + base size=16 base align=8 +QTimeLine (0x0x7f56ae3fff08) 0 + vptr=((& QTimeLine::_ZTV9QTimeLine) + 16) + QObject (0x0x7f56ae49f480) 0 + primary-for QTimeLine (0x0x7f56ae3fff08) + +Class QTimer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimer::QPrivateSignal (0x0x7f56ae49f720) 0 empty + +Vtable for QTimer +QTimer::_ZTV6QTimer: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QTimer) +16 (int (*)(...))QTimer::metaObject +24 (int (*)(...))QTimer::qt_metacast +32 (int (*)(...))QTimer::qt_metacall +40 (int (*)(...))QTimer::~QTimer +48 (int (*)(...))QTimer::~QTimer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTimer::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTimer + size=32 align=8 + base size=29 base align=8 +QTimer (0x0x7f56ae3fff70) 0 + vptr=((& QTimer::_ZTV6QTimer) + 16) + QObject (0x0x7f56ae49f6c0) 0 + primary-for QTimer (0x0x7f56ae3fff70) + +Class QTimeZone::OffsetData + size=32 align=8 + base size=28 base align=8 +QTimeZone::OffsetData (0x0x7f56ae50a0c0) 0 + +Class QTimeZone + size=8 align=8 + base size=8 base align=8 +QTimeZone (0x0x7f56ae50a060) 0 + +Class QTranslator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTranslator::QPrivateSignal (0x0x7f56ae5a6180) 0 empty + +Vtable for QTranslator +QTranslator::_ZTV11QTranslator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTranslator) +16 (int (*)(...))QTranslator::metaObject +24 (int (*)(...))QTranslator::qt_metacast +32 (int (*)(...))QTranslator::qt_metacall +40 (int (*)(...))QTranslator::~QTranslator +48 (int (*)(...))QTranslator::~QTranslator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTranslator::translate +120 (int (*)(...))QTranslator::isEmpty + +Class QTranslator + size=16 align=8 + base size=16 base align=8 +QTranslator (0x0x7f56ae59d680) 0 + vptr=((& QTranslator::_ZTV11QTranslator) + 16) + QObject (0x0x7f56ae5a6120) 0 + primary-for QTranslator (0x0x7f56ae59d680) + +Class QTransposeProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTransposeProxyModel::QPrivateSignal (0x0x7f56ae5a63c0) 0 empty + +Vtable for QTransposeProxyModel +QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QTransposeProxyModel) +16 (int (*)(...))QTransposeProxyModel::metaObject +24 (int (*)(...))QTransposeProxyModel::qt_metacast +32 (int (*)(...))QTransposeProxyModel::qt_metacall +40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel +48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTransposeProxyModel::index +120 (int (*)(...))QTransposeProxyModel::parent +128 (int (*)(...))QAbstractProxyModel::sibling +136 (int (*)(...))QTransposeProxyModel::rowCount +144 (int (*)(...))QTransposeProxyModel::columnCount +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QTransposeProxyModel::headerData +184 (int (*)(...))QTransposeProxyModel::setHeaderData +192 (int (*)(...))QTransposeProxyModel::itemData +200 (int (*)(...))QTransposeProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::mimeTypes +216 (int (*)(...))QAbstractProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QAbstractProxyModel::dropMimeData +240 (int (*)(...))QAbstractProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QTransposeProxyModel::insertRows +264 (int (*)(...))QTransposeProxyModel::insertColumns +272 (int (*)(...))QTransposeProxyModel::removeRows +280 (int (*)(...))QTransposeProxyModel::removeColumns +288 (int (*)(...))QTransposeProxyModel::moveRows +296 (int (*)(...))QTransposeProxyModel::moveColumns +304 (int (*)(...))QAbstractProxyModel::fetchMore +312 (int (*)(...))QAbstractProxyModel::canFetchMore +320 (int (*)(...))QAbstractProxyModel::flags +328 (int (*)(...))QTransposeProxyModel::sort +336 (int (*)(...))QAbstractProxyModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QTransposeProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QTransposeProxyModel::setSourceModel +392 (int (*)(...))QTransposeProxyModel::mapToSource +400 (int (*)(...))QTransposeProxyModel::mapFromSource +408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource +416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource + +Class QTransposeProxyModel + size=16 align=8 + base size=16 base align=8 +QTransposeProxyModel (0x0x7f56ae59d6e8) 0 + vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16) + QAbstractProxyModel (0x0x7f56ae59d750) 0 + primary-for QTransposeProxyModel (0x0x7f56ae59d6e8) + QAbstractItemModel (0x0x7f56ae59d7b8) 0 + primary-for QAbstractProxyModel (0x0x7f56ae59d750) + QObject (0x0x7f56ae5a6360) 0 + primary-for QAbstractItemModel (0x0x7f56ae59d7b8) + +Class QUrlQuery + size=8 align=8 + base size=8 base align=8 +QUrlQuery (0x0x7f56ae5a65a0) 0 + +Class QWaitCondition + size=8 align=8 + base size=8 base align=8 +QWaitCondition (0x0x7f56ae2a2a80) 0 + +Class QXmlStreamStringRef + size=16 align=8 + base size=16 base align=8 +QXmlStreamStringRef (0x0x7f56ae2a2ba0) 0 + +Class QXmlStreamAttribute + size=80 align=8 + base size=73 base align=8 +QXmlStreamAttribute (0x0x7f56ae338f60) 0 + +Class QXmlStreamAttributes + size=8 align=8 + base size=8 base align=8 +QXmlStreamAttributes (0x0x7f56ae3aea90) 0 + QVector (0x0x7f56ae3b36c0) 0 + +Class QXmlStreamNamespaceDeclaration + size=40 align=8 + base size=40 base align=8 +QXmlStreamNamespaceDeclaration (0x0x7f56ae3b39c0) 0 + +Class QXmlStreamNotationDeclaration + size=56 align=8 + base size=56 base align=8 +QXmlStreamNotationDeclaration (0x0x7f56ae039960) 0 + +Class QXmlStreamEntityDeclaration + size=88 align=8 + base size=88 base align=8 +QXmlStreamEntityDeclaration (0x0x7f56ae097960) 0 + +Vtable for QXmlStreamEntityResolver +QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver) +16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver +24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver +32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity +40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity + +Class QXmlStreamEntityResolver + size=8 align=8 + base size=8 base align=8 +QXmlStreamEntityResolver (0x0x7f56ae101a20) 0 nearly-empty + vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16) + +Class QXmlStreamReader + size=8 align=8 + base size=8 base align=8 +QXmlStreamReader (0x0x7f56ae101a80) 0 + +Class QXmlStreamWriter + size=8 align=8 + base size=8 base align=8 +QXmlStreamWriter (0x0x7f56ae13f960) 0 + +Class QRgba64 + size=8 align=8 + base size=8 base align=8 +QRgba64 (0x0x7f56ae13ff60) 0 + +Class QColor::CT + size=10 align=2 + base size=10 base align=2 +QColor::CT (0x0x7f56ade30060) 0 + +Class QColor + size=16 align=4 + base size=14 base align=4 +QColor (0x0x7f56ade30000) 0 + +Class QRegion::QRegionData + size=16 align=8 + base size=16 base align=8 +QRegion::QRegionData (0x0x7f56adedcf00) 0 + +Class QRegion + size=8 align=8 + base size=8 base align=8 +QRegion (0x0x7f56adedcea0) 0 + +Class QKeySequence + size=8 align=8 + base size=8 base align=8 +QKeySequence (0x0x7f56adc64b40) 0 + +Class QVector2D + size=8 align=4 + base size=8 base align=4 +QVector2D (0x0x7f56add4e6c0) 0 + +Class QTouchDevice + size=8 align=8 + base size=8 base align=8 +QTouchDevice (0x0x7f56addba780) 0 + +Vtable for QInputEvent +QInputEvent::_ZTV11QInputEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QInputEvent) +16 (int (*)(...))QInputEvent::~QInputEvent +24 (int (*)(...))QInputEvent::~QInputEvent + +Class QInputEvent + size=32 align=8 + base size=32 base align=8 +QInputEvent (0x0x7f56adda91a0) 0 + vptr=((& QInputEvent::_ZTV11QInputEvent) + 16) + QEvent (0x0x7f56ada09060) 0 + primary-for QInputEvent (0x0x7f56adda91a0) + +Vtable for QEnterEvent +QEnterEvent::_ZTV11QEnterEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QEnterEvent) +16 (int (*)(...))QEnterEvent::~QEnterEvent +24 (int (*)(...))QEnterEvent::~QEnterEvent + +Class QEnterEvent + size=72 align=8 + base size=72 base align=8 +QEnterEvent (0x0x7f56adda9208) 0 + vptr=((& QEnterEvent::_ZTV11QEnterEvent) + 16) + QEvent (0x0x7f56ada09240) 0 + primary-for QEnterEvent (0x0x7f56adda9208) + +Vtable for QMouseEvent +QMouseEvent::_ZTV11QMouseEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QMouseEvent) +16 (int (*)(...))QMouseEvent::~QMouseEvent +24 (int (*)(...))QMouseEvent::~QMouseEvent + +Class QMouseEvent + size=104 align=8 + base size=100 base align=8 +QMouseEvent (0x0x7f56adda9270) 0 + vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16) + QInputEvent (0x0x7f56adda92d8) 0 + primary-for QMouseEvent (0x0x7f56adda9270) + QEvent (0x0x7f56ada09600) 0 + primary-for QInputEvent (0x0x7f56adda92d8) + +Vtable for QHoverEvent +QHoverEvent::_ZTV11QHoverEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHoverEvent) +16 (int (*)(...))QHoverEvent::~QHoverEvent +24 (int (*)(...))QHoverEvent::~QHoverEvent + +Class QHoverEvent + size=64 align=8 + base size=64 base align=8 +QHoverEvent (0x0x7f56adda9340) 0 + vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16) + QInputEvent (0x0x7f56adda93a8) 0 + primary-for QHoverEvent (0x0x7f56adda9340) + QEvent (0x0x7f56ada09ae0) 0 + primary-for QInputEvent (0x0x7f56adda93a8) + +Vtable for QWheelEvent +QWheelEvent::_ZTV11QWheelEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QWheelEvent) +16 (int (*)(...))QWheelEvent::~QWheelEvent +24 (int (*)(...))QWheelEvent::~QWheelEvent + +Class QWheelEvent + size=96 align=8 + base size=96 base align=8 +QWheelEvent (0x0x7f56adda9410) 0 + vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16) + QInputEvent (0x0x7f56adda9478) 0 + primary-for QWheelEvent (0x0x7f56adda9410) + QEvent (0x0x7f56ada09cc0) 0 + primary-for QInputEvent (0x0x7f56adda9478) + +Vtable for QTabletEvent +QTabletEvent::_ZTV12QTabletEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QTabletEvent) +16 (int (*)(...))QTabletEvent::~QTabletEvent +24 (int (*)(...))QTabletEvent::~QTabletEvent + +Class QTabletEvent + size=128 align=8 + base size=128 base align=8 +QTabletEvent (0x0x7f56adda94e0) 0 + vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16) + QInputEvent (0x0x7f56adda9548) 0 + primary-for QTabletEvent (0x0x7f56adda94e0) + QEvent (0x0x7f56ada52420) 0 + primary-for QInputEvent (0x0x7f56adda9548) + +Vtable for QNativeGestureEvent +QNativeGestureEvent::_ZTV19QNativeGestureEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QNativeGestureEvent) +16 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent +24 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent + +Class QNativeGestureEvent + size=112 align=8 + base size=112 base align=8 +QNativeGestureEvent (0x0x7f56adda95b0) 0 + vptr=((& QNativeGestureEvent::_ZTV19QNativeGestureEvent) + 16) + QInputEvent (0x0x7f56adda9618) 0 + primary-for QNativeGestureEvent (0x0x7f56adda95b0) + QEvent (0x0x7f56ada52d20) 0 + primary-for QInputEvent (0x0x7f56adda9618) + +Vtable for QKeyEvent +QKeyEvent::_ZTV9QKeyEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QKeyEvent) +16 (int (*)(...))QKeyEvent::~QKeyEvent +24 (int (*)(...))QKeyEvent::~QKeyEvent + +Class QKeyEvent + size=64 align=8 + base size=59 base align=8 +QKeyEvent (0x0x7f56adda9680) 0 + vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16) + QInputEvent (0x0x7f56adda96e8) 0 + primary-for QKeyEvent (0x0x7f56adda9680) + QEvent (0x0x7f56ada82060) 0 + primary-for QInputEvent (0x0x7f56adda96e8) + +Vtable for QFocusEvent +QFocusEvent::_ZTV11QFocusEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFocusEvent) +16 (int (*)(...))QFocusEvent::~QFocusEvent +24 (int (*)(...))QFocusEvent::~QFocusEvent + +Class QFocusEvent + size=24 align=8 + base size=24 base align=8 +QFocusEvent (0x0x7f56adda9750) 0 + vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16) + QEvent (0x0x7f56ada82360) 0 + primary-for QFocusEvent (0x0x7f56adda9750) + +Vtable for QPaintEvent +QPaintEvent::_ZTV11QPaintEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QPaintEvent) +16 (int (*)(...))QPaintEvent::~QPaintEvent +24 (int (*)(...))QPaintEvent::~QPaintEvent + +Class QPaintEvent + size=56 align=8 + base size=49 base align=8 +QPaintEvent (0x0x7f56adda97b8) 0 + vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16) + QEvent (0x0x7f56ada82480) 0 + primary-for QPaintEvent (0x0x7f56adda97b8) + +Vtable for QMoveEvent +QMoveEvent::_ZTV10QMoveEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QMoveEvent) +16 (int (*)(...))QMoveEvent::~QMoveEvent +24 (int (*)(...))QMoveEvent::~QMoveEvent + +Class QMoveEvent + size=40 align=8 + base size=36 base align=8 +QMoveEvent (0x0x7f56adda9820) 0 + vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16) + QEvent (0x0x7f56ada825a0) 0 + primary-for QMoveEvent (0x0x7f56adda9820) + +Vtable for QExposeEvent +QExposeEvent::_ZTV12QExposeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QExposeEvent) +16 (int (*)(...))QExposeEvent::~QExposeEvent +24 (int (*)(...))QExposeEvent::~QExposeEvent + +Class QExposeEvent + size=32 align=8 + base size=32 base align=8 +QExposeEvent (0x0x7f56adda9888) 0 + vptr=((& QExposeEvent::_ZTV12QExposeEvent) + 16) + QEvent (0x0x7f56ada826c0) 0 + primary-for QExposeEvent (0x0x7f56adda9888) + +Vtable for QPlatformSurfaceEvent +QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QPlatformSurfaceEvent) +16 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent +24 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent + +Class QPlatformSurfaceEvent + size=24 align=8 + base size=24 base align=8 +QPlatformSurfaceEvent (0x0x7f56adda98f0) 0 + vptr=((& QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent) + 16) + QEvent (0x0x7f56ada82780) 0 + primary-for QPlatformSurfaceEvent (0x0x7f56adda98f0) + +Vtable for QResizeEvent +QResizeEvent::_ZTV12QResizeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QResizeEvent) +16 (int (*)(...))QResizeEvent::~QResizeEvent +24 (int (*)(...))QResizeEvent::~QResizeEvent + +Class QResizeEvent + size=40 align=8 + base size=36 base align=8 +QResizeEvent (0x0x7f56adda9958) 0 + vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16) + QEvent (0x0x7f56ada82840) 0 + primary-for QResizeEvent (0x0x7f56adda9958) + +Vtable for QCloseEvent +QCloseEvent::_ZTV11QCloseEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QCloseEvent) +16 (int (*)(...))QCloseEvent::~QCloseEvent +24 (int (*)(...))QCloseEvent::~QCloseEvent + +Class QCloseEvent + size=24 align=8 + base size=20 base align=8 +QCloseEvent (0x0x7f56adda99c0) 0 + vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16) + QEvent (0x0x7f56ada82960) 0 + primary-for QCloseEvent (0x0x7f56adda99c0) + +Vtable for QIconDragEvent +QIconDragEvent::_ZTV14QIconDragEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QIconDragEvent) +16 (int (*)(...))QIconDragEvent::~QIconDragEvent +24 (int (*)(...))QIconDragEvent::~QIconDragEvent + +Class QIconDragEvent + size=24 align=8 + base size=20 base align=8 +QIconDragEvent (0x0x7f56adda9a28) 0 + vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16) + QEvent (0x0x7f56ada829c0) 0 + primary-for QIconDragEvent (0x0x7f56adda9a28) + +Vtable for QShowEvent +QShowEvent::_ZTV10QShowEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QShowEvent) +16 (int (*)(...))QShowEvent::~QShowEvent +24 (int (*)(...))QShowEvent::~QShowEvent + +Class QShowEvent + size=24 align=8 + base size=20 base align=8 +QShowEvent (0x0x7f56adda9a90) 0 + vptr=((& QShowEvent::_ZTV10QShowEvent) + 16) + QEvent (0x0x7f56ada82a20) 0 + primary-for QShowEvent (0x0x7f56adda9a90) + +Vtable for QHideEvent +QHideEvent::_ZTV10QHideEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QHideEvent) +16 (int (*)(...))QHideEvent::~QHideEvent +24 (int (*)(...))QHideEvent::~QHideEvent + +Class QHideEvent + size=24 align=8 + base size=20 base align=8 +QHideEvent (0x0x7f56adda9af8) 0 + vptr=((& QHideEvent::_ZTV10QHideEvent) + 16) + QEvent (0x0x7f56ada82a80) 0 + primary-for QHideEvent (0x0x7f56adda9af8) + +Vtable for QContextMenuEvent +QContextMenuEvent::_ZTV17QContextMenuEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QContextMenuEvent) +16 (int (*)(...))QContextMenuEvent::~QContextMenuEvent +24 (int (*)(...))QContextMenuEvent::~QContextMenuEvent + +Class QContextMenuEvent + size=56 align=8 + base size=49 base align=8 +QContextMenuEvent (0x0x7f56adda9b60) 0 + vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16) + QInputEvent (0x0x7f56adda9bc8) 0 + primary-for QContextMenuEvent (0x0x7f56adda9b60) + QEvent (0x0x7f56ada82ae0) 0 + primary-for QInputEvent (0x0x7f56adda9bc8) + +Class QInputMethodEvent::Attribute + size=32 align=8 + base size=32 base align=8 +QInputMethodEvent::Attribute (0x0x7f56ada82e40) 0 + +Vtable for QInputMethodEvent +QInputMethodEvent::_ZTV17QInputMethodEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QInputMethodEvent) +16 (int (*)(...))QInputMethodEvent::~QInputMethodEvent +24 (int (*)(...))QInputMethodEvent::~QInputMethodEvent + +Class QInputMethodEvent + size=56 align=8 + base size=56 base align=8 +QInputMethodEvent (0x0x7f56adda9c30) 0 + vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16) + QEvent (0x0x7f56ada82de0) 0 + primary-for QInputMethodEvent (0x0x7f56adda9c30) + +Class QInputMethodQueryEvent::QueryPair + size=24 align=8 + base size=24 base align=8 +QInputMethodQueryEvent::QueryPair (0x0x7f56adb481e0) 0 + +Vtable for QInputMethodQueryEvent +QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QInputMethodQueryEvent) +16 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent +24 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent + +Class QInputMethodQueryEvent + size=32 align=8 + base size=32 base align=8 +QInputMethodQueryEvent (0x0x7f56adb34e38) 0 + vptr=((& QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent) + 16) + QEvent (0x0x7f56adb48180) 0 + primary-for QInputMethodQueryEvent (0x0x7f56adb34e38) + +Vtable for QDropEvent +QDropEvent::_ZTV10QDropEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QDropEvent) +16 (int (*)(...))QDropEvent::~QDropEvent +24 (int (*)(...))QDropEvent::~QDropEvent + +Class QDropEvent + size=72 align=8 + base size=72 base align=8 +QDropEvent (0x0x7f56adbaaf08) 0 + vptr=((& QDropEvent::_ZTV10QDropEvent) + 16) + QEvent (0x0x7f56adba5f00) 0 + primary-for QDropEvent (0x0x7f56adbaaf08) + +Vtable for QDragMoveEvent +QDragMoveEvent::_ZTV14QDragMoveEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QDragMoveEvent) +16 (int (*)(...))QDragMoveEvent::~QDragMoveEvent +24 (int (*)(...))QDragMoveEvent::~QDragMoveEvent + +Class QDragMoveEvent + size=88 align=8 + base size=88 base align=8 +QDragMoveEvent (0x0x7f56adbaaf70) 0 + vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16) + QDropEvent (0x0x7f56adbd2000) 0 + primary-for QDragMoveEvent (0x0x7f56adbaaf70) + QEvent (0x0x7f56adbce300) 0 + primary-for QDropEvent (0x0x7f56adbd2000) + +Vtable for QDragEnterEvent +QDragEnterEvent::_ZTV15QDragEnterEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QDragEnterEvent) +16 (int (*)(...))QDragEnterEvent::~QDragEnterEvent +24 (int (*)(...))QDragEnterEvent::~QDragEnterEvent + +Class QDragEnterEvent + size=88 align=8 + base size=88 base align=8 +QDragEnterEvent (0x0x7f56adbd2068) 0 + vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16) + QDragMoveEvent (0x0x7f56adbd20d0) 0 + primary-for QDragEnterEvent (0x0x7f56adbd2068) + QDropEvent (0x0x7f56adbd2138) 0 + primary-for QDragMoveEvent (0x0x7f56adbd20d0) + QEvent (0x0x7f56adbce540) 0 + primary-for QDropEvent (0x0x7f56adbd2138) + +Vtable for QDragLeaveEvent +QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QDragLeaveEvent) +16 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent +24 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent + +Class QDragLeaveEvent + size=24 align=8 + base size=20 base align=8 +QDragLeaveEvent (0x0x7f56adbd21a0) 0 + vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16) + QEvent (0x0x7f56adbce5a0) 0 + primary-for QDragLeaveEvent (0x0x7f56adbd21a0) + +Vtable for QHelpEvent +QHelpEvent::_ZTV10QHelpEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QHelpEvent) +16 (int (*)(...))QHelpEvent::~QHelpEvent +24 (int (*)(...))QHelpEvent::~QHelpEvent + +Class QHelpEvent + size=40 align=8 + base size=36 base align=8 +QHelpEvent (0x0x7f56adbd2208) 0 + vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16) + QEvent (0x0x7f56adbce600) 0 + primary-for QHelpEvent (0x0x7f56adbd2208) + +Vtable for QStatusTipEvent +QStatusTipEvent::_ZTV15QStatusTipEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QStatusTipEvent) +16 (int (*)(...))QStatusTipEvent::~QStatusTipEvent +24 (int (*)(...))QStatusTipEvent::~QStatusTipEvent + +Class QStatusTipEvent + size=32 align=8 + base size=32 base align=8 +QStatusTipEvent (0x0x7f56adbd2270) 0 + vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16) + QEvent (0x0x7f56adbce8a0) 0 + primary-for QStatusTipEvent (0x0x7f56adbd2270) + +Vtable for QWhatsThisClickedEvent +QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent) +16 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent +24 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent + +Class QWhatsThisClickedEvent + size=32 align=8 + base size=32 base align=8 +QWhatsThisClickedEvent (0x0x7f56adbd22d8) 0 + vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16) + QEvent (0x0x7f56adbce960) 0 + primary-for QWhatsThisClickedEvent (0x0x7f56adbd22d8) + +Vtable for QActionEvent +QActionEvent::_ZTV12QActionEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QActionEvent) +16 (int (*)(...))QActionEvent::~QActionEvent +24 (int (*)(...))QActionEvent::~QActionEvent + +Class QActionEvent + size=40 align=8 + base size=40 base align=8 +QActionEvent (0x0x7f56adbd2340) 0 + vptr=((& QActionEvent::_ZTV12QActionEvent) + 16) + QEvent (0x0x7f56adbcea20) 0 + primary-for QActionEvent (0x0x7f56adbd2340) + +Vtable for QFileOpenEvent +QFileOpenEvent::_ZTV14QFileOpenEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QFileOpenEvent) +16 (int (*)(...))QFileOpenEvent::~QFileOpenEvent +24 (int (*)(...))QFileOpenEvent::~QFileOpenEvent + +Class QFileOpenEvent + size=40 align=8 + base size=40 base align=8 +QFileOpenEvent (0x0x7f56adbd23a8) 0 + vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16) + QEvent (0x0x7f56adbceb40) 0 + primary-for QFileOpenEvent (0x0x7f56adbd23a8) + +Vtable for QToolBarChangeEvent +QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QToolBarChangeEvent) +16 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent +24 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent + +Class QToolBarChangeEvent + size=24 align=8 + base size=21 base align=8 +QToolBarChangeEvent (0x0x7f56adbd2410) 0 + vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16) + QEvent (0x0x7f56adbcec60) 0 + primary-for QToolBarChangeEvent (0x0x7f56adbd2410) + +Vtable for QShortcutEvent +QShortcutEvent::_ZTV14QShortcutEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QShortcutEvent) +16 (int (*)(...))QShortcutEvent::~QShortcutEvent +24 (int (*)(...))QShortcutEvent::~QShortcutEvent + +Class QShortcutEvent + size=40 align=8 + base size=40 base align=8 +QShortcutEvent (0x0x7f56adbd2478) 0 + vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16) + QEvent (0x0x7f56adbced20) 0 + primary-for QShortcutEvent (0x0x7f56adbd2478) + +Vtable for QWindowStateChangeEvent +QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent) +16 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent +24 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent + +Class QWindowStateChangeEvent + size=32 align=8 + base size=25 base align=8 +QWindowStateChangeEvent (0x0x7f56adbd24e0) 0 + vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16) + QEvent (0x0x7f56adbceea0) 0 + primary-for QWindowStateChangeEvent (0x0x7f56adbd24e0) + +Class QPointingDeviceUniqueId + size=8 align=8 + base size=8 base align=8 +QPointingDeviceUniqueId (0x0x7f56ad80a060) 0 + +Class QTouchEvent::TouchPoint + size=8 align=8 + base size=8 base align=8 +QTouchEvent::TouchPoint (0x0x7f56ad855420) 0 + +Vtable for QTouchEvent +QTouchEvent::_ZTV11QTouchEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTouchEvent) +16 (int (*)(...))QTouchEvent::~QTouchEvent +24 (int (*)(...))QTouchEvent::~QTouchEvent + +Class QTouchEvent + size=72 align=8 + base size=72 base align=8 +QTouchEvent (0x0x7f56ad847d00) 0 + vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16) + QInputEvent (0x0x7f56ad847d68) 0 + primary-for QTouchEvent (0x0x7f56ad847d00) + QEvent (0x0x7f56ad8553c0) 0 + primary-for QInputEvent (0x0x7f56ad847d68) + +Vtable for QScrollPrepareEvent +QScrollPrepareEvent::_ZTV19QScrollPrepareEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QScrollPrepareEvent) +16 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent +24 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent + +Class QScrollPrepareEvent + size=112 align=8 + base size=112 base align=8 +QScrollPrepareEvent (0x0x7f56ad95ba28) 0 + vptr=((& QScrollPrepareEvent::_ZTV19QScrollPrepareEvent) + 16) + QEvent (0x0x7f56ad95e9c0) 0 + primary-for QScrollPrepareEvent (0x0x7f56ad95ba28) + +Vtable for QScrollEvent +QScrollEvent::_ZTV12QScrollEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QScrollEvent) +16 (int (*)(...))QScrollEvent::~QScrollEvent +24 (int (*)(...))QScrollEvent::~QScrollEvent + +Class QScrollEvent + size=64 align=8 + base size=60 base align=8 +QScrollEvent (0x0x7f56ad95ba90) 0 + vptr=((& QScrollEvent::_ZTV12QScrollEvent) + 16) + QEvent (0x0x7f56ad95ea20) 0 + primary-for QScrollEvent (0x0x7f56ad95ba90) + +Vtable for QScreenOrientationChangeEvent +QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QScreenOrientationChangeEvent) +16 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent +24 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent + +Class QScreenOrientationChangeEvent + size=40 align=8 + base size=36 base align=8 +QScreenOrientationChangeEvent (0x0x7f56ad95baf8) 0 + vptr=((& QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent) + 16) + QEvent (0x0x7f56ad95ea80) 0 + primary-for QScreenOrientationChangeEvent (0x0x7f56ad95baf8) + +Vtable for QApplicationStateChangeEvent +QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QApplicationStateChangeEvent) +16 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent +24 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent + +Class QApplicationStateChangeEvent + size=24 align=8 + base size=24 base align=8 +QApplicationStateChangeEvent (0x0x7f56ad95bb60) 0 + vptr=((& QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent) + 16) + QEvent (0x0x7f56ad95eae0) 0 + primary-for QApplicationStateChangeEvent (0x0x7f56ad95bb60) + +Class QFont + size=16 align=8 + base size=12 base align=8 +QFont (0x0x7f56ad95eb40) 0 + +Class QPolygon + size=8 align=8 + base size=8 base align=8 +QPolygon (0x0x7f56ad6dc000) 0 + QVector (0x0x7f56ad691ba0) 0 + +Class QPolygonF + size=8 align=8 + base size=8 base align=8 +QPolygonF (0x0x7f56ad742340) 0 + QVector (0x0x7f56ad737cc0) 0 + +Class QMatrix + size=48 align=8 + base size=48 base align=8 +QMatrix (0x0x7f56ad7d6ba0) 0 + +Class QPainterPath::Element + size=24 align=8 + base size=24 base align=8 +QPainterPath::Element (0x0x7f56ad4409c0) 0 + +Class QPainterPath + size=8 align=8 + base size=8 base align=8 +QPainterPath (0x0x7f56ad440960) 0 + +Class QPainterPathStroker + size=8 align=8 + base size=8 base align=8 +QPainterPathStroker (0x0x7f56ad57cd20) 0 + +Class QTransform + size=88 align=8 + base size=88 base align=8 +QTransform (0x0x7f56ad5ac420) 0 + +Vtable for QPaintDevice +QPaintDevice::_ZTV12QPaintDevice: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QPaintDevice) +16 0 +24 0 +32 (int (*)(...))QPaintDevice::devType +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QPaintDevice::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QPaintDevice + size=24 align=8 + base size=24 base align=8 +QPaintDevice (0x0x7f56ad22eea0) 0 + vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16) + +Class QPixelFormat + size=8 align=8 + base size=8 base align=8 +QPixelFormat (0x0x7f56ad27f4e0) 0 + +Vtable for QImage +QImage::_ZTV6QImage: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QImage) +16 (int (*)(...))QImage::~QImage +24 (int (*)(...))QImage::~QImage +32 (int (*)(...))QImage::devType +40 (int (*)(...))QImage::paintEngine +48 (int (*)(...))QImage::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QImage + size=32 align=8 + base size=32 base align=8 +QImage (0x0x7f56ad3251a0) 0 + vptr=((& QImage::_ZTV6QImage) + 16) + QPaintDevice (0x0x7f56ad31ade0) 0 + primary-for QImage (0x0x7f56ad3251a0) + +Vtable for QPixmap +QPixmap::_ZTV7QPixmap: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QPixmap) +16 (int (*)(...))QPixmap::~QPixmap +24 (int (*)(...))QPixmap::~QPixmap +32 (int (*)(...))QPixmap::devType +40 (int (*)(...))QPixmap::paintEngine +48 (int (*)(...))QPixmap::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QPixmap + size=32 align=8 + base size=32 base align=8 +QPixmap (0x0x7f56ad025bc8) 0 + vptr=((& QPixmap::_ZTV7QPixmap) + 16) + QPaintDevice (0x0x7f56ad031ba0) 0 + primary-for QPixmap (0x0x7f56ad025bc8) + +Class QBrush + size=8 align=8 + base size=8 base align=8 +QBrush (0x0x7f56ad10aea0) 0 + +Class QBrushData + size=112 align=8 + base size=112 base align=8 +QBrushData (0x0x7f56ad1e6420) 0 + +Class QGradient + size=64 align=8 + base size=64 base align=8 +QGradient (0x0x7f56ad1e6660) 0 + +Class QLinearGradient + size=64 align=8 + base size=64 base align=8 +QLinearGradient (0x0x7f56ad1e35b0) 0 + QGradient (0x0x7f56ad1e6d80) 0 + +Class QRadialGradient + size=64 align=8 + base size=64 base align=8 +QRadialGradient (0x0x7f56ad1e3618) 0 + QGradient (0x0x7f56ad1e6ea0) 0 + +Class QConicalGradient + size=64 align=8 + base size=64 base align=8 +QConicalGradient (0x0x7f56ad1e3680) 0 + QGradient (0x0x7f56ace59000) 0 + +Class QPen + size=8 align=8 + base size=8 base align=8 +QPen (0x0x7f56ace590c0) 0 + +Class QTextOption::Tab + size=16 align=8 + base size=14 base align=8 +QTextOption::Tab (0x0x7f56acf0fa20) 0 + +Class QTextOption + size=32 align=8 + base size=32 base align=8 +QTextOption (0x0x7f56acf0f9c0) 0 + +Class QTextLength + size=16 align=8 + base size=16 base align=8 +QTextLength (0x0x7f56acf7d180) 0 + +Class QTextFormat + size=16 align=8 + base size=12 base align=8 +QTextFormat (0x0x7f56acfd2ae0) 0 + +Class QTextCharFormat + size=16 align=8 + base size=12 base align=8 +QTextCharFormat (0x0x7f56acd3f3a8) 0 + QTextFormat (0x0x7f56acd671e0) 0 + +Class QTextBlockFormat + size=16 align=8 + base size=12 base align=8 +QTextBlockFormat (0x0x7f56acde47b8) 0 + QTextFormat (0x0x7f56acde1ba0) 0 + +Class QTextListFormat + size=16 align=8 + base size=12 base align=8 +QTextListFormat (0x0x7f56aca38d00) 0 + QTextFormat (0x0x7f56aca44960) 0 + +Class QTextImageFormat + size=16 align=8 + base size=12 base align=8 +QTextImageFormat (0x0x7f56aca97138) 0 + QTextCharFormat (0x0x7f56aca971a0) 0 + QTextFormat (0x0x7f56aca9e120) 0 + +Class QTextFrameFormat + size=16 align=8 + base size=12 base align=8 +QTextFrameFormat (0x0x7f56acada6e8) 0 + QTextFormat (0x0x7f56acadb780) 0 + +Class QTextTableFormat + size=16 align=8 + base size=12 base align=8 +QTextTableFormat (0x0x7f56acb2bc30) 0 + QTextFrameFormat (0x0x7f56acb2bc98) 0 + QTextFormat (0x0x7f56acb423c0) 0 + +Class QTextTableCellFormat + size=16 align=8 + base size=12 base align=8 +QTextTableCellFormat (0x0x7f56acb9a208) 0 + QTextCharFormat (0x0x7f56acb9a270) 0 + QTextFormat (0x0x7f56acb85d20) 0 + +Class QFontDatabase + size=8 align=8 + base size=8 base align=8 +QFontDatabase (0x0x7f56ac7f3ba0) 0 + +Class QRawFont + size=8 align=8 + base size=8 base align=8 +QRawFont (0x0x7f56ac7f3d80) 0 + +Class QGlyphRun + size=8 align=8 + base size=8 base align=8 +QGlyphRun (0x0x7f56ac9155a0) 0 + +Class QTextCursor + size=8 align=8 + base size=8 base align=8 +QTextCursor (0x0x7f56ac5e94e0) 0 + +Class QTextInlineObject + size=16 align=8 + base size=16 base align=8 +QTextInlineObject (0x0x7f56ac6c5180) 0 + +Class QTextLayout::FormatRange + size=24 align=8 + base size=24 base align=8 +QTextLayout::FormatRange (0x0x7f56ac6c55a0) 0 + +Class QTextLayout + size=8 align=8 + base size=8 base align=8 +QTextLayout (0x0x7f56ac6c5540) 0 + +Class QTextLine + size=16 align=8 + base size=16 base align=8 +QTextLine (0x0x7f56ac75bc60) 0 + +Vtable for QAbstractUndoItem +QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAbstractUndoItem) +16 (int (*)(...))__cxa_pure_virtual +24 (int (*)(...))__cxa_pure_virtual +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QAbstractUndoItem + size=8 align=8 + base size=8 base align=8 +QAbstractUndoItem (0x0x7f56ac785120) 0 nearly-empty + vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16) + +Class QTextDocument::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextDocument::QPrivateSignal (0x0x7f56ac7853c0) 0 empty + +Vtable for QTextDocument +QTextDocument::_ZTV13QTextDocument: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QTextDocument) +16 (int (*)(...))QTextDocument::metaObject +24 (int (*)(...))QTextDocument::qt_metacast +32 (int (*)(...))QTextDocument::qt_metacall +40 (int (*)(...))QTextDocument::~QTextDocument +48 (int (*)(...))QTextDocument::~QTextDocument +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTextDocument::clear +120 (int (*)(...))QTextDocument::createObject +128 (int (*)(...))QTextDocument::loadResource + +Class QTextDocument + size=16 align=8 + base size=16 base align=8 +QTextDocument (0x0x7f56ac76ca28) 0 + vptr=((& QTextDocument::_ZTV13QTextDocument) + 16) + QObject (0x0x7f56ac785360) 0 + primary-for QTextDocument (0x0x7f56ac76ca28) + +Class QPalette::Data + size=4 align=4 + base size=4 base align=4 +QPalette::Data (0x0x7f56ac3f73c0) 0 + +Class QPalette + size=16 align=8 + base size=12 base align=8 +QPalette (0x0x7f56ac3f7360) 0 + +Class QAbstractTextDocumentLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractTextDocumentLayout::QPrivateSignal (0x0x7f56ac4df780) 0 empty + +Class QAbstractTextDocumentLayout::Selection + size=24 align=8 + base size=24 base align=8 +QAbstractTextDocumentLayout::Selection (0x0x7f56ac4df7e0) 0 + +Class QAbstractTextDocumentLayout::PaintContext + size=64 align=8 + base size=64 base align=8 +QAbstractTextDocumentLayout::PaintContext (0x0x7f56ac4df840) 0 + +Vtable for QAbstractTextDocumentLayout +QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout) +16 (int (*)(...))QAbstractTextDocumentLayout::metaObject +24 (int (*)(...))QAbstractTextDocumentLayout::qt_metacast +32 (int (*)(...))QAbstractTextDocumentLayout::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject +176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject +184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject + +Class QAbstractTextDocumentLayout + size=16 align=8 + base size=16 base align=8 +QAbstractTextDocumentLayout (0x0x7f56ac4d7820) 0 + vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16) + QObject (0x0x7f56ac4df720) 0 + primary-for QAbstractTextDocumentLayout (0x0x7f56ac4d7820) + +Vtable for QTextObjectInterface +QTextObjectInterface::_ZTV20QTextObjectInterface: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QTextObjectInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QTextObjectInterface + size=8 align=8 + base size=8 base align=8 +QTextObjectInterface (0x0x7f56ac5ad420) 0 nearly-empty + vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16) + +Class QAccessible::State + size=8 align=8 + base size=5 base align=8 +QAccessible::State (0x0x7f56ac5ad660) 0 + +Vtable for QAccessible::ActivationObserver +QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN11QAccessible18ActivationObserverE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QAccessible::ActivationObserver + size=8 align=8 + base size=8 base align=8 +QAccessible::ActivationObserver (0x0x7f56ac5ad6c0) 0 nearly-empty + vptr=((& QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE) + 16) + +Class QAccessible + size=1 align=1 + base size=0 base align=1 +QAccessible (0x0x7f56ac5ad600) 0 empty + +Vtable for QAccessibleInterface +QAccessibleInterface::_ZTV20QAccessibleInterface: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QAccessibleInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QAccessibleInterface::window +56 (int (*)(...))QAccessibleInterface::relations +64 (int (*)(...))QAccessibleInterface::focusChild +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAccessibleInterface::foregroundColor +160 (int (*)(...))QAccessibleInterface::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleInterface::interface_cast + +Class QAccessibleInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleInterface (0x0x7f56ac1ff2a0) 0 nearly-empty + vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16) + +Vtable for QAccessibleTextInterface +QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAccessibleTextInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))QAccessibleTextInterface::textBeforeOffset +104 (int (*)(...))QAccessibleTextInterface::textAfterOffset +112 (int (*)(...))QAccessibleTextInterface::textAtOffset +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleTextInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleTextInterface (0x0x7f56ac1ff600) 0 nearly-empty + vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16) + +Vtable for QAccessibleEditableTextInterface +QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleEditableTextInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleEditableTextInterface (0x0x7f56ac1ff660) 0 nearly-empty + vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16) + +Vtable for QAccessibleValueInterface +QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAccessibleValueInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleValueInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleValueInterface (0x0x7f56ac1ff6c0) 0 nearly-empty + vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16) + +Vtable for QAccessibleTableCellInterface +QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface: 12 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QAccessibleTableCellInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleTableCellInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleTableCellInterface (0x0x7f56ac1ff720) 0 nearly-empty + vptr=((& QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface) + 16) + +Vtable for QAccessibleTableInterface +QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAccessibleTableInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleTableInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleTableInterface (0x0x7f56ac1ff780) 0 nearly-empty + vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16) + +Vtable for QAccessibleActionInterface +QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleActionInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))QAccessibleActionInterface::localizedActionName +48 (int (*)(...))QAccessibleActionInterface::localizedActionDescription +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleActionInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleActionInterface (0x0x7f56ac1ff7e0) 0 nearly-empty + vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16) + +Vtable for QAccessibleImageInterface +QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAccessibleImageInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleImageInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleImageInterface (0x0x7f56ac1ff900) 0 nearly-empty + vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16) + +Vtable for QAccessibleEvent +QAccessibleEvent::_ZTV16QAccessibleEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QAccessibleEvent) +16 (int (*)(...))QAccessibleEvent::~QAccessibleEvent +24 (int (*)(...))QAccessibleEvent::~QAccessibleEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleEvent + size=32 align=8 + base size=28 base align=8 +QAccessibleEvent (0x0x7f56ac1ff960) 0 + vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16) + +Vtable for QAccessibleStateChangeEvent +QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QAccessibleStateChangeEvent) +16 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent +24 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleStateChangeEvent + size=40 align=8 + base size=40 base align=8 +QAccessibleStateChangeEvent (0x0x7f56ac5a9e38) 0 + vptr=((& QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent) + 16) + QAccessibleEvent (0x0x7f56ac26d360) 0 + primary-for QAccessibleStateChangeEvent (0x0x7f56ac5a9e38) + +Vtable for QAccessibleTextCursorEvent +QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextCursorEvent) +16 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent +24 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextCursorEvent + size=32 align=8 + base size=32 base align=8 +QAccessibleTextCursorEvent (0x0x7f56ac5a9ea0) 0 + vptr=((& QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent) + 16) + QAccessibleEvent (0x0x7f56ac26d720) 0 + primary-for QAccessibleTextCursorEvent (0x0x7f56ac5a9ea0) + +Vtable for QAccessibleTextSelectionEvent +QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QAccessibleTextSelectionEvent) +16 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent +24 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextSelectionEvent + size=40 align=8 + base size=40 base align=8 +QAccessibleTextSelectionEvent (0x0x7f56ac5a9f08) 0 + vptr=((& QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent) + 16) + QAccessibleTextCursorEvent (0x0x7f56ac5a9f70) 0 + primary-for QAccessibleTextSelectionEvent (0x0x7f56ac5a9f08) + QAccessibleEvent (0x0x7f56ac26db40) 0 + primary-for QAccessibleTextCursorEvent (0x0x7f56ac5a9f70) + +Vtable for QAccessibleTextInsertEvent +QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextInsertEvent) +16 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent +24 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextInsertEvent + size=48 align=8 + base size=48 base align=8 +QAccessibleTextInsertEvent (0x0x7f56ac2bb000) 0 + vptr=((& QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent) + 16) + QAccessibleTextCursorEvent (0x0x7f56ac2bb068) 0 + primary-for QAccessibleTextInsertEvent (0x0x7f56ac2bb000) + QAccessibleEvent (0x0x7f56ac2bc000) 0 + primary-for QAccessibleTextCursorEvent (0x0x7f56ac2bb068) + +Vtable for QAccessibleTextRemoveEvent +QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextRemoveEvent) +16 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent +24 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextRemoveEvent + size=48 align=8 + base size=48 base align=8 +QAccessibleTextRemoveEvent (0x0x7f56ac2bb0d0) 0 + vptr=((& QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent) + 16) + QAccessibleTextCursorEvent (0x0x7f56ac2bb138) 0 + primary-for QAccessibleTextRemoveEvent (0x0x7f56ac2bb0d0) + QAccessibleEvent (0x0x7f56ac2bc420) 0 + primary-for QAccessibleTextCursorEvent (0x0x7f56ac2bb138) + +Vtable for QAccessibleTextUpdateEvent +QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextUpdateEvent) +16 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent +24 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextUpdateEvent + size=56 align=8 + base size=56 base align=8 +QAccessibleTextUpdateEvent (0x0x7f56ac2bb1a0) 0 + vptr=((& QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent) + 16) + QAccessibleTextCursorEvent (0x0x7f56ac2bb208) 0 + primary-for QAccessibleTextUpdateEvent (0x0x7f56ac2bb1a0) + QAccessibleEvent (0x0x7f56ac2bc840) 0 + primary-for QAccessibleTextCursorEvent (0x0x7f56ac2bb208) + +Vtable for QAccessibleValueChangeEvent +QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QAccessibleValueChangeEvent) +16 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent +24 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleValueChangeEvent + size=48 align=8 + base size=48 base align=8 +QAccessibleValueChangeEvent (0x0x7f56ac2bb270) 0 + vptr=((& QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent) + 16) + QAccessibleEvent (0x0x7f56ac2bccc0) 0 + primary-for QAccessibleValueChangeEvent (0x0x7f56ac2bb270) + +Vtable for QAccessibleTableModelChangeEvent +QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QAccessibleTableModelChangeEvent) +16 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent +24 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTableModelChangeEvent + size=48 align=8 + base size=48 base align=8 +QAccessibleTableModelChangeEvent (0x0x7f56ac2bb2d8) 0 + vptr=((& QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent) + 16) + QAccessibleEvent (0x0x7f56ac2f0120) 0 + primary-for QAccessibleTableModelChangeEvent (0x0x7f56ac2bb2d8) + +Vtable for QAccessibleBridge +QAccessibleBridge::_ZTV17QAccessibleBridge: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessibleBridge) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleBridge + size=8 align=8 + base size=8 base align=8 +QAccessibleBridge (0x0x7f56ac2f09c0) 0 nearly-empty + vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16) + +Class QAccessibleBridgePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAccessibleBridgePlugin::QPrivateSignal (0x0x7f56ac2f0c60) 0 empty + +Vtable for QAccessibleBridgePlugin +QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin) +16 (int (*)(...))QAccessibleBridgePlugin::metaObject +24 (int (*)(...))QAccessibleBridgePlugin::qt_metacast +32 (int (*)(...))QAccessibleBridgePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleBridgePlugin + size=16 align=8 + base size=16 base align=8 +QAccessibleBridgePlugin (0x0x7f56ac2bb340) 0 + vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16) + QObject (0x0x7f56ac2f0c00) 0 + primary-for QAccessibleBridgePlugin (0x0x7f56ac2bb340) + +Vtable for QAccessibleObject +QAccessibleObject::_ZTV17QAccessibleObject: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessibleObject) +16 0 +24 0 +32 (int (*)(...))QAccessibleObject::isValid +40 (int (*)(...))QAccessibleObject::object +48 (int (*)(...))QAccessibleInterface::window +56 (int (*)(...))QAccessibleInterface::relations +64 (int (*)(...))QAccessibleInterface::focusChild +72 (int (*)(...))QAccessibleObject::childAt +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))QAccessibleObject::setText +128 (int (*)(...))QAccessibleObject::rect +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAccessibleInterface::foregroundColor +160 (int (*)(...))QAccessibleInterface::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleInterface::interface_cast + +Class QAccessibleObject + size=16 align=8 + base size=16 base align=8 +QAccessibleObject (0x0x7f56ac2bb3a8) 0 + vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16) + QAccessibleInterface (0x0x7f56ac2f0d80) 0 nearly-empty + primary-for QAccessibleObject (0x0x7f56ac2bb3a8) + +Vtable for QAccessibleApplication +QAccessibleApplication::_ZTV22QAccessibleApplication: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QAccessibleApplication) +16 (int (*)(...))QAccessibleApplication::~QAccessibleApplication +24 (int (*)(...))QAccessibleApplication::~QAccessibleApplication +32 (int (*)(...))QAccessibleObject::isValid +40 (int (*)(...))QAccessibleObject::object +48 (int (*)(...))QAccessibleApplication::window +56 (int (*)(...))QAccessibleInterface::relations +64 (int (*)(...))QAccessibleApplication::focusChild +72 (int (*)(...))QAccessibleObject::childAt +80 (int (*)(...))QAccessibleApplication::parent +88 (int (*)(...))QAccessibleApplication::child +96 (int (*)(...))QAccessibleApplication::childCount +104 (int (*)(...))QAccessibleApplication::indexOfChild +112 (int (*)(...))QAccessibleApplication::text +120 (int (*)(...))QAccessibleObject::setText +128 (int (*)(...))QAccessibleObject::rect +136 (int (*)(...))QAccessibleApplication::role +144 (int (*)(...))QAccessibleApplication::state +152 (int (*)(...))QAccessibleInterface::foregroundColor +160 (int (*)(...))QAccessibleInterface::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleInterface::interface_cast + +Class QAccessibleApplication + size=16 align=8 + base size=16 base align=8 +QAccessibleApplication (0x0x7f56ac2bb410) 0 + vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16) + QAccessibleObject (0x0x7f56ac2bb478) 0 + primary-for QAccessibleApplication (0x0x7f56ac2bb410) + QAccessibleInterface (0x0x7f56ac2f0de0) 0 nearly-empty + primary-for QAccessibleObject (0x0x7f56ac2bb478) + +Class QAccessiblePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAccessiblePlugin::QPrivateSignal (0x0x7f56ac2f0ea0) 0 empty + +Vtable for QAccessiblePlugin +QAccessiblePlugin::_ZTV17QAccessiblePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessiblePlugin) +16 (int (*)(...))QAccessiblePlugin::metaObject +24 (int (*)(...))QAccessiblePlugin::qt_metacast +32 (int (*)(...))QAccessiblePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QAccessiblePlugin + size=16 align=8 + base size=16 base align=8 +QAccessiblePlugin (0x0x7f56ac2bb4e0) 0 + vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16) + QObject (0x0x7f56ac2f0e40) 0 + primary-for QAccessiblePlugin (0x0x7f56ac2bb4e0) + +Class QSurfaceFormat + size=8 align=8 + base size=8 base align=8 +QSurfaceFormat (0x0x7f56ac332000) 0 + +Vtable for QSurface +QSurface::_ZTV8QSurface: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QSurface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual + +Class QSurface + size=24 align=8 + base size=24 base align=8 +QSurface (0x0x7f56ac332b40) 0 + vptr=((& QSurface::_ZTV8QSurface) + 16) + +Class QIcon + size=8 align=8 + base size=8 base align=8 +QIcon (0x0x7f56ac332f00) 0 + +Class QCursor + size=8 align=8 + base size=8 base align=8 +QCursor (0x0x7f56ac046a80) 0 + +Class QWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWindow::QPrivateSignal (0x0x7f56ac10d840) 0 empty + +Vtable for QWindow +QWindow::_ZTV7QWindow: 45 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QWindow) +16 (int (*)(...))QWindow::metaObject +24 (int (*)(...))QWindow::qt_metacast +32 (int (*)(...))QWindow::qt_metacall +40 (int (*)(...))QWindow::~QWindow +48 (int (*)(...))QWindow::~QWindow +56 (int (*)(...))QWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QWindow::exposeEvent +160 (int (*)(...))QWindow::resizeEvent +168 (int (*)(...))QWindow::moveEvent +176 (int (*)(...))QWindow::focusInEvent +184 (int (*)(...))QWindow::focusOutEvent +192 (int (*)(...))QWindow::showEvent +200 (int (*)(...))QWindow::hideEvent +208 (int (*)(...))QWindow::keyPressEvent +216 (int (*)(...))QWindow::keyReleaseEvent +224 (int (*)(...))QWindow::mousePressEvent +232 (int (*)(...))QWindow::mouseReleaseEvent +240 (int (*)(...))QWindow::mouseDoubleClickEvent +248 (int (*)(...))QWindow::mouseMoveEvent +256 (int (*)(...))QWindow::wheelEvent +264 (int (*)(...))QWindow::touchEvent +272 (int (*)(...))QWindow::tabletEvent +280 (int (*)(...))QWindow::nativeEvent +288 (int (*)(...))QWindow::surfaceHandle +296 (int (*)(...))-16 +304 (int (*)(...))(& _ZTI7QWindow) +312 (int (*)(...))QWindow::_ZThn16_N7QWindowD1Ev +320 (int (*)(...))QWindow::_ZThn16_N7QWindowD0Ev +328 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +336 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +344 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +352 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv + +Class QWindow + size=40 align=8 + base size=40 base align=8 +QWindow (0x0x7f56ac10f700) 0 + vptr=((& QWindow::_ZTV7QWindow) + 16) + QObject (0x0x7f56ac10d780) 0 + primary-for QWindow (0x0x7f56ac10f700) + QSurface (0x0x7f56ac10d7e0) 16 + vptr=((& QWindow::_ZTV7QWindow) + 312) + +Class QBackingStore + size=8 align=8 + base size=8 base align=8 +QBackingStore (0x0x7f56ac162120) 0 + +Vtable for QBitmap +QBitmap::_ZTV7QBitmap: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QBitmap) +16 (int (*)(...))QBitmap::~QBitmap +24 (int (*)(...))QBitmap::~QBitmap +32 (int (*)(...))QPixmap::devType +40 (int (*)(...))QPixmap::paintEngine +48 (int (*)(...))QPixmap::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QBitmap + size=32 align=8 + base size=32 base align=8 +QBitmap (0x0x7f56ac10c7b8) 0 + vptr=((& QBitmap::_ZTV7QBitmap) + 16) + QPixmap (0x0x7f56ac10c820) 0 + primary-for QBitmap (0x0x7f56ac10c7b8) + QPaintDevice (0x0x7f56ac1621e0) 0 + primary-for QPixmap (0x0x7f56ac10c820) + +Class QClipboard::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QClipboard::QPrivateSignal (0x0x7f56ac1b3720) 0 empty + +Vtable for QClipboard +QClipboard::_ZTV10QClipboard: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QClipboard) +16 (int (*)(...))QClipboard::metaObject +24 (int (*)(...))QClipboard::qt_metacast +32 (int (*)(...))QClipboard::qt_metacall +40 (int (*)(...))QClipboard::~QClipboard +48 (int (*)(...))QClipboard::~QClipboard +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QClipboard + size=16 align=8 + base size=16 base align=8 +QClipboard (0x0x7f56ac1a9af8) 0 + vptr=((& QClipboard::_ZTV10QClipboard) + 16) + QObject (0x0x7f56ac1b36c0) 0 + primary-for QClipboard (0x0x7f56ac1a9af8) + +Class QColorTransform + size=8 align=8 + base size=8 base align=8 +QColorTransform (0x0x7f56ac1b3840) 0 + +Class QColorSpace + size=8 align=8 + base size=8 base align=8 +QColorSpace (0x0x7f56abe859c0) 0 + +Class QDesktopServices + size=1 align=1 + base size=0 base align=1 +QDesktopServices (0x0x7f56abf5b780) 0 empty + +Class QDrag::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDrag::QPrivateSignal (0x0x7f56abf5b840) 0 empty + +Vtable for QDrag +QDrag::_ZTV5QDrag: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QDrag) +16 (int (*)(...))QDrag::metaObject +24 (int (*)(...))QDrag::qt_metacast +32 (int (*)(...))QDrag::qt_metacall +40 (int (*)(...))QDrag::~QDrag +48 (int (*)(...))QDrag::~QDrag +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDrag + size=16 align=8 + base size=16 base align=8 +QDrag (0x0x7f56abf5a7b8) 0 + vptr=((& QDrag::_ZTV5QDrag) + 16) + QObject (0x0x7f56abf5b7e0) 0 + primary-for QDrag (0x0x7f56abf5a7b8) + +Class QFontInfo + size=8 align=8 + base size=8 base align=8 +QFontInfo (0x0x7f56abf5ba20) 0 + +Class QFontMetrics + size=8 align=8 + base size=8 base align=8 +QFontMetrics (0x0x7f56abfb1a80) 0 + +Class QFontMetricsF + size=8 align=8 + base size=8 base align=8 +QFontMetricsF (0x0x7f56abbfbde0) 0 + +Class QGenericPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGenericPlugin::QPrivateSignal (0x0x7f56abcf2f60) 0 empty + +Vtable for QGenericPlugin +QGenericPlugin::_ZTV14QGenericPlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QGenericPlugin) +16 (int (*)(...))QGenericPlugin::metaObject +24 (int (*)(...))QGenericPlugin::qt_metacast +32 (int (*)(...))QGenericPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QGenericPlugin + size=16 align=8 + base size=16 base align=8 +QGenericPlugin (0x0x7f56abc613a8) 0 + vptr=((& QGenericPlugin::_ZTV14QGenericPlugin) + 16) + QObject (0x0x7f56abcf2f00) 0 + primary-for QGenericPlugin (0x0x7f56abc613a8) + +Class QGenericPluginFactory + size=1 align=1 + base size=0 base align=1 +QGenericPluginFactory (0x0x7f56abd9f0c0) 0 empty + +Class QInputMethod::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QInputMethod::QPrivateSignal (0x0x7f56abd9f180) 0 empty + +Vtable for QInputMethod +QInputMethod::_ZTV12QInputMethod: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QInputMethod) +16 (int (*)(...))QInputMethod::metaObject +24 (int (*)(...))QInputMethod::qt_metacast +32 (int (*)(...))QInputMethod::qt_metacall +40 (int (*)(...))QInputMethod::~QInputMethod +48 (int (*)(...))QInputMethod::~QInputMethod +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QInputMethod + size=16 align=8 + base size=16 base align=8 +QInputMethod (0x0x7f56abc61410) 0 + vptr=((& QInputMethod::_ZTV12QInputMethod) + 16) + QObject (0x0x7f56abd9f120) 0 + primary-for QInputMethod (0x0x7f56abc61410) + +Class QGuiApplication::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGuiApplication::QPrivateSignal (0x0x7f56abd9f480) 0 empty + +Vtable for QGuiApplication +QGuiApplication::_ZTV15QGuiApplication: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGuiApplication) +16 (int (*)(...))QGuiApplication::metaObject +24 (int (*)(...))QGuiApplication::qt_metacast +32 (int (*)(...))QGuiApplication::qt_metacall +40 (int (*)(...))QGuiApplication::~QGuiApplication +48 (int (*)(...))QGuiApplication::~QGuiApplication +56 (int (*)(...))QGuiApplication::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGuiApplication::notify +120 (int (*)(...))QGuiApplication::compressEvent + +Class QGuiApplication + size=16 align=8 + base size=16 base align=8 +QGuiApplication (0x0x7f56abc61478) 0 + vptr=((& QGuiApplication::_ZTV15QGuiApplication) + 16) + QCoreApplication (0x0x7f56abc614e0) 0 + primary-for QGuiApplication (0x0x7f56abc61478) + QObject (0x0x7f56abd9f420) 0 + primary-for QCoreApplication (0x0x7f56abc614e0) + +Class QIconEngine::AvailableSizesArgument + size=16 align=8 + base size=16 base align=8 +QIconEngine::AvailableSizesArgument (0x0x7f56abd9fc00) 0 + +Class QIconEngine::ScaledPixmapArgument + size=56 align=8 + base size=56 base align=8 +QIconEngine::ScaledPixmapArgument (0x0x7f56abd9fd80) 0 + +Vtable for QIconEngine +QIconEngine::_ZTV11QIconEngine: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QIconEngine) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))QIconEngine::actualSize +48 (int (*)(...))QIconEngine::pixmap +56 (int (*)(...))QIconEngine::addPixmap +64 (int (*)(...))QIconEngine::addFile +72 (int (*)(...))QIconEngine::key +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))QIconEngine::read +96 (int (*)(...))QIconEngine::write +104 (int (*)(...))QIconEngine::availableSizes +112 (int (*)(...))QIconEngine::iconName +120 (int (*)(...))QIconEngine::virtual_hook + +Class QIconEngine + size=8 align=8 + base size=8 base align=8 +QIconEngine (0x0x7f56abd9fba0) 0 nearly-empty + vptr=((& QIconEngine::_ZTV11QIconEngine) + 16) + +Class QIconEnginePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIconEnginePlugin::QPrivateSignal (0x0x7f56abd9fe40) 0 empty + +Vtable for QIconEnginePlugin +QIconEnginePlugin::_ZTV17QIconEnginePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QIconEnginePlugin) +16 (int (*)(...))QIconEnginePlugin::metaObject +24 (int (*)(...))QIconEnginePlugin::qt_metacast +32 (int (*)(...))QIconEnginePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QIconEnginePlugin + size=16 align=8 + base size=16 base align=8 +QIconEnginePlugin (0x0x7f56abc61a90) 0 + vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16) + QObject (0x0x7f56abd9fde0) 0 + primary-for QIconEnginePlugin (0x0x7f56abc61a90) + +Vtable for QImageIOHandler +QImageIOHandler::_ZTV15QImageIOHandler: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QImageIOHandler) +16 0 +24 0 +32 (int (*)(...))QImageIOHandler::name +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))QImageIOHandler::write +64 (int (*)(...))QImageIOHandler::option +72 (int (*)(...))QImageIOHandler::setOption +80 (int (*)(...))QImageIOHandler::supportsOption +88 (int (*)(...))QImageIOHandler::jumpToNextImage +96 (int (*)(...))QImageIOHandler::jumpToImage +104 (int (*)(...))QImageIOHandler::loopCount +112 (int (*)(...))QImageIOHandler::imageCount +120 (int (*)(...))QImageIOHandler::nextImageDelay +128 (int (*)(...))QImageIOHandler::currentImageNumber +136 (int (*)(...))QImageIOHandler::currentImageRect + +Class QImageIOHandler + size=16 align=8 + base size=16 base align=8 +QImageIOHandler (0x0x7f56abd9ff60) 0 + vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16) + +Class QImageIOPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QImageIOPlugin::QPrivateSignal (0x0x7f56ab9a41e0) 0 empty + +Vtable for QImageIOPlugin +QImageIOPlugin::_ZTV14QImageIOPlugin: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QImageIOPlugin) +16 (int (*)(...))QImageIOPlugin::metaObject +24 (int (*)(...))QImageIOPlugin::qt_metacast +32 (int (*)(...))QImageIOPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QImageIOPlugin + size=16 align=8 + base size=16 base align=8 +QImageIOPlugin (0x0x7f56abc61af8) 0 + vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16) + QObject (0x0x7f56ab9a4180) 0 + primary-for QImageIOPlugin (0x0x7f56abc61af8) + +Class QImageReader + size=8 align=8 + base size=8 base align=8 +QImageReader (0x0x7f56ab9a49c0) 0 + +Class QImageWriter + size=8 align=8 + base size=8 base align=8 +QImageWriter (0x0x7f56ab9a4ae0) 0 + +Class QVector3D + size=12 align=4 + base size=12 base align=4 +QVector3D (0x0x7f56ab9a4c00) 0 + +Class QVector4D + size=16 align=4 + base size=16 base align=4 +QVector4D (0x0x7f56aba60d80) 0 + +Class QQuaternion + size=16 align=4 + base size=16 base align=4 +QQuaternion (0x0x7f56abb1d000) 0 + +Class QMatrix4x4 + size=68 align=4 + base size=68 base align=4 +QMatrix4x4 (0x0x7f56ab7a8900) 0 + +Class QMovie::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMovie::QPrivateSignal (0x0x7f56ab8bc780) 0 empty + +Vtable for QMovie +QMovie::_ZTV6QMovie: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QMovie) +16 (int (*)(...))QMovie::metaObject +24 (int (*)(...))QMovie::qt_metacast +32 (int (*)(...))QMovie::qt_metacall +40 (int (*)(...))QMovie::~QMovie +48 (int (*)(...))QMovie::~QMovie +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QMovie + size=16 align=8 + base size=16 base align=8 +QMovie (0x0x7f56ab852270) 0 + vptr=((& QMovie::_ZTV6QMovie) + 16) + QObject (0x0x7f56ab8bc720) 0 + primary-for QMovie (0x0x7f56ab852270) + +Class QOffscreenSurface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOffscreenSurface::QPrivateSignal (0x0x7f56ab8bcba0) 0 empty + +Vtable for QOffscreenSurface +QOffscreenSurface::_ZTV17QOffscreenSurface: 26 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QOffscreenSurface) +16 (int (*)(...))QOffscreenSurface::metaObject +24 (int (*)(...))QOffscreenSurface::qt_metacast +32 (int (*)(...))QOffscreenSurface::qt_metacall +40 (int (*)(...))QOffscreenSurface::~QOffscreenSurface +48 (int (*)(...))QOffscreenSurface::~QOffscreenSurface +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QOffscreenSurface::surfaceType +120 (int (*)(...))QOffscreenSurface::format +128 (int (*)(...))QOffscreenSurface::size +136 (int (*)(...))QOffscreenSurface::surfaceHandle +144 (int (*)(...))-16 +152 (int (*)(...))(& _ZTI17QOffscreenSurface) +160 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD1Ev +168 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD0Ev +176 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface6formatEv +184 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface13surfaceHandleEv +192 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface11surfaceTypeEv +200 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface4sizeEv + +Class QOffscreenSurface + size=40 align=8 + base size=40 base align=8 +QOffscreenSurface (0x0x7f56ab83c700) 0 + vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 16) + QObject (0x0x7f56ab8bcae0) 0 + primary-for QOffscreenSurface (0x0x7f56ab83c700) + QSurface (0x0x7f56ab8bcb40) 16 + vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 160) + +Class QOpenGLBuffer + size=8 align=8 + base size=8 base align=8 +QOpenGLBuffer (0x0x7f56ab8bcde0) 0 + +Class QOpenGLVersionStatus + size=12 align=4 + base size=12 base align=4 +QOpenGLVersionStatus (0x0x7f56ab1ab660) 0 + +Class QOpenGLVersionFunctionsBackend + size=16 align=8 + base size=12 base align=8 +QOpenGLVersionFunctionsBackend (0x0x7f56ab223240) 0 + +Class QOpenGLVersionFunctionsStorage + size=8 align=8 + base size=8 base align=8 +QOpenGLVersionFunctionsStorage (0x0x7f56ab223420) 0 + +Class QAbstractOpenGLFunctionsPrivate + size=16 align=8 + base size=9 base align=8 +QAbstractOpenGLFunctionsPrivate (0x0x7f56ab223480) 0 + +Vtable for QAbstractOpenGLFunctions +QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAbstractOpenGLFunctions) +16 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions +24 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions +32 (int (*)(...))QAbstractOpenGLFunctions::initializeOpenGLFunctions + +Class QAbstractOpenGLFunctions + size=16 align=8 + base size=16 base align=8 +QAbstractOpenGLFunctions (0x0x7f56ab223660) 0 + vptr=((& QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions) + 16) + +Class QOpenGLFunctions_1_0_CoreBackend::Functions + size=384 align=8 + base size=384 base align=8 +QOpenGLFunctions_1_0_CoreBackend::Functions (0x0x7f56ab223840) 0 + +Class QOpenGLFunctions_1_0_CoreBackend + size=400 align=8 + base size=400 base align=8 +QOpenGLFunctions_1_0_CoreBackend (0x0x7f56ab226138) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab2237e0) 0 + +Class QOpenGLFunctions_1_1_CoreBackend::Functions + size=128 align=8 + base size=128 base align=8 +QOpenGLFunctions_1_1_CoreBackend::Functions (0x0x7f56ab223b40) 0 + +Class QOpenGLFunctions_1_1_CoreBackend + size=144 align=8 + base size=144 base align=8 +QOpenGLFunctions_1_1_CoreBackend (0x0x7f56ab2261a0) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab223ae0) 0 + +Class QOpenGLFunctions_1_2_CoreBackend::Functions + size=48 align=8 + base size=48 base align=8 +QOpenGLFunctions_1_2_CoreBackend::Functions (0x0x7f56ab223e40) 0 + +Class QOpenGLFunctions_1_2_CoreBackend + size=64 align=8 + base size=64 base align=8 +QOpenGLFunctions_1_2_CoreBackend (0x0x7f56ab226208) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab223de0) 0 + +Class QOpenGLFunctions_1_3_CoreBackend::Functions + size=72 align=8 + base size=72 base align=8 +QOpenGLFunctions_1_3_CoreBackend::Functions (0x0x7f56ab261180) 0 + +Class QOpenGLFunctions_1_3_CoreBackend + size=88 align=8 + base size=88 base align=8 +QOpenGLFunctions_1_3_CoreBackend (0x0x7f56ab226270) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab261120) 0 + +Class QOpenGLFunctions_1_4_CoreBackend::Functions + size=56 align=8 + base size=56 base align=8 +QOpenGLFunctions_1_4_CoreBackend::Functions (0x0x7f56ab2614e0) 0 + +Class QOpenGLFunctions_1_4_CoreBackend + size=72 align=8 + base size=72 base align=8 +QOpenGLFunctions_1_4_CoreBackend (0x0x7f56ab2262d8) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab261480) 0 + +Class QOpenGLFunctions_1_5_CoreBackend::Functions + size=152 align=8 + base size=152 base align=8 +QOpenGLFunctions_1_5_CoreBackend::Functions (0x0x7f56ab2617e0) 0 + +Class QOpenGLFunctions_1_5_CoreBackend + size=168 align=8 + base size=168 base align=8 +QOpenGLFunctions_1_5_CoreBackend (0x0x7f56ab226340) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab261780) 0 + +Class QOpenGLFunctions_2_0_CoreBackend::Functions + size=744 align=8 + base size=744 base align=8 +QOpenGLFunctions_2_0_CoreBackend::Functions (0x0x7f56ab261ae0) 0 + +Class QOpenGLFunctions_2_0_CoreBackend + size=760 align=8 + base size=760 base align=8 +QOpenGLFunctions_2_0_CoreBackend (0x0x7f56ab2263a8) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab261a80) 0 + +Class QOpenGLFunctions_2_1_CoreBackend::Functions + size=48 align=8 + base size=48 base align=8 +QOpenGLFunctions_2_1_CoreBackend::Functions (0x0x7f56ab261de0) 0 + +Class QOpenGLFunctions_2_1_CoreBackend + size=64 align=8 + base size=64 base align=8 +QOpenGLFunctions_2_1_CoreBackend (0x0x7f56ab226410) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab261d80) 0 + +Class QOpenGLFunctions_3_0_CoreBackend::Functions + size=672 align=8 + base size=672 base align=8 +QOpenGLFunctions_3_0_CoreBackend::Functions (0x0x7f56ab29b120) 0 + +Class QOpenGLFunctions_3_0_CoreBackend + size=688 align=8 + base size=688 base align=8 +QOpenGLFunctions_3_0_CoreBackend (0x0x7f56ab226478) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab29b0c0) 0 + +Class QOpenGLFunctions_3_1_CoreBackend::Functions + size=96 align=8 + base size=96 base align=8 +QOpenGLFunctions_3_1_CoreBackend::Functions (0x0x7f56ab29b420) 0 + +Class QOpenGLFunctions_3_1_CoreBackend + size=112 align=8 + base size=112 base align=8 +QOpenGLFunctions_3_1_CoreBackend (0x0x7f56ab2264e0) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab29b3c0) 0 + +Class QOpenGLFunctions_3_2_CoreBackend::Functions + size=152 align=8 + base size=152 base align=8 +QOpenGLFunctions_3_2_CoreBackend::Functions (0x0x7f56ab29b720) 0 + +Class QOpenGLFunctions_3_2_CoreBackend + size=168 align=8 + base size=168 base align=8 +QOpenGLFunctions_3_2_CoreBackend (0x0x7f56ab226548) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab29b6c0) 0 + +Class QOpenGLFunctions_3_3_CoreBackend::Functions + size=464 align=8 + base size=464 base align=8 +QOpenGLFunctions_3_3_CoreBackend::Functions (0x0x7f56ab29ba20) 0 + +Class QOpenGLFunctions_3_3_CoreBackend + size=480 align=8 + base size=480 base align=8 +QOpenGLFunctions_3_3_CoreBackend (0x0x7f56ab2265b0) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab29b9c0) 0 + +Class QOpenGLFunctions_4_0_CoreBackend::Functions + size=368 align=8 + base size=368 base align=8 +QOpenGLFunctions_4_0_CoreBackend::Functions (0x0x7f56ab29bd20) 0 + +Class QOpenGLFunctions_4_0_CoreBackend + size=384 align=8 + base size=384 base align=8 +QOpenGLFunctions_4_0_CoreBackend (0x0x7f56ab226618) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab29bcc0) 0 + +Class QOpenGLFunctions_4_1_CoreBackend::Functions + size=704 align=8 + base size=704 base align=8 +QOpenGLFunctions_4_1_CoreBackend::Functions (0x0x7f56ab2ec060) 0 + +Class QOpenGLFunctions_4_1_CoreBackend + size=720 align=8 + base size=720 base align=8 +QOpenGLFunctions_4_1_CoreBackend (0x0x7f56ab226680) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab2ec000) 0 + +Class QOpenGLFunctions_4_2_CoreBackend::Functions + size=96 align=8 + base size=96 base align=8 +QOpenGLFunctions_4_2_CoreBackend::Functions (0x0x7f56ab2ec360) 0 + +Class QOpenGLFunctions_4_2_CoreBackend + size=112 align=8 + base size=112 base align=8 +QOpenGLFunctions_4_2_CoreBackend (0x0x7f56ab2266e8) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab2ec300) 0 + +Class QOpenGLFunctions_4_3_CoreBackend::Functions + size=344 align=8 + base size=344 base align=8 +QOpenGLFunctions_4_3_CoreBackend::Functions (0x0x7f56ab2ec660) 0 + +Class QOpenGLFunctions_4_3_CoreBackend + size=360 align=8 + base size=360 base align=8 +QOpenGLFunctions_4_3_CoreBackend (0x0x7f56ab226750) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab2ec600) 0 + +Class QOpenGLFunctions_4_4_CoreBackend::Functions + size=72 align=8 + base size=72 base align=8 +QOpenGLFunctions_4_4_CoreBackend::Functions (0x0x7f56ab2ec960) 0 + +Class QOpenGLFunctions_4_4_CoreBackend + size=88 align=8 + base size=88 base align=8 +QOpenGLFunctions_4_4_CoreBackend (0x0x7f56ab2267b8) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab2ec900) 0 + +Class QOpenGLFunctions_4_5_CoreBackend::Functions + size=848 align=8 + base size=848 base align=8 +QOpenGLFunctions_4_5_CoreBackend::Functions (0x0x7f56ab2eccc0) 0 + +Class QOpenGLFunctions_4_5_CoreBackend + size=864 align=8 + base size=864 base align=8 +QOpenGLFunctions_4_5_CoreBackend (0x0x7f56ab226820) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab2ecc60) 0 + +Class QOpenGLFunctions_1_0_DeprecatedBackend::Functions + size=2064 align=8 + base size=2064 base align=8 +QOpenGLFunctions_1_0_DeprecatedBackend::Functions (0x0x7f56ab35b000) 0 + +Class QOpenGLFunctions_1_0_DeprecatedBackend + size=2080 align=8 + base size=2080 base align=8 +QOpenGLFunctions_1_0_DeprecatedBackend (0x0x7f56ab226888) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab2ecf60) 0 + +Class QOpenGLFunctions_1_1_DeprecatedBackend::Functions + size=136 align=8 + base size=136 base align=8 +QOpenGLFunctions_1_1_DeprecatedBackend::Functions (0x0x7f56ab35b300) 0 + +Class QOpenGLFunctions_1_1_DeprecatedBackend + size=152 align=8 + base size=152 base align=8 +QOpenGLFunctions_1_1_DeprecatedBackend (0x0x7f56ab2268f0) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab35b2a0) 0 + +Class QOpenGLFunctions_1_2_DeprecatedBackend::Functions + size=256 align=8 + base size=256 base align=8 +QOpenGLFunctions_1_2_DeprecatedBackend::Functions (0x0x7f56ab35b600) 0 + +Class QOpenGLFunctions_1_2_DeprecatedBackend + size=272 align=8 + base size=272 base align=8 +QOpenGLFunctions_1_2_DeprecatedBackend (0x0x7f56ab226958) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab35b5a0) 0 + +Class QOpenGLFunctions_1_3_DeprecatedBackend::Functions + size=296 align=8 + base size=296 base align=8 +QOpenGLFunctions_1_3_DeprecatedBackend::Functions (0x0x7f56ab35b900) 0 + +Class QOpenGLFunctions_1_3_DeprecatedBackend + size=312 align=8 + base size=312 base align=8 +QOpenGLFunctions_1_3_DeprecatedBackend (0x0x7f56ab2269c0) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab35b8a0) 0 + +Class QOpenGLFunctions_1_4_DeprecatedBackend::Functions + size=304 align=8 + base size=304 base align=8 +QOpenGLFunctions_1_4_DeprecatedBackend::Functions (0x0x7f56ab35bc00) 0 + +Class QOpenGLFunctions_1_4_DeprecatedBackend + size=320 align=8 + base size=320 base align=8 +QOpenGLFunctions_1_4_DeprecatedBackend (0x0x7f56ab226a28) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab35bba0) 0 + +Class QOpenGLFunctions_2_0_DeprecatedBackend::Functions + size=288 align=8 + base size=288 base align=8 +QOpenGLFunctions_2_0_DeprecatedBackend::Functions (0x0x7f56ab35bf00) 0 + +Class QOpenGLFunctions_2_0_DeprecatedBackend + size=304 align=8 + base size=304 base align=8 +QOpenGLFunctions_2_0_DeprecatedBackend (0x0x7f56ab226a90) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56ab35bea0) 0 + +Class QOpenGLFunctions_3_0_DeprecatedBackend::Functions + size=160 align=8 + base size=160 base align=8 +QOpenGLFunctions_3_0_DeprecatedBackend::Functions (0x0x7f56aafd2240) 0 + +Class QOpenGLFunctions_3_0_DeprecatedBackend + size=176 align=8 + base size=176 base align=8 +QOpenGLFunctions_3_0_DeprecatedBackend (0x0x7f56ab226af8) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56aafd21e0) 0 + +Class QOpenGLFunctions_3_3_DeprecatedBackend::Functions + size=240 align=8 + base size=240 base align=8 +QOpenGLFunctions_3_3_DeprecatedBackend::Functions (0x0x7f56aafd2540) 0 + +Class QOpenGLFunctions_3_3_DeprecatedBackend + size=256 align=8 + base size=256 base align=8 +QOpenGLFunctions_3_3_DeprecatedBackend (0x0x7f56ab226b60) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56aafd24e0) 0 + +Class QOpenGLFunctions_4_5_DeprecatedBackend::Functions + size=96 align=8 + base size=96 base align=8 +QOpenGLFunctions_4_5_DeprecatedBackend::Functions (0x0x7f56aafd2840) 0 + +Class QOpenGLFunctions_4_5_DeprecatedBackend + size=112 align=8 + base size=112 base align=8 +QOpenGLFunctions_4_5_DeprecatedBackend (0x0x7f56ab226bc8) 0 + QOpenGLVersionFunctionsBackend (0x0x7f56aafd27e0) 0 + +Class QOpenGLVersionProfile + size=8 align=8 + base size=8 base align=8 +QOpenGLVersionProfile (0x0x7f56aafd2ae0) 0 + +Class QOpenGLContextGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLContextGroup::QPrivateSignal (0x0x7f56ab008600) 0 empty + +Vtable for QOpenGLContextGroup +QOpenGLContextGroup::_ZTV19QOpenGLContextGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QOpenGLContextGroup) +16 (int (*)(...))QOpenGLContextGroup::metaObject +24 (int (*)(...))QOpenGLContextGroup::qt_metacast +32 (int (*)(...))QOpenGLContextGroup::qt_metacall +40 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup +48 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLContextGroup + size=16 align=8 + base size=16 base align=8 +QOpenGLContextGroup (0x0x7f56ab007618) 0 + vptr=((& QOpenGLContextGroup::_ZTV19QOpenGLContextGroup) + 16) + QObject (0x0x7f56ab0085a0) 0 + primary-for QOpenGLContextGroup (0x0x7f56ab007618) + +Class QOpenGLContext::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLContext::QPrivateSignal (0x0x7f56ab008840) 0 empty + +Vtable for QOpenGLContext +QOpenGLContext::_ZTV14QOpenGLContext: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QOpenGLContext) +16 (int (*)(...))QOpenGLContext::metaObject +24 (int (*)(...))QOpenGLContext::qt_metacast +32 (int (*)(...))QOpenGLContext::qt_metacall +40 (int (*)(...))QOpenGLContext::~QOpenGLContext +48 (int (*)(...))QOpenGLContext::~QOpenGLContext +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLContext + size=16 align=8 + base size=16 base align=8 +QOpenGLContext (0x0x7f56ab007680) 0 + vptr=((& QOpenGLContext::_ZTV14QOpenGLContext) + 16) + QObject (0x0x7f56ab0087e0) 0 + primary-for QOpenGLContext (0x0x7f56ab007680) + +Class QOpenGLDebugMessage + size=8 align=8 + base size=8 base align=8 +QOpenGLDebugMessage (0x0x7f56ab008a80) 0 + +Class QOpenGLDebugLogger::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLDebugLogger::QPrivateSignal (0x0x7f56aad8c060) 0 empty + +Vtable for QOpenGLDebugLogger +QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QOpenGLDebugLogger) +16 (int (*)(...))QOpenGLDebugLogger::metaObject +24 (int (*)(...))QOpenGLDebugLogger::qt_metacast +32 (int (*)(...))QOpenGLDebugLogger::qt_metacall +40 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger +48 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLDebugLogger + size=16 align=8 + base size=16 base align=8 +QOpenGLDebugLogger (0x0x7f56ab1018f0) 0 + vptr=((& QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger) + 16) + QObject (0x0x7f56aad8c000) 0 + primary-for QOpenGLDebugLogger (0x0x7f56ab1018f0) + +Class QOpenGLFunctions + size=8 align=8 + base size=8 base align=8 +QOpenGLFunctions (0x0x7f56aad8c4e0) 0 + +Class QOpenGLFunctionsPrivate::Functions + size=1152 align=8 + base size=1152 base align=8 +QOpenGLFunctionsPrivate::Functions (0x0x7f56b87deba0) 0 + +Class QOpenGLFunctionsPrivate + size=1152 align=8 + base size=1152 base align=8 +QOpenGLFunctionsPrivate (0x0x7f56b87deb40) 0 + +Class QOpenGLExtraFunctions + size=8 align=8 + base size=8 base align=8 +QOpenGLExtraFunctions (0x0x7f56ae697e38) 0 + QOpenGLFunctions (0x0x7f56b65afa20) 0 + +Class QOpenGLExtraFunctionsPrivate::Functions + size=1728 align=8 + base size=1728 base align=8 +QOpenGLExtraFunctionsPrivate::Functions (0x0x7f56b6253d20) 0 + +Class QOpenGLExtraFunctionsPrivate + size=2880 align=8 + base size=2880 base align=8 +QOpenGLExtraFunctionsPrivate (0x0x7f56aeb0fc98) 0 + QOpenGLFunctionsPrivate (0x0x7f56b6200000) 0 + +Vtable for QOpenGLFramebufferObject +QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QOpenGLFramebufferObject) +16 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject +24 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject + +Class QOpenGLFramebufferObject + size=16 align=8 + base size=16 base align=8 +QOpenGLFramebufferObject (0x0x7f56b3780900) 0 + vptr=((& QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject) + 16) + +Class QOpenGLFramebufferObjectFormat + size=8 align=8 + base size=8 base align=8 +QOpenGLFramebufferObjectFormat (0x0x7f56b379d420) 0 + +Vtable for QOpenGLPaintDevice +QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QOpenGLPaintDevice) +16 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice +24 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice +32 (int (*)(...))QOpenGLPaintDevice::devType +40 (int (*)(...))QOpenGLPaintDevice::paintEngine +48 (int (*)(...))QOpenGLPaintDevice::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter +80 (int (*)(...))QOpenGLPaintDevice::ensureActiveTarget + +Class QOpenGLPaintDevice + size=32 align=8 + base size=32 base align=8 +QOpenGLPaintDevice (0x0x7f56b6295548) 0 + vptr=((& QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice) + 16) + QPaintDevice (0x0x7f56b379d480) 0 + primary-for QOpenGLPaintDevice (0x0x7f56b6295548) + +Class QOpenGLPixelTransferOptions + size=8 align=8 + base size=8 base align=8 +QOpenGLPixelTransferOptions (0x0x7f56b35996c0) 0 + +Class QOpenGLShader::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLShader::QPrivateSignal (0x0x7f56b31b4cc0) 0 empty + +Vtable for QOpenGLShader +QOpenGLShader::_ZTV13QOpenGLShader: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QOpenGLShader) +16 (int (*)(...))QOpenGLShader::metaObject +24 (int (*)(...))QOpenGLShader::qt_metacast +32 (int (*)(...))QOpenGLShader::qt_metacall +40 (int (*)(...))QOpenGLShader::~QOpenGLShader +48 (int (*)(...))QOpenGLShader::~QOpenGLShader +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLShader + size=16 align=8 + base size=16 base align=8 +QOpenGLShader (0x0x7f56b57191a0) 0 + vptr=((& QOpenGLShader::_ZTV13QOpenGLShader) + 16) + QObject (0x0x7f56b31b4c60) 0 + primary-for QOpenGLShader (0x0x7f56b57191a0) + +Class QOpenGLShaderProgram::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLShaderProgram::QPrivateSignal (0x0x7f56b2ec6960) 0 empty + +Vtable for QOpenGLShaderProgram +QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QOpenGLShaderProgram) +16 (int (*)(...))QOpenGLShaderProgram::metaObject +24 (int (*)(...))QOpenGLShaderProgram::qt_metacast +32 (int (*)(...))QOpenGLShaderProgram::qt_metacall +40 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram +48 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QOpenGLShaderProgram::link + +Class QOpenGLShaderProgram + size=16 align=8 + base size=16 base align=8 +QOpenGLShaderProgram (0x0x7f56b5730270) 0 + vptr=((& QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram) + 16) + QObject (0x0x7f56b2eaade0) 0 + primary-for QOpenGLShaderProgram (0x0x7f56b5730270) + +Class QOpenGLTexture + size=8 align=8 + base size=8 base align=8 +QOpenGLTexture (0x0x7f56b2c0e3c0) 0 + +Class QOpenGLTextureBlitter + size=8 align=8 + base size=8 base align=8 +QOpenGLTextureBlitter (0x0x7f56b27c2a20) 0 + +Class QOpenGLTimerQuery::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLTimerQuery::QPrivateSignal (0x0x7f56b27df660) 0 empty + +Vtable for QOpenGLTimerQuery +QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QOpenGLTimerQuery) +16 (int (*)(...))QOpenGLTimerQuery::metaObject +24 (int (*)(...))QOpenGLTimerQuery::qt_metacast +32 (int (*)(...))QOpenGLTimerQuery::qt_metacall +40 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery +48 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLTimerQuery + size=16 align=8 + base size=16 base align=8 +QOpenGLTimerQuery (0x0x7f56b55402d8) 0 + vptr=((& QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery) + 16) + QObject (0x0x7f56b27df600) 0 + primary-for QOpenGLTimerQuery (0x0x7f56b55402d8) + +Class QOpenGLTimeMonitor::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLTimeMonitor::QPrivateSignal (0x0x7f56b2401c00) 0 empty + +Vtable for QOpenGLTimeMonitor +QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QOpenGLTimeMonitor) +16 (int (*)(...))QOpenGLTimeMonitor::metaObject +24 (int (*)(...))QOpenGLTimeMonitor::qt_metacast +32 (int (*)(...))QOpenGLTimeMonitor::qt_metacall +40 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor +48 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLTimeMonitor + size=16 align=8 + base size=16 base align=8 +QOpenGLTimeMonitor (0x0x7f56b5540478) 0 + vptr=((& QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor) + 16) + QObject (0x0x7f56b27dfe40) 0 + primary-for QOpenGLTimeMonitor (0x0x7f56b5540478) + +Class QOpenGLVertexArrayObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLVertexArrayObject::QPrivateSignal (0x0x7f56b24248a0) 0 empty + +Class QOpenGLVertexArrayObject::Binder + size=8 align=8 + base size=8 base align=8 +QOpenGLVertexArrayObject::Binder (0x0x7f56b2424960) 0 + +Vtable for QOpenGLVertexArrayObject +QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QOpenGLVertexArrayObject) +16 (int (*)(...))QOpenGLVertexArrayObject::metaObject +24 (int (*)(...))QOpenGLVertexArrayObject::qt_metacast +32 (int (*)(...))QOpenGLVertexArrayObject::qt_metacall +40 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject +48 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLVertexArrayObject + size=16 align=8 + base size=16 base align=8 +QOpenGLVertexArrayObject (0x0x7f56b5540680) 0 + vptr=((& QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject) + 16) + QObject (0x0x7f56b24247e0) 0 + primary-for QOpenGLVertexArrayObject (0x0x7f56b5540680) + +Class QPaintDeviceWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPaintDeviceWindow::QPrivateSignal (0x0x7f56b257d5a0) 0 empty + +Vtable for QPaintDeviceWindow +QPaintDeviceWindow::_ZTV18QPaintDeviceWindow: 58 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QPaintDeviceWindow) +16 (int (*)(...))QPaintDeviceWindow::metaObject +24 (int (*)(...))QPaintDeviceWindow::qt_metacast +32 (int (*)(...))QPaintDeviceWindow::qt_metacall +40 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow +48 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow +56 (int (*)(...))QPaintDeviceWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QPaintDeviceWindow::exposeEvent +160 (int (*)(...))QWindow::resizeEvent +168 (int (*)(...))QWindow::moveEvent +176 (int (*)(...))QWindow::focusInEvent +184 (int (*)(...))QWindow::focusOutEvent +192 (int (*)(...))QWindow::showEvent +200 (int (*)(...))QWindow::hideEvent +208 (int (*)(...))QWindow::keyPressEvent +216 (int (*)(...))QWindow::keyReleaseEvent +224 (int (*)(...))QWindow::mousePressEvent +232 (int (*)(...))QWindow::mouseReleaseEvent +240 (int (*)(...))QWindow::mouseDoubleClickEvent +248 (int (*)(...))QWindow::mouseMoveEvent +256 (int (*)(...))QWindow::wheelEvent +264 (int (*)(...))QWindow::touchEvent +272 (int (*)(...))QWindow::tabletEvent +280 (int (*)(...))QWindow::nativeEvent +288 (int (*)(...))QWindow::surfaceHandle +296 (int (*)(...))QPaintDeviceWindow::paintEvent +304 (int (*)(...))QPaintDeviceWindow::metric +312 (int (*)(...))QPaintDeviceWindow::paintEngine +320 (int (*)(...))-16 +328 (int (*)(...))(& _ZTI18QPaintDeviceWindow) +336 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD1Ev +344 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD0Ev +352 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +360 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +368 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +376 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv +384 (int (*)(...))-40 +392 (int (*)(...))(& _ZTI18QPaintDeviceWindow) +400 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD1Ev +408 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD0Ev +416 (int (*)(...))QPaintDevice::devType +424 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv +432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow6metricEN12QPaintDevice17PaintDeviceMetricE +440 (int (*)(...))QPaintDevice::initPainter +448 (int (*)(...))QPaintDevice::redirected +456 (int (*)(...))QPaintDevice::sharedPainter + +Class QPaintDeviceWindow + size=64 align=8 + base size=64 base align=8 +QPaintDeviceWindow (0x0x7f56b91fb770) 0 + vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 16) + QWindow (0x0x7f56b91fb7e0) 0 + primary-for QPaintDeviceWindow (0x0x7f56b91fb770) + QObject (0x0x7f56b24cfa80) 0 + primary-for QWindow (0x0x7f56b91fb7e0) + QSurface (0x0x7f56b24cfae0) 16 + vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 336) + QPaintDevice (0x0x7f56b257d540) 40 + vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 400) + +Class QOpenGLWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLWindow::QPrivateSignal (0x0x7f56b259dea0) 0 empty + +Vtable for QOpenGLWindow +QOpenGLWindow::_ZTV13QOpenGLWindow: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QOpenGLWindow) +16 (int (*)(...))QOpenGLWindow::metaObject +24 (int (*)(...))QOpenGLWindow::qt_metacast +32 (int (*)(...))QOpenGLWindow::qt_metacall +40 (int (*)(...))QOpenGLWindow::~QOpenGLWindow +48 (int (*)(...))QOpenGLWindow::~QOpenGLWindow +56 (int (*)(...))QPaintDeviceWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QPaintDeviceWindow::exposeEvent +160 (int (*)(...))QOpenGLWindow::resizeEvent +168 (int (*)(...))QWindow::moveEvent +176 (int (*)(...))QWindow::focusInEvent +184 (int (*)(...))QWindow::focusOutEvent +192 (int (*)(...))QWindow::showEvent +200 (int (*)(...))QWindow::hideEvent +208 (int (*)(...))QWindow::keyPressEvent +216 (int (*)(...))QWindow::keyReleaseEvent +224 (int (*)(...))QWindow::mousePressEvent +232 (int (*)(...))QWindow::mouseReleaseEvent +240 (int (*)(...))QWindow::mouseDoubleClickEvent +248 (int (*)(...))QWindow::mouseMoveEvent +256 (int (*)(...))QWindow::wheelEvent +264 (int (*)(...))QWindow::touchEvent +272 (int (*)(...))QWindow::tabletEvent +280 (int (*)(...))QWindow::nativeEvent +288 (int (*)(...))QWindow::surfaceHandle +296 (int (*)(...))QOpenGLWindow::paintEvent +304 (int (*)(...))QOpenGLWindow::metric +312 (int (*)(...))QPaintDeviceWindow::paintEngine +320 (int (*)(...))QOpenGLWindow::initializeGL +328 (int (*)(...))QOpenGLWindow::resizeGL +336 (int (*)(...))QOpenGLWindow::paintGL +344 (int (*)(...))QOpenGLWindow::paintUnderGL +352 (int (*)(...))QOpenGLWindow::paintOverGL +360 (int (*)(...))QOpenGLWindow::redirected +368 (int (*)(...))-16 +376 (int (*)(...))(& _ZTI13QOpenGLWindow) +384 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD1Ev +392 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD0Ev +400 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +408 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +416 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +424 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv +432 (int (*)(...))-40 +440 (int (*)(...))(& _ZTI13QOpenGLWindow) +448 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD1Ev +456 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD0Ev +464 (int (*)(...))QPaintDevice::devType +472 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv +480 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QPaintDevice::initPainter +496 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow10redirectedEP6QPoint +504 (int (*)(...))QPaintDevice::sharedPainter + +Class QOpenGLWindow + size=64 align=8 + base size=64 base align=8 +QOpenGLWindow (0x0x7f56b5540a90) 0 + vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 16) + QPaintDeviceWindow (0x0x7f56b91fb9a0) 0 + primary-for QOpenGLWindow (0x0x7f56b5540a90) + QWindow (0x0x7f56b91fba10) 0 + primary-for QPaintDeviceWindow (0x0x7f56b91fb9a0) + QObject (0x0x7f56b259d5a0) 0 + primary-for QWindow (0x0x7f56b91fba10) + QSurface (0x0x7f56b259d600) 16 + vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 384) + QPaintDevice (0x0x7f56b259de40) 40 + vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 448) + +Class QPageSize + size=8 align=8 + base size=8 base align=8 +QPageSize (0x0x7f56b25df900) 0 + +Class QPageLayout + size=8 align=8 + base size=8 base align=8 +QPageLayout (0x0x7f56b177aa80) 0 + +Class QPagedPaintDevice::Margins + size=32 align=8 + base size=32 base align=8 +QPagedPaintDevice::Margins (0x0x7f56b081c240) 0 + +Vtable for QPagedPaintDevice +QPagedPaintDevice::_ZTV17QPagedPaintDevice: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QPagedPaintDevice) +16 0 +24 0 +32 (int (*)(...))QPaintDevice::devType +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QPaintDevice::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))QPagedPaintDevice::setPageSize +96 (int (*)(...))QPagedPaintDevice::setPageSizeMM +104 (int (*)(...))QPagedPaintDevice::setMargins + +Class QPagedPaintDevice + size=32 align=8 + base size=32 base align=8 +QPagedPaintDevice (0x0x7f56b1253618) 0 + vptr=((& QPagedPaintDevice::_ZTV17QPagedPaintDevice) + 16) + QPaintDevice (0x0x7f56b081c1e0) 0 + primary-for QPagedPaintDevice (0x0x7f56b1253618) + +Class QPainter::PixmapFragment + size=80 align=8 + base size=80 base align=8 +QPainter::PixmapFragment (0x0x7f56b081c3c0) 0 + +Class QPainter + size=8 align=8 + base size=8 base align=8 +QPainter (0x0x7f56b081c300) 0 + +Class QTextItem + size=1 align=1 + base size=0 base align=1 +QTextItem (0x0x7f56af4b24e0) 0 empty + +Vtable for QPaintEngine +QPaintEngine::_ZTV12QPaintEngine: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QPaintEngine) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))QPaintEngine::drawRects +64 (int (*)(...))QPaintEngine::drawRects +72 (int (*)(...))QPaintEngine::drawLines +80 (int (*)(...))QPaintEngine::drawLines +88 (int (*)(...))QPaintEngine::drawEllipse +96 (int (*)(...))QPaintEngine::drawEllipse +104 (int (*)(...))QPaintEngine::drawPath +112 (int (*)(...))QPaintEngine::drawPoints +120 (int (*)(...))QPaintEngine::drawPoints +128 (int (*)(...))QPaintEngine::drawPolygon +136 (int (*)(...))QPaintEngine::drawPolygon +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QPaintEngine::drawTextItem +160 (int (*)(...))QPaintEngine::drawTiledPixmap +168 (int (*)(...))QPaintEngine::drawImage +176 (int (*)(...))QPaintEngine::coordinateOffset +184 (int (*)(...))__cxa_pure_virtual + +Class QPaintEngine + size=32 align=8 + base size=32 base align=8 +QPaintEngine (0x0x7f56aed657e0) 0 + vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16) + +Class QPaintEngineState + size=4 align=4 + base size=4 base align=4 +QPaintEngineState (0x0x7f56aeaf5600) 0 + +Class QPdfWriter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPdfWriter::QPrivateSignal (0x0x7f56ae54df60) 0 empty + +Vtable for QPdfWriter +QPdfWriter::_ZTV10QPdfWriter: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QPdfWriter) +16 (int (*)(...))QPdfWriter::metaObject +24 (int (*)(...))QPdfWriter::qt_metacast +32 (int (*)(...))QPdfWriter::qt_metacall +40 (int (*)(...))QPdfWriter::~QPdfWriter +48 (int (*)(...))QPdfWriter::~QPdfWriter +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPdfWriter::newPage +120 (int (*)(...))QPdfWriter::setPageSize +128 (int (*)(...))QPdfWriter::setPageSizeMM +136 (int (*)(...))QPdfWriter::setMargins +144 (int (*)(...))QPdfWriter::paintEngine +152 (int (*)(...))QPdfWriter::metric +160 (int (*)(...))-16 +168 (int (*)(...))(& _ZTI10QPdfWriter) +176 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD1Ev +184 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD0Ev +192 (int (*)(...))QPaintDevice::devType +200 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter11paintEngineEv +208 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter6metricEN12QPaintDevice17PaintDeviceMetricE +216 (int (*)(...))QPaintDevice::initPainter +224 (int (*)(...))QPaintDevice::redirected +232 (int (*)(...))QPaintDevice::sharedPainter +240 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter7newPageEv +248 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter11setPageSizeEN17QPagedPaintDevice8PageSizeE +256 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter13setPageSizeMMERK6QSizeF +264 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter10setMarginsERKN17QPagedPaintDevice7MarginsE + +Class QPdfWriter + size=48 align=8 + base size=48 base align=8 +QPdfWriter (0x0x7f56b820a540) 0 + vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 16) + QObject (0x0x7f56ae54dc00) 0 + primary-for QPdfWriter (0x0x7f56b820a540) + QPagedPaintDevice (0x0x7f56b05a24e0) 16 + vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 176) + QPaintDevice (0x0x7f56ae54dc60) 16 + primary-for QPagedPaintDevice (0x0x7f56b05a24e0) + +Vtable for QPicture +QPicture::_ZTV8QPicture: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QPicture) +16 (int (*)(...))QPicture::~QPicture +24 (int (*)(...))QPicture::~QPicture +32 (int (*)(...))QPicture::devType +40 (int (*)(...))QPicture::paintEngine +48 (int (*)(...))QPicture::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter +80 (int (*)(...))QPicture::setData + +Class QPicture + size=32 align=8 + base size=32 base align=8 +QPicture (0x0x7f56b05a2b60) 0 + vptr=((& QPicture::_ZTV8QPicture) + 16) + QPaintDevice (0x0x7f56ae58ae40) 0 + primary-for QPicture (0x0x7f56b05a2b60) + +Class QPictureIO + size=8 align=8 + base size=8 base align=8 +QPictureIO (0x0x7f56ad4a23c0) 0 + +Class QPictureFormatPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPictureFormatPlugin::QPrivateSignal (0x0x7f56ad4a26c0) 0 empty + +Vtable for QPictureFormatPlugin +QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QPictureFormatPlugin) +16 (int (*)(...))QPictureFormatPlugin::metaObject +24 (int (*)(...))QPictureFormatPlugin::qt_metacast +32 (int (*)(...))QPictureFormatPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPictureFormatPlugin::loadPicture +120 (int (*)(...))QPictureFormatPlugin::savePicture +128 (int (*)(...))__cxa_pure_virtual + +Class QPictureFormatPlugin + size=16 align=8 + base size=16 base align=8 +QPictureFormatPlugin (0x0x7f56ae708410) 0 + vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16) + QObject (0x0x7f56ad4a2660) 0 + primary-for QPictureFormatPlugin (0x0x7f56ae708410) + +Class QPixmapCache::Key + size=8 align=8 + base size=8 base align=8 +QPixmapCache::Key (0x0x7f56ad4a2d80) 0 + +Class QPixmapCache + size=1 align=1 + base size=0 base align=1 +QPixmapCache (0x0x7f56ad4a2900) 0 empty + +Class QRasterWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRasterWindow::QPrivateSignal (0x0x7f56aca27a80) 0 empty + +Vtable for QRasterWindow +QRasterWindow::_ZTV13QRasterWindow: 59 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QRasterWindow) +16 (int (*)(...))QRasterWindow::metaObject +24 (int (*)(...))QRasterWindow::qt_metacast +32 (int (*)(...))QRasterWindow::qt_metacall +40 (int (*)(...))QRasterWindow::~QRasterWindow +48 (int (*)(...))QRasterWindow::~QRasterWindow +56 (int (*)(...))QPaintDeviceWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QPaintDeviceWindow::exposeEvent +160 (int (*)(...))QWindow::resizeEvent +168 (int (*)(...))QWindow::moveEvent +176 (int (*)(...))QWindow::focusInEvent +184 (int (*)(...))QWindow::focusOutEvent +192 (int (*)(...))QWindow::showEvent +200 (int (*)(...))QWindow::hideEvent +208 (int (*)(...))QWindow::keyPressEvent +216 (int (*)(...))QWindow::keyReleaseEvent +224 (int (*)(...))QWindow::mousePressEvent +232 (int (*)(...))QWindow::mouseReleaseEvent +240 (int (*)(...))QWindow::mouseDoubleClickEvent +248 (int (*)(...))QWindow::mouseMoveEvent +256 (int (*)(...))QWindow::wheelEvent +264 (int (*)(...))QWindow::touchEvent +272 (int (*)(...))QWindow::tabletEvent +280 (int (*)(...))QWindow::nativeEvent +288 (int (*)(...))QWindow::surfaceHandle +296 (int (*)(...))QPaintDeviceWindow::paintEvent +304 (int (*)(...))QRasterWindow::metric +312 (int (*)(...))QPaintDeviceWindow::paintEngine +320 (int (*)(...))QRasterWindow::redirected +328 (int (*)(...))-16 +336 (int (*)(...))(& _ZTI13QRasterWindow) +344 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD1Ev +352 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD0Ev +360 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +368 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +376 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +384 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv +392 (int (*)(...))-40 +400 (int (*)(...))(& _ZTI13QRasterWindow) +408 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD1Ev +416 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD0Ev +424 (int (*)(...))QPaintDevice::devType +432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv +440 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow6metricEN12QPaintDevice17PaintDeviceMetricE +448 (int (*)(...))QPaintDevice::initPainter +456 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow10redirectedEP6QPoint +464 (int (*)(...))QPaintDevice::sharedPainter + +Class QRasterWindow + size=64 align=8 + base size=64 base align=8 +QRasterWindow (0x0x7f56ad7dc1a0) 0 + vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 16) + QPaintDeviceWindow (0x0x7f56b7ac0000) 0 + primary-for QRasterWindow (0x0x7f56ad7dc1a0) + QWindow (0x0x7f56b7ac0070) 0 + primary-for QPaintDeviceWindow (0x0x7f56b7ac0000) + QObject (0x0x7f56aca278a0) 0 + primary-for QWindow (0x0x7f56b7ac0070) + QSurface (0x0x7f56aca27900) 16 + vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 344) + QPaintDevice (0x0x7f56aca279c0) 40 + vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 408) + +Class QScreen::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScreen::QPrivateSignal (0x0x7f56aca446c0) 0 empty + +Vtable for QScreen +QScreen::_ZTV7QScreen: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QScreen) +16 (int (*)(...))QScreen::metaObject +24 (int (*)(...))QScreen::qt_metacast +32 (int (*)(...))QScreen::qt_metacall +40 (int (*)(...))QScreen::~QScreen +48 (int (*)(...))QScreen::~QScreen +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QScreen + size=16 align=8 + base size=16 base align=8 +QScreen (0x0x7f56ad7dcea0) 0 + vptr=((& QScreen::_ZTV7QScreen) + 16) + QObject (0x0x7f56aca44600) 0 + primary-for QScreen (0x0x7f56ad7dcea0) + +Class QSessionManager::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSessionManager::QPrivateSignal (0x0x7f56aca67480) 0 empty + +Vtable for QSessionManager +QSessionManager::_ZTV15QSessionManager: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSessionManager) +16 (int (*)(...))QSessionManager::metaObject +24 (int (*)(...))QSessionManager::qt_metacast +32 (int (*)(...))QSessionManager::qt_metacall +40 (int (*)(...))QSessionManager::~QSessionManager +48 (int (*)(...))QSessionManager::~QSessionManager +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSessionManager + size=16 align=8 + base size=16 base align=8 +QSessionManager (0x0x7f56ad4228f0) 0 + vptr=((& QSessionManager::_ZTV15QSessionManager) + 16) + QObject (0x0x7f56aca673c0) 0 + primary-for QSessionManager (0x0x7f56ad4228f0) + +Vtable for QStandardItem +QStandardItem::_ZTV13QStandardItem: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QStandardItem) +16 (int (*)(...))QStandardItem::~QStandardItem +24 (int (*)(...))QStandardItem::~QStandardItem +32 (int (*)(...))QStandardItem::data +40 (int (*)(...))QStandardItem::setData +48 (int (*)(...))QStandardItem::clone +56 (int (*)(...))QStandardItem::type +64 (int (*)(...))QStandardItem::read +72 (int (*)(...))QStandardItem::write +80 (int (*)(...))QStandardItem::operator< + +Class QStandardItem + size=16 align=8 + base size=16 base align=8 +QStandardItem (0x0x7f56aca81060) 0 + vptr=((& QStandardItem::_ZTV13QStandardItem) + 16) + +Class QStandardItemModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStandardItemModel::QPrivateSignal (0x0x7f56acbd69c0) 0 empty + +Vtable for QStandardItemModel +QStandardItemModel::_ZTV18QStandardItemModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QStandardItemModel) +16 (int (*)(...))QStandardItemModel::metaObject +24 (int (*)(...))QStandardItemModel::qt_metacast +32 (int (*)(...))QStandardItemModel::qt_metacall +40 (int (*)(...))QStandardItemModel::~QStandardItemModel +48 (int (*)(...))QStandardItemModel::~QStandardItemModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStandardItemModel::index +120 (int (*)(...))QStandardItemModel::parent +128 (int (*)(...))QStandardItemModel::sibling +136 (int (*)(...))QStandardItemModel::rowCount +144 (int (*)(...))QStandardItemModel::columnCount +152 (int (*)(...))QStandardItemModel::hasChildren +160 (int (*)(...))QStandardItemModel::data +168 (int (*)(...))QStandardItemModel::setData +176 (int (*)(...))QStandardItemModel::headerData +184 (int (*)(...))QStandardItemModel::setHeaderData +192 (int (*)(...))QStandardItemModel::itemData +200 (int (*)(...))QStandardItemModel::setItemData +208 (int (*)(...))QStandardItemModel::mimeTypes +216 (int (*)(...))QStandardItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QStandardItemModel::dropMimeData +240 (int (*)(...))QStandardItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QStandardItemModel::insertRows +264 (int (*)(...))QStandardItemModel::insertColumns +272 (int (*)(...))QStandardItemModel::removeRows +280 (int (*)(...))QStandardItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QStandardItemModel::flags +328 (int (*)(...))QStandardItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QStandardItemModel + size=16 align=8 + base size=16 base align=8 +QStandardItemModel (0x0x7f56ad50dc30) 0 + vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16) + QAbstractItemModel (0x0x7f56ad50dc98) 0 + primary-for QStandardItemModel (0x0x7f56ad50dc30) + QObject (0x0x7f56acbd6960) 0 + primary-for QAbstractItemModel (0x0x7f56ad50dc98) + +Class QStaticText + size=8 align=8 + base size=8 base align=8 +QStaticText (0x0x7f56ac87dc60) 0 + +Class QStyleHints::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStyleHints::QPrivateSignal (0x0x7f56abf5b4e0) 0 empty + +Vtable for QStyleHints +QStyleHints::_ZTV11QStyleHints: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QStyleHints) +16 (int (*)(...))QStyleHints::metaObject +24 (int (*)(...))QStyleHints::qt_metacast +32 (int (*)(...))QStyleHints::qt_metacall +40 (int (*)(...))QStyleHints::~QStyleHints +48 (int (*)(...))QStyleHints::~QStyleHints +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QStyleHints + size=16 align=8 + base size=16 base align=8 +QStyleHints (0x0x7f56ac433000) 0 + vptr=((& QStyleHints::_ZTV11QStyleHints) + 16) + QObject (0x0x7f56abf3ef00) 0 + primary-for QStyleHints (0x0x7f56ac433000) + +Class QTextObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextObject::QPrivateSignal (0x0x7f56abf93c00) 0 empty + +Vtable for QTextObject +QTextObject::_ZTV11QTextObject: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTextObject) +16 (int (*)(...))QTextObject::metaObject +24 (int (*)(...))QTextObject::qt_metacast +32 (int (*)(...))QTextObject::qt_metacall +40 (int (*)(...))QTextObject::~QTextObject +48 (int (*)(...))QTextObject::~QTextObject +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTextObject + size=16 align=8 + base size=16 base align=8 +QTextObject (0x0x7f56ac433068) 0 + vptr=((& QTextObject::_ZTV11QTextObject) + 16) + QObject (0x0x7f56abf936c0) 0 + primary-for QTextObject (0x0x7f56ac433068) + +Class QTextBlockGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextBlockGroup::QPrivateSignal (0x0x7f56abfdf480) 0 empty + +Vtable for QTextBlockGroup +QTextBlockGroup::_ZTV15QTextBlockGroup: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QTextBlockGroup) +16 (int (*)(...))QTextBlockGroup::metaObject +24 (int (*)(...))QTextBlockGroup::qt_metacast +32 (int (*)(...))QTextBlockGroup::qt_metacall +40 (int (*)(...))QTextBlockGroup::~QTextBlockGroup +48 (int (*)(...))QTextBlockGroup::~QTextBlockGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTextBlockGroup::blockInserted +120 (int (*)(...))QTextBlockGroup::blockRemoved +128 (int (*)(...))QTextBlockGroup::blockFormatChanged + +Class QTextBlockGroup + size=16 align=8 + base size=16 base align=8 +QTextBlockGroup (0x0x7f56ac433958) 0 + vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16) + QTextObject (0x0x7f56ac4339c0) 0 + primary-for QTextBlockGroup (0x0x7f56ac433958) + QObject (0x0x7f56abfdf420) 0 + primary-for QTextObject (0x0x7f56ac4339c0) + +Vtable for QTextFrameLayoutData +QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QTextFrameLayoutData) +16 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData +24 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData + +Class QTextFrameLayoutData + size=8 align=8 + base size=8 base align=8 +QTextFrameLayoutData (0x0x7f56abfdfa20) 0 nearly-empty + vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16) + +Class QTextFrame::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextFrame::QPrivateSignal (0x0x7f56abbfb5a0) 0 empty + +Class QTextFrame::iterator + size=32 align=8 + base size=28 base align=8 +QTextFrame::iterator (0x0x7f56abbfb8a0) 0 + +Vtable for QTextFrame +QTextFrame::_ZTV10QTextFrame: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTextFrame) +16 (int (*)(...))QTextFrame::metaObject +24 (int (*)(...))QTextFrame::qt_metacast +32 (int (*)(...))QTextFrame::qt_metacall +40 (int (*)(...))QTextFrame::~QTextFrame +48 (int (*)(...))QTextFrame::~QTextFrame +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTextFrame + size=16 align=8 + base size=16 base align=8 +QTextFrame (0x0x7f56ac433b60) 0 + vptr=((& QTextFrame::_ZTV10QTextFrame) + 16) + QTextObject (0x0x7f56ac433c98) 0 + primary-for QTextFrame (0x0x7f56ac433b60) + QObject (0x0x7f56abbfb540) 0 + primary-for QTextObject (0x0x7f56ac433c98) + +Vtable for QTextBlockUserData +QTextBlockUserData::_ZTV18QTextBlockUserData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QTextBlockUserData) +16 (int (*)(...))QTextBlockUserData::~QTextBlockUserData +24 (int (*)(...))QTextBlockUserData::~QTextBlockUserData + +Class QTextBlockUserData + size=8 align=8 + base size=8 base align=8 +QTextBlockUserData (0x0x7f56ad2a6360) 0 nearly-empty + vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16) + +Class QTextBlock::iterator + size=24 align=8 + base size=20 base align=8 +QTextBlock::iterator (0x0x7f56ad2a6420) 0 + +Class QTextBlock + size=16 align=8 + base size=12 base align=8 +QTextBlock (0x0x7f56ad2a63c0) 0 + +Class QTextFragment + size=16 align=8 + base size=16 base align=8 +QTextFragment (0x0x7f56ac256120) 0 + +Class QSyntaxHighlighter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSyntaxHighlighter::QPrivateSignal (0x0x7f56ac392900) 0 empty + +Vtable for QSyntaxHighlighter +QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QSyntaxHighlighter) +16 (int (*)(...))QSyntaxHighlighter::metaObject +24 (int (*)(...))QSyntaxHighlighter::qt_metacast +32 (int (*)(...))QSyntaxHighlighter::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QSyntaxHighlighter + size=16 align=8 + base size=16 base align=8 +QSyntaxHighlighter (0x0x7f56ac39d548) 0 + vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16) + QObject (0x0x7f56ac3928a0) 0 + primary-for QSyntaxHighlighter (0x0x7f56ac39d548) + +Class QTextDocumentFragment + size=8 align=8 + base size=8 base align=8 +QTextDocumentFragment (0x0x7f56ac392ae0) 0 + +Class QTextDocumentWriter + size=8 align=8 + base size=8 base align=8 +QTextDocumentWriter (0x0x7f56ac392b40) 0 + +Class QTextList::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextList::QPrivateSignal (0x0x7f56ac392c00) 0 empty + +Vtable for QTextList +QTextList::_ZTV9QTextList: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTextList) +16 (int (*)(...))QTextList::metaObject +24 (int (*)(...))QTextList::qt_metacast +32 (int (*)(...))QTextList::qt_metacall +40 (int (*)(...))QTextList::~QTextList +48 (int (*)(...))QTextList::~QTextList +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTextBlockGroup::blockInserted +120 (int (*)(...))QTextBlockGroup::blockRemoved +128 (int (*)(...))QTextBlockGroup::blockFormatChanged + +Class QTextList + size=16 align=8 + base size=16 base align=8 +QTextList (0x0x7f56ac39d5b0) 0 + vptr=((& QTextList::_ZTV9QTextList) + 16) + QTextBlockGroup (0x0x7f56ac39d618) 0 + primary-for QTextList (0x0x7f56ac39d5b0) + QTextObject (0x0x7f56ac39d680) 0 + primary-for QTextBlockGroup (0x0x7f56ac39d618) + QObject (0x0x7f56ac392ba0) 0 + primary-for QTextObject (0x0x7f56ac39d680) + +Class QTextTableCell + size=16 align=8 + base size=12 base align=8 +QTextTableCell (0x0x7f56ab7d2240) 0 + +Class QTextTable::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextTable::QPrivateSignal (0x0x7f56ab7d2a80) 0 empty + +Vtable for QTextTable +QTextTable::_ZTV10QTextTable: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTextTable) +16 (int (*)(...))QTextTable::metaObject +24 (int (*)(...))QTextTable::qt_metacast +32 (int (*)(...))QTextTable::qt_metacall +40 (int (*)(...))QTextTable::~QTextTable +48 (int (*)(...))QTextTable::~QTextTable +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTextTable + size=16 align=8 + base size=16 base align=8 +QTextTable (0x0x7f56ac39d6e8) 0 + vptr=((& QTextTable::_ZTV10QTextTable) + 16) + QTextFrame (0x0x7f56ac39d750) 0 + primary-for QTextTable (0x0x7f56ac39d6e8) + QTextObject (0x0x7f56ac39d7b8) 0 + primary-for QTextFrame (0x0x7f56ac39d750) + QObject (0x0x7f56ab7d2a20) 0 + primary-for QTextObject (0x0x7f56ac39d7b8) + +Class QValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QValidator::QPrivateSignal (0x0x7f56ab871060) 0 empty + +Vtable for QValidator +QValidator::_ZTV10QValidator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QValidator) +16 (int (*)(...))QValidator::metaObject +24 (int (*)(...))QValidator::qt_metacast +32 (int (*)(...))QValidator::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))QValidator::fixup + +Class QValidator + size=16 align=8 + base size=16 base align=8 +QValidator (0x0x7f56ac39d820) 0 + vptr=((& QValidator::_ZTV10QValidator) + 16) + QObject (0x0x7f56ab871000) 0 + primary-for QValidator (0x0x7f56ac39d820) + +Class QIntValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIntValidator::QPrivateSignal (0x0x7f56ab871360) 0 empty + +Vtable for QIntValidator +QIntValidator::_ZTV13QIntValidator: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QIntValidator) +16 (int (*)(...))QIntValidator::metaObject +24 (int (*)(...))QIntValidator::qt_metacast +32 (int (*)(...))QIntValidator::qt_metacall +40 (int (*)(...))QIntValidator::~QIntValidator +48 (int (*)(...))QIntValidator::~QIntValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIntValidator::validate +120 (int (*)(...))QIntValidator::fixup +128 (int (*)(...))QIntValidator::setRange + +Class QIntValidator + size=24 align=8 + base size=24 base align=8 +QIntValidator (0x0x7f56ac39d888) 0 + vptr=((& QIntValidator::_ZTV13QIntValidator) + 16) + QValidator (0x0x7f56ac39d8f0) 0 + primary-for QIntValidator (0x0x7f56ac39d888) + QObject (0x0x7f56ab871300) 0 + primary-for QValidator (0x0x7f56ac39d8f0) + +Class QDoubleValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDoubleValidator::QPrivateSignal (0x0x7f56ab8715a0) 0 empty + +Vtable for QDoubleValidator +QDoubleValidator::_ZTV16QDoubleValidator: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QDoubleValidator) +16 (int (*)(...))QDoubleValidator::metaObject +24 (int (*)(...))QDoubleValidator::qt_metacast +32 (int (*)(...))QDoubleValidator::qt_metacall +40 (int (*)(...))QDoubleValidator::~QDoubleValidator +48 (int (*)(...))QDoubleValidator::~QDoubleValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDoubleValidator::validate +120 (int (*)(...))QValidator::fixup +128 (int (*)(...))QDoubleValidator::setRange + +Class QDoubleValidator + size=40 align=8 + base size=36 base align=8 +QDoubleValidator (0x0x7f56ac39d958) 0 + vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16) + QValidator (0x0x7f56ac39d9c0) 0 + primary-for QDoubleValidator (0x0x7f56ac39d958) + QObject (0x0x7f56ab871540) 0 + primary-for QValidator (0x0x7f56ac39d9c0) + +Class QRegExpValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRegExpValidator::QPrivateSignal (0x0x7f56ab871a20) 0 empty + +Vtable for QRegExpValidator +QRegExpValidator::_ZTV16QRegExpValidator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QRegExpValidator) +16 (int (*)(...))QRegExpValidator::metaObject +24 (int (*)(...))QRegExpValidator::qt_metacast +32 (int (*)(...))QRegExpValidator::qt_metacall +40 (int (*)(...))QRegExpValidator::~QRegExpValidator +48 (int (*)(...))QRegExpValidator::~QRegExpValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QRegExpValidator::validate +120 (int (*)(...))QValidator::fixup + +Class QRegExpValidator + size=24 align=8 + base size=24 base align=8 +QRegExpValidator (0x0x7f56ac39da28) 0 + vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16) + QValidator (0x0x7f56ac39da90) 0 + primary-for QRegExpValidator (0x0x7f56ac39da28) + QObject (0x0x7f56ab8719c0) 0 + primary-for QValidator (0x0x7f56ac39da90) + +Class QRegularExpressionValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRegularExpressionValidator::QPrivateSignal (0x0x7f56ab871c00) 0 empty + +Vtable for QRegularExpressionValidator +QRegularExpressionValidator::_ZTV27QRegularExpressionValidator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QRegularExpressionValidator) +16 (int (*)(...))QRegularExpressionValidator::metaObject +24 (int (*)(...))QRegularExpressionValidator::qt_metacast +32 (int (*)(...))QRegularExpressionValidator::qt_metacall +40 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator +48 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QRegularExpressionValidator::validate +120 (int (*)(...))QValidator::fixup + +Class QRegularExpressionValidator + size=16 align=8 + base size=16 base align=8 +QRegularExpressionValidator (0x0x7f56ac39daf8) 0 + vptr=((& QRegularExpressionValidator::_ZTV27QRegularExpressionValidator) + 16) + QValidator (0x0x7f56ac39db60) 0 + primary-for QRegularExpressionValidator (0x0x7f56ac39daf8) + QObject (0x0x7f56ab871ba0) 0 + primary-for QValidator (0x0x7f56ac39db60) + +Class QSizePolicy::Bits + size=4 align=4 + base size=4 base align=4 +QSizePolicy::Bits (0x0x7f56ab871e40) 0 + +Class QSizePolicy + size=4 align=4 + base size=4 base align=4 +QSizePolicy (0x0x7f56ab871de0) 0 + +Class QWidgetData + size=88 align=8 + base size=88 base align=8 +QWidgetData (0x0x7f56ab656ae0) 0 + +Class QWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWidget::QPrivateSignal (0x0x7f56ab656c00) 0 empty + +Vtable for QWidget +QWidget::_ZTV7QWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QWidget) +16 (int (*)(...))QWidget::metaObject +24 (int (*)(...))QWidget::qt_metacast +32 (int (*)(...))QWidget::qt_metacall +40 (int (*)(...))QWidget::~QWidget +48 (int (*)(...))QWidget::~QWidget +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI7QWidget) +448 (int (*)(...))QWidget::_ZThn16_N7QWidgetD1Ev +456 (int (*)(...))QWidget::_ZThn16_N7QWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QWidget + size=48 align=8 + base size=48 base align=8 +QWidget (0x0x7f56b64d3cb0) 0 + vptr=((& QWidget::_ZTV7QWidget) + 16) + QObject (0x0x7f56ab656b40) 0 + primary-for QWidget (0x0x7f56b64d3cb0) + QPaintDevice (0x0x7f56ab656ba0) 16 + vptr=((& QWidget::_ZTV7QWidget) + 448) + +Class QAbstractButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractButton::QPrivateSignal (0x0x7f56ab7345a0) 0 empty + +Vtable for QAbstractButton +QAbstractButton::_ZTV15QAbstractButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAbstractButton) +16 (int (*)(...))QAbstractButton::metaObject +24 (int (*)(...))QAbstractButton::qt_metacast +32 (int (*)(...))QAbstractButton::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI15QAbstractButton) +472 0 +480 0 +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractButton + size=48 align=8 + base size=48 base align=8 +QAbstractButton (0x0x7f56ab65af70) 0 + vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16) + QWidget (0x0x7f56b65bbaf0) 0 + primary-for QAbstractButton (0x0x7f56ab65af70) + QObject (0x0x7f56ab7344e0) 0 + primary-for QWidget (0x0x7f56b65bbaf0) + QPaintDevice (0x0x7f56ab734540) 16 + vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 472) + +Class QAbstractSpinBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractSpinBox::QPrivateSignal (0x0x7f56ab734840) 0 empty + +Vtable for QAbstractSpinBox +QAbstractSpinBox::_ZTV16QAbstractSpinBox: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QAbstractSpinBox) +16 (int (*)(...))QAbstractSpinBox::metaObject +24 (int (*)(...))QAbstractSpinBox::qt_metacast +32 (int (*)(...))QAbstractSpinBox::qt_metacall +40 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox +48 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox +56 (int (*)(...))QAbstractSpinBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractSpinBox::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractSpinBox::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QAbstractSpinBox::wheelEvent +208 (int (*)(...))QAbstractSpinBox::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QAbstractSpinBox::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractSpinBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractSpinBox::validate +440 (int (*)(...))QAbstractSpinBox::fixup +448 (int (*)(...))QAbstractSpinBox::stepBy +456 (int (*)(...))QAbstractSpinBox::clear +464 (int (*)(...))QAbstractSpinBox::stepEnabled +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI16QAbstractSpinBox) +488 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev +496 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractSpinBox + size=48 align=8 + base size=48 base align=8 +QAbstractSpinBox (0x0x7f56ab757000) 0 + vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16) + QWidget (0x0x7f56b65bbb60) 0 + primary-for QAbstractSpinBox (0x0x7f56ab757000) + QObject (0x0x7f56ab734780) 0 + primary-for QWidget (0x0x7f56b65bbb60) + QPaintDevice (0x0x7f56ab7347e0) 16 + vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 488) + +Class QAbstractSlider::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractSlider::QPrivateSignal (0x0x7f56ab3ad420) 0 empty + +Vtable for QAbstractSlider +QAbstractSlider::_ZTV15QAbstractSlider: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAbstractSlider) +16 (int (*)(...))QAbstractSlider::metaObject +24 (int (*)(...))QAbstractSlider::qt_metacast +32 (int (*)(...))QAbstractSlider::qt_metacall +40 (int (*)(...))QAbstractSlider::~QAbstractSlider +48 (int (*)(...))QAbstractSlider::~QAbstractSlider +56 (int (*)(...))QAbstractSlider::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QAbstractSlider::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractSlider::sliderChange +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI15QAbstractSlider) +456 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev +464 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractSlider + size=48 align=8 + base size=48 base align=8 +QAbstractSlider (0x0x7f56ab757138) 0 + vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16) + QWidget (0x0x7f56b61f58c0) 0 + primary-for QAbstractSlider (0x0x7f56ab757138) + QObject (0x0x7f56ab3ad360) 0 + primary-for QWidget (0x0x7f56b61f58c0) + QPaintDevice (0x0x7f56ab3ad3c0) 16 + vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 456) + +Class QSlider::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSlider::QPrivateSignal (0x0x7f56ab3ad6c0) 0 empty + +Vtable for QSlider +QSlider::_ZTV7QSlider: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QSlider) +16 (int (*)(...))QSlider::metaObject +24 (int (*)(...))QSlider::qt_metacast +32 (int (*)(...))QSlider::qt_metacall +40 (int (*)(...))QSlider::~QSlider +48 (int (*)(...))QSlider::~QSlider +56 (int (*)(...))QSlider::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QSlider::sizeHint +136 (int (*)(...))QSlider::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSlider::mousePressEvent +176 (int (*)(...))QSlider::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QSlider::mouseMoveEvent +200 (int (*)(...))QAbstractSlider::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QSlider::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractSlider::sliderChange +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI7QSlider) +456 (int (*)(...))QSlider::_ZThn16_N7QSliderD1Ev +464 (int (*)(...))QSlider::_ZThn16_N7QSliderD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSlider + size=48 align=8 + base size=48 base align=8 +QSlider (0x0x7f56ab7571a0) 0 + vptr=((& QSlider::_ZTV7QSlider) + 16) + QAbstractSlider (0x0x7f56ab757208) 0 + primary-for QSlider (0x0x7f56ab7571a0) + QWidget (0x0x7f56b6249150) 0 + primary-for QAbstractSlider (0x0x7f56ab757208) + QObject (0x0x7f56ab3ad600) 0 + primary-for QWidget (0x0x7f56b6249150) + QPaintDevice (0x0x7f56ab3ad660) 16 + vptr=((& QSlider::_ZTV7QSlider) + 456) + +Class QStyle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStyle::QPrivateSignal (0x0x7f56ab3ad9c0) 0 empty + +Vtable for QStyle +QStyle::_ZTV6QStyle: 37 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QStyle) +16 (int (*)(...))QStyle::metaObject +24 (int (*)(...))QStyle::qt_metacast +32 (int (*)(...))QStyle::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStyle::polish +120 (int (*)(...))QStyle::unpolish +128 (int (*)(...))QStyle::polish +136 (int (*)(...))QStyle::unpolish +144 (int (*)(...))QStyle::polish +152 (int (*)(...))QStyle::itemTextRect +160 (int (*)(...))QStyle::itemPixmapRect +168 (int (*)(...))QStyle::drawItemText +176 (int (*)(...))QStyle::drawItemPixmap +184 (int (*)(...))QStyle::standardPalette +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))__cxa_pure_virtual +232 (int (*)(...))__cxa_pure_virtual +240 (int (*)(...))__cxa_pure_virtual +248 (int (*)(...))__cxa_pure_virtual +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))__cxa_pure_virtual +272 (int (*)(...))__cxa_pure_virtual +280 (int (*)(...))__cxa_pure_virtual +288 (int (*)(...))__cxa_pure_virtual + +Class QStyle + size=16 align=8 + base size=16 base align=8 +QStyle (0x0x7f56ab7572d8) 0 + vptr=((& QStyle::_ZTV6QStyle) + 16) + QObject (0x0x7f56ab3ad960) 0 + primary-for QStyle (0x0x7f56ab7572d8) + +Class QTabBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTabBar::QPrivateSignal (0x0x7f56ab46f2a0) 0 empty + +Vtable for QTabBar +QTabBar::_ZTV7QTabBar: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QTabBar) +16 (int (*)(...))QTabBar::metaObject +24 (int (*)(...))QTabBar::qt_metacast +32 (int (*)(...))QTabBar::qt_metacall +40 (int (*)(...))QTabBar::~QTabBar +48 (int (*)(...))QTabBar::~QTabBar +56 (int (*)(...))QTabBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTabBar::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QTabBar::sizeHint +136 (int (*)(...))QTabBar::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTabBar::mousePressEvent +176 (int (*)(...))QTabBar::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QTabBar::mouseMoveEvent +200 (int (*)(...))QTabBar::wheelEvent +208 (int (*)(...))QTabBar::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTabBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTabBar::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QTabBar::showEvent +352 (int (*)(...))QTabBar::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTabBar::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QTabBar::tabSizeHint +440 (int (*)(...))QTabBar::minimumTabSizeHint +448 (int (*)(...))QTabBar::tabInserted +456 (int (*)(...))QTabBar::tabRemoved +464 (int (*)(...))QTabBar::tabLayoutChange +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI7QTabBar) +488 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD1Ev +496 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTabBar + size=48 align=8 + base size=48 base align=8 +QTabBar (0x0x7f56ab7574e0) 0 + vptr=((& QTabBar::_ZTV7QTabBar) + 16) + QWidget (0x0x7f56b57009a0) 0 + primary-for QTabBar (0x0x7f56ab7574e0) + QObject (0x0x7f56ab46f1e0) 0 + primary-for QWidget (0x0x7f56b57009a0) + QPaintDevice (0x0x7f56ab46f240) 16 + vptr=((& QTabBar::_ZTV7QTabBar) + 488) + +Class QTabWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTabWidget::QPrivateSignal (0x0x7f56ab46f600) 0 empty + +Vtable for QTabWidget +QTabWidget::_ZTV10QTabWidget: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTabWidget) +16 (int (*)(...))QTabWidget::metaObject +24 (int (*)(...))QTabWidget::qt_metacast +32 (int (*)(...))QTabWidget::qt_metacall +40 (int (*)(...))QTabWidget::~QTabWidget +48 (int (*)(...))QTabWidget::~QTabWidget +56 (int (*)(...))QTabWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QTabWidget::sizeHint +136 (int (*)(...))QTabWidget::minimumSizeHint +144 (int (*)(...))QTabWidget::heightForWidth +152 (int (*)(...))QTabWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QTabWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTabWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTabWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QTabWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTabWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QTabWidget::tabInserted +440 (int (*)(...))QTabWidget::tabRemoved +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI10QTabWidget) +464 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD1Ev +472 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTabWidget + size=48 align=8 + base size=48 base align=8 +QTabWidget (0x0x7f56ab757548) 0 + vptr=((& QTabWidget::_ZTV10QTabWidget) + 16) + QWidget (0x0x7f56b573a000) 0 + primary-for QTabWidget (0x0x7f56ab757548) + QObject (0x0x7f56ab46f540) 0 + primary-for QWidget (0x0x7f56b573a000) + QPaintDevice (0x0x7f56ab46f5a0) 16 + vptr=((& QTabWidget::_ZTV10QTabWidget) + 464) + +Class QRubberBand::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRubberBand::QPrivateSignal (0x0x7f56ab46fa20) 0 empty + +Vtable for QRubberBand +QRubberBand::_ZTV11QRubberBand: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QRubberBand) +16 (int (*)(...))QRubberBand::metaObject +24 (int (*)(...))QRubberBand::qt_metacast +32 (int (*)(...))QRubberBand::qt_metacall +40 (int (*)(...))QRubberBand::~QRubberBand +48 (int (*)(...))QRubberBand::~QRubberBand +56 (int (*)(...))QRubberBand::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QRubberBand::paintEvent +264 (int (*)(...))QRubberBand::moveEvent +272 (int (*)(...))QRubberBand::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QRubberBand::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QRubberBand::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI11QRubberBand) +448 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD1Ev +456 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QRubberBand + size=48 align=8 + base size=48 base align=8 +QRubberBand (0x0x7f56ab7575b0) 0 + vptr=((& QRubberBand::_ZTV11QRubberBand) + 16) + QWidget (0x0x7f56b573a3f0) 0 + primary-for QRubberBand (0x0x7f56ab7575b0) + QObject (0x0x7f56ab46f960) 0 + primary-for QWidget (0x0x7f56b573a3f0) + QPaintDevice (0x0x7f56ab46f9c0) 16 + vptr=((& QRubberBand::_ZTV11QRubberBand) + 448) + +Class QFrame::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFrame::QPrivateSignal (0x0x7f56ab46fea0) 0 empty + +Vtable for QFrame +QFrame::_ZTV6QFrame: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QFrame) +16 (int (*)(...))QFrame::metaObject +24 (int (*)(...))QFrame::qt_metacast +32 (int (*)(...))QFrame::qt_metacall +40 (int (*)(...))QFrame::~QFrame +48 (int (*)(...))QFrame::~QFrame +56 (int (*)(...))QFrame::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFrame::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI6QFrame) +448 (int (*)(...))QFrame::_ZThn16_N6QFrameD1Ev +456 (int (*)(...))QFrame::_ZThn16_N6QFrameD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFrame + size=48 align=8 + base size=48 base align=8 +QFrame (0x0x7f56ab757618) 0 + vptr=((& QFrame::_ZTV6QFrame) + 16) + QWidget (0x0x7f56b573a620) 0 + primary-for QFrame (0x0x7f56ab757618) + QObject (0x0x7f56ab46fde0) 0 + primary-for QWidget (0x0x7f56b573a620) + QPaintDevice (0x0x7f56ab46fe40) 16 + vptr=((& QFrame::_ZTV6QFrame) + 448) + +Class QStyleOption + size=64 align=8 + base size=64 base align=8 +QStyleOption (0x0x7f56ab516240) 0 + +Class QStyleOptionFocusRect + size=80 align=8 + base size=80 base align=8 +QStyleOptionFocusRect (0x0x7f56ab757680) 0 + QStyleOption (0x0x7f56ab516300) 0 + +Class QStyleOptionFrame + size=80 align=8 + base size=80 base align=8 +QStyleOptionFrame (0x0x7f56ab7576e8) 0 + QStyleOption (0x0x7f56ab516540) 0 + +Class QStyleOptionTabWidgetFrame + size=136 align=8 + base size=132 base align=8 +QStyleOptionTabWidgetFrame (0x0x7f56ab757820) 0 + QStyleOption (0x0x7f56ab516e40) 0 + +Class QStyleOptionTabBarBase + size=104 align=8 + base size=101 base align=8 +QStyleOptionTabBarBase (0x0x7f56ab757888) 0 + QStyleOption (0x0x7f56ab16f0c0) 0 + +Class QStyleOptionHeader + size=120 align=8 + base size=116 base align=8 +QStyleOptionHeader (0x0x7f56ab7578f0) 0 + QStyleOption (0x0x7f56ab16f360) 0 + +Class QStyleOptionButton + size=96 align=8 + base size=96 base align=8 +QStyleOptionButton (0x0x7f56ab757958) 0 + QStyleOption (0x0x7f56ab16f5a0) 0 + +Class QStyleOptionTab + size=136 align=8 + base size=136 base align=8 +QStyleOptionTab (0x0x7f56ab757a90) 0 + QStyleOption (0x0x7f56ab16fea0) 0 + +Class QStyleOptionToolBar + size=88 align=8 + base size=88 base align=8 +QStyleOptionToolBar (0x0x7f56ab757c98) 0 + QStyleOption (0x0x7f56ab29f960) 0 + +Class QStyleOptionProgressBar + size=104 align=8 + base size=102 base align=8 +QStyleOptionProgressBar (0x0x7f56ab757dd0) 0 + QStyleOption (0x0x7f56ab3412a0) 0 + +Class QStyleOptionMenuItem + size=136 align=8 + base size=136 base align=8 +QStyleOptionMenuItem (0x0x7f56ab757e38) 0 + QStyleOption (0x0x7f56ab3414e0) 0 + +Class QStyleOptionDockWidget + size=80 align=8 + base size=76 base align=8 +QStyleOptionDockWidget (0x0x7f56ab757ea0) 0 + QStyleOption (0x0x7f56ab341720) 0 + +Class QStyleOptionViewItem + size=192 align=8 + base size=192 base align=8 +QStyleOptionViewItem (0x0x7f56ab757f70) 0 + QStyleOption (0x0x7f56ab341960) 0 + +Class QStyleOptionToolBox + size=88 align=8 + base size=88 base align=8 +QStyleOptionToolBox (0x0x7f56aaf730d0) 0 + QStyleOption (0x0x7f56aafb32a0) 0 + +Class QStyleOptionRubberBand + size=72 align=8 + base size=69 base align=8 +QStyleOptionRubberBand (0x0x7f56aaf73138) 0 + QStyleOption (0x0x7f56aafb34e0) 0 + +Class QStyleOptionComplex + size=72 align=8 + base size=72 base align=8 +QStyleOptionComplex (0x0x7f56aaf731a0) 0 + QStyleOption (0x0x7f56aafb3720) 0 + +Class QStyleOptionSlider + size=128 align=8 + base size=121 base align=8 +QStyleOptionSlider (0x0x7f56aaf73208) 0 + QStyleOptionComplex (0x0x7f56aaf73270) 0 + QStyleOption (0x0x7f56aafb3960) 0 + +Class QStyleOptionSpinBox + size=88 align=8 + base size=81 base align=8 +QStyleOptionSpinBox (0x0x7f56aaf732d8) 0 + QStyleOptionComplex (0x0x7f56aaf73340) 0 + QStyleOption (0x0x7f56aafb3d20) 0 + +Class QStyleOptionToolButton + size=136 align=8 + base size=136 base align=8 +QStyleOptionToolButton (0x0x7f56aaf733a8) 0 + QStyleOptionComplex (0x0x7f56aaf73410) 0 + QStyleOption (0x0x7f56aafb3f60) 0 + +Class QStyleOptionComboBox + size=120 align=8 + base size=120 base align=8 +QStyleOptionComboBox (0x0x7f56aaf73548) 0 + QStyleOptionComplex (0x0x7f56aaf735b0) 0 + QStyleOption (0x0x7f56b713e8a0) 0 + +Class QStyleOptionTitleBar + size=96 align=8 + base size=96 base align=8 +QStyleOptionTitleBar (0x0x7f56aaf73618) 0 + QStyleOptionComplex (0x0x7f56aaf73680) 0 + QStyleOption (0x0x7f56b713eae0) 0 + +Class QStyleOptionGroupBox + size=120 align=8 + base size=116 base align=8 +QStyleOptionGroupBox (0x0x7f56aaf736e8) 0 + QStyleOptionComplex (0x0x7f56aaf73750) 0 + QStyleOption (0x0x7f56b713ed80) 0 + +Class QStyleOptionSizeGrip + size=80 align=8 + base size=76 base align=8 +QStyleOptionSizeGrip (0x0x7f56aaf737b8) 0 + QStyleOptionComplex (0x0x7f56aaf73820) 0 + QStyleOption (0x0x7f56b6403000) 0 + +Class QStyleOptionGraphicsItem + size=152 align=8 + base size=152 base align=8 +QStyleOptionGraphicsItem (0x0x7f56aaf73888) 0 + QStyleOption (0x0x7f56b6403240) 0 + +Class QStyleHintReturn + size=8 align=4 + base size=8 base align=4 +QStyleHintReturn (0x0x7f56b64039c0) 0 + +Class QStyleHintReturnMask + size=16 align=8 + base size=16 base align=8 +QStyleHintReturnMask (0x0x7f56aaf73e38) 0 + QStyleHintReturn (0x0x7f56b6403a20) 0 + +Class QStyleHintReturnVariant + size=24 align=8 + base size=24 base align=8 +QStyleHintReturnVariant (0x0x7f56aaf73ea0) 0 + QStyleHintReturn (0x0x7f56b6403a80) 0 + +Class QAbstractItemDelegate::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemDelegate::QPrivateSignal (0x0x7f56b5f1e0c0) 0 empty + +Vtable for QAbstractItemDelegate +QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QAbstractItemDelegate) +16 (int (*)(...))QAbstractItemDelegate::metaObject +24 (int (*)(...))QAbstractItemDelegate::qt_metacast +32 (int (*)(...))QAbstractItemDelegate::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractItemDelegate::createEditor +136 (int (*)(...))QAbstractItemDelegate::destroyEditor +144 (int (*)(...))QAbstractItemDelegate::setEditorData +152 (int (*)(...))QAbstractItemDelegate::setModelData +160 (int (*)(...))QAbstractItemDelegate::updateEditorGeometry +168 (int (*)(...))QAbstractItemDelegate::editorEvent +176 (int (*)(...))QAbstractItemDelegate::helpEvent +184 (int (*)(...))QAbstractItemDelegate::paintingRoles + +Class QAbstractItemDelegate + size=16 align=8 + base size=16 base align=8 +QAbstractItemDelegate (0x0x7f56b5eeb410) 0 + vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16) + QObject (0x0x7f56b5f1e060) 0 + primary-for QAbstractItemDelegate (0x0x7f56b5eeb410) + +Class QAbstractScrollArea::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractScrollArea::QPrivateSignal (0x0x7f56b5f1e3c0) 0 empty + +Vtable for QAbstractScrollArea +QAbstractScrollArea::_ZTV19QAbstractScrollArea: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractScrollArea) +16 (int (*)(...))QAbstractScrollArea::metaObject +24 (int (*)(...))QAbstractScrollArea::qt_metacast +32 (int (*)(...))QAbstractScrollArea::qt_metacall +40 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea +48 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea +56 (int (*)(...))QAbstractScrollArea::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractScrollArea::mousePressEvent +176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent +184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent +192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractScrollArea::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractScrollArea::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractScrollArea::dragEnterEvent +320 (int (*)(...))QAbstractScrollArea::dragMoveEvent +328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent +336 (int (*)(...))QAbstractScrollArea::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QAbstractScrollArea::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI19QAbstractScrollArea) +480 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev +488 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractScrollArea + size=48 align=8 + base size=48 base align=8 +QAbstractScrollArea (0x0x7f56b5eeb478) 0 + vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16) + QFrame (0x0x7f56b5eeb4e0) 0 + primary-for QAbstractScrollArea (0x0x7f56b5eeb478) + QWidget (0x0x7f56b51acbd0) 0 + primary-for QFrame (0x0x7f56b5eeb4e0) + QObject (0x0x7f56b5f1e300) 0 + primary-for QWidget (0x0x7f56b51acbd0) + QPaintDevice (0x0x7f56b5f1e360) 16 + vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480) + +Class QAbstractItemView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemView::QPrivateSignal (0x0x7f56b5f1e720) 0 empty + +Vtable for QAbstractItemView +QAbstractItemView::_ZTV17QAbstractItemView: 106 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAbstractItemView) +16 (int (*)(...))QAbstractItemView::metaObject +24 (int (*)(...))QAbstractItemView::qt_metacast +32 (int (*)(...))QAbstractItemView::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QAbstractItemView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QAbstractScrollArea::scrollContentsBy +456 (int (*)(...))QAbstractItemView::viewportSizeHint +464 (int (*)(...))QAbstractItemView::setModel +472 (int (*)(...))QAbstractItemView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))__cxa_pure_virtual +496 (int (*)(...))__cxa_pure_virtual +504 (int (*)(...))__cxa_pure_virtual +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QAbstractItemView::reset +536 (int (*)(...))QAbstractItemView::setRootIndex +544 (int (*)(...))QAbstractItemView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QAbstractItemView::dataChanged +568 (int (*)(...))QAbstractItemView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QAbstractItemView::selectionChanged +592 (int (*)(...))QAbstractItemView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QAbstractItemView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))__cxa_pure_virtual +688 (int (*)(...))__cxa_pure_virtual +696 (int (*)(...))__cxa_pure_virtual +704 (int (*)(...))__cxa_pure_virtual +712 (int (*)(...))__cxa_pure_virtual +720 (int (*)(...))__cxa_pure_virtual +728 (int (*)(...))QAbstractItemView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))-16 +776 (int (*)(...))(& _ZTI17QAbstractItemView) +784 0 +792 0 +800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractItemView + size=48 align=8 + base size=48 base align=8 +QAbstractItemView (0x0x7f56b5eeb548) 0 + vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16) + QAbstractScrollArea (0x0x7f56b5eeb5b0) 0 + primary-for QAbstractItemView (0x0x7f56b5eeb548) + QFrame (0x0x7f56b5eeb618) 0 + primary-for QAbstractScrollArea (0x0x7f56b5eeb5b0) + QWidget (0x0x7f56b51bc4d0) 0 + primary-for QFrame (0x0x7f56b5eeb618) + QObject (0x0x7f56b5f1e660) 0 + primary-for QWidget (0x0x7f56b51bc4d0) + QPaintDevice (0x0x7f56b5f1e6c0) 16 + vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784) + +Vtable for QAccessibleWidget +QAccessibleWidget::_ZTV17QAccessibleWidget: 35 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessibleWidget) +16 (int (*)(...))QAccessibleWidget::~QAccessibleWidget +24 (int (*)(...))QAccessibleWidget::~QAccessibleWidget +32 (int (*)(...))QAccessibleWidget::isValid +40 (int (*)(...))QAccessibleObject::object +48 (int (*)(...))QAccessibleWidget::window +56 (int (*)(...))QAccessibleWidget::relations +64 (int (*)(...))QAccessibleWidget::focusChild +72 (int (*)(...))QAccessibleObject::childAt +80 (int (*)(...))QAccessibleWidget::parent +88 (int (*)(...))QAccessibleWidget::child +96 (int (*)(...))QAccessibleWidget::childCount +104 (int (*)(...))QAccessibleWidget::indexOfChild +112 (int (*)(...))QAccessibleWidget::text +120 (int (*)(...))QAccessibleObject::setText +128 (int (*)(...))QAccessibleWidget::rect +136 (int (*)(...))QAccessibleWidget::role +144 (int (*)(...))QAccessibleWidget::state +152 (int (*)(...))QAccessibleWidget::foregroundColor +160 (int (*)(...))QAccessibleWidget::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleWidget::interface_cast +184 (int (*)(...))QAccessibleWidget::actionNames +192 (int (*)(...))QAccessibleWidget::doAction +200 (int (*)(...))QAccessibleWidget::keyBindingsForAction +208 (int (*)(...))-16 +216 (int (*)(...))(& _ZTI17QAccessibleWidget) +224 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD1Ev +232 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD0Ev +240 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget11actionNamesEv +248 (int (*)(...))QAccessibleActionInterface::localizedActionName +256 (int (*)(...))QAccessibleActionInterface::localizedActionDescription +264 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidget8doActionERK7QString +272 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget20keyBindingsForActionERK7QString + +Class QAccessibleWidget + size=32 align=8 + base size=32 base align=8 +QAccessibleWidget (0x0x7f56b4e1fb60) 0 + vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16) + QAccessibleObject (0x0x7f56b5eeb750) 0 + primary-for QAccessibleWidget (0x0x7f56b4e1fb60) + QAccessibleInterface (0x0x7f56b2e5e480) 0 nearly-empty + primary-for QAccessibleObject (0x0x7f56b5eeb750) + QAccessibleActionInterface (0x0x7f56b2e5e4e0) 16 nearly-empty + vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 224) + +Class QAction::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAction::QPrivateSignal (0x0x7f56b2e5e600) 0 empty + +Vtable for QAction +QAction::_ZTV7QAction: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QAction) +16 (int (*)(...))QAction::metaObject +24 (int (*)(...))QAction::qt_metacast +32 (int (*)(...))QAction::qt_metacall +40 (int (*)(...))QAction::~QAction +48 (int (*)(...))QAction::~QAction +56 (int (*)(...))QAction::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QAction + size=16 align=8 + base size=16 base align=8 +QAction (0x0x7f56b5eeb7b8) 0 + vptr=((& QAction::_ZTV7QAction) + 16) + QObject (0x0x7f56b2e5e5a0) 0 + primary-for QAction (0x0x7f56b5eeb7b8) + +Class QActionGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QActionGroup::QPrivateSignal (0x0x7f56b2e5eae0) 0 empty + +Vtable for QActionGroup +QActionGroup::_ZTV12QActionGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QActionGroup) +16 (int (*)(...))QActionGroup::metaObject +24 (int (*)(...))QActionGroup::qt_metacast +32 (int (*)(...))QActionGroup::qt_metacall +40 (int (*)(...))QActionGroup::~QActionGroup +48 (int (*)(...))QActionGroup::~QActionGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QActionGroup + size=16 align=8 + base size=16 base align=8 +QActionGroup (0x0x7f56b5eeb820) 0 + vptr=((& QActionGroup::_ZTV12QActionGroup) + 16) + QObject (0x0x7f56b2e5ea80) 0 + primary-for QActionGroup (0x0x7f56b5eeb820) + +Class QApplication::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QApplication::QPrivateSignal (0x0x7f56b2e5ee40) 0 empty + +Vtable for QApplication +QApplication::_ZTV12QApplication: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QApplication) +16 (int (*)(...))QApplication::metaObject +24 (int (*)(...))QApplication::qt_metacast +32 (int (*)(...))QApplication::qt_metacall +40 (int (*)(...))QApplication::~QApplication +48 (int (*)(...))QApplication::~QApplication +56 (int (*)(...))QApplication::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QApplication::notify +120 (int (*)(...))QApplication::compressEvent + +Class QApplication + size=16 align=8 + base size=16 base align=8 +QApplication (0x0x7f56b5eeb888) 0 + vptr=((& QApplication::_ZTV12QApplication) + 16) + QGuiApplication (0x0x7f56b5eeb8f0) 0 + primary-for QApplication (0x0x7f56b5eeb888) + QCoreApplication (0x0x7f56b5eeb958) 0 + primary-for QGuiApplication (0x0x7f56b5eeb8f0) + QObject (0x0x7f56b2e5ede0) 0 + primary-for QCoreApplication (0x0x7f56b5eeb958) + +Vtable for QLayoutItem +QLayoutItem::_ZTV11QLayoutItem: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QLayoutItem) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))QLayoutItem::hasHeightForWidth +96 (int (*)(...))QLayoutItem::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QLayoutItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QLayoutItem::spacerItem +144 (int (*)(...))QLayoutItem::controlTypes + +Class QLayoutItem + size=16 align=8 + base size=12 base align=8 +QLayoutItem (0x0x7f56b2033120) 0 + vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16) + +Vtable for QSpacerItem +QSpacerItem::_ZTV11QSpacerItem: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QSpacerItem) +16 (int (*)(...))QSpacerItem::~QSpacerItem +24 (int (*)(...))QSpacerItem::~QSpacerItem +32 (int (*)(...))QSpacerItem::sizeHint +40 (int (*)(...))QSpacerItem::minimumSize +48 (int (*)(...))QSpacerItem::maximumSize +56 (int (*)(...))QSpacerItem::expandingDirections +64 (int (*)(...))QSpacerItem::setGeometry +72 (int (*)(...))QSpacerItem::geometry +80 (int (*)(...))QSpacerItem::isEmpty +88 (int (*)(...))QLayoutItem::hasHeightForWidth +96 (int (*)(...))QLayoutItem::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QLayoutItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QSpacerItem::spacerItem +144 (int (*)(...))QLayoutItem::controlTypes + +Class QSpacerItem + size=40 align=8 + base size=40 base align=8 +QSpacerItem (0x0x7f56b5eeb9c0) 0 + vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16) + QLayoutItem (0x0x7f56b2033540) 0 + primary-for QSpacerItem (0x0x7f56b5eeb9c0) + +Vtable for QWidgetItem +QWidgetItem::_ZTV11QWidgetItem: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QWidgetItem) +16 (int (*)(...))QWidgetItem::~QWidgetItem +24 (int (*)(...))QWidgetItem::~QWidgetItem +32 (int (*)(...))QWidgetItem::sizeHint +40 (int (*)(...))QWidgetItem::minimumSize +48 (int (*)(...))QWidgetItem::maximumSize +56 (int (*)(...))QWidgetItem::expandingDirections +64 (int (*)(...))QWidgetItem::setGeometry +72 (int (*)(...))QWidgetItem::geometry +80 (int (*)(...))QWidgetItem::isEmpty +88 (int (*)(...))QWidgetItem::hasHeightForWidth +96 (int (*)(...))QWidgetItem::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QWidgetItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QLayoutItem::spacerItem +144 (int (*)(...))QWidgetItem::controlTypes + +Class QWidgetItem + size=24 align=8 + base size=24 base align=8 +QWidgetItem (0x0x7f56b5eeba28) 0 + vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16) + QLayoutItem (0x0x7f56b2033780) 0 + primary-for QWidgetItem (0x0x7f56b5eeba28) + +Vtable for QWidgetItemV2 +QWidgetItemV2::_ZTV13QWidgetItemV2: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QWidgetItemV2) +16 (int (*)(...))QWidgetItemV2::~QWidgetItemV2 +24 (int (*)(...))QWidgetItemV2::~QWidgetItemV2 +32 (int (*)(...))QWidgetItemV2::sizeHint +40 (int (*)(...))QWidgetItemV2::minimumSize +48 (int (*)(...))QWidgetItemV2::maximumSize +56 (int (*)(...))QWidgetItem::expandingDirections +64 (int (*)(...))QWidgetItem::setGeometry +72 (int (*)(...))QWidgetItem::geometry +80 (int (*)(...))QWidgetItem::isEmpty +88 (int (*)(...))QWidgetItem::hasHeightForWidth +96 (int (*)(...))QWidgetItemV2::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QWidgetItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QLayoutItem::spacerItem +144 (int (*)(...))QWidgetItem::controlTypes + +Class QWidgetItemV2 + size=88 align=8 + base size=88 base align=8 +QWidgetItemV2 (0x0x7f56b5eeba90) 0 + vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16) + QWidgetItem (0x0x7f56b5eebaf8) 0 + primary-for QWidgetItemV2 (0x0x7f56b5eeba90) + QLayoutItem (0x0x7f56b2033960) 0 + primary-for QWidgetItem (0x0x7f56b5eebaf8) + +Class QLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLayout::QPrivateSignal (0x0x7f56b2033ae0) 0 empty + +Vtable for QLayout +QLayout::_ZTV7QLayout: 47 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QLayout) +16 (int (*)(...))QLayout::metaObject +24 (int (*)(...))QLayout::qt_metacast +32 (int (*)(...))QLayout::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))QLayout::expandingDirections +144 (int (*)(...))QLayout::minimumSize +152 (int (*)(...))QLayout::maximumSize +160 (int (*)(...))QLayout::setGeometry +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))-16 +232 (int (*)(...))(& _ZTI7QLayout) +240 0 +248 0 +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))QLayout::_ZThn16_NK7QLayout11minimumSizeEv +272 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv +280 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv +288 (int (*)(...))QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect +296 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +304 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +312 (int (*)(...))QLayoutItem::hasHeightForWidth +320 (int (*)(...))QLayoutItem::heightForWidth +328 (int (*)(...))QLayoutItem::minimumHeightForWidth +336 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv +344 (int (*)(...))QLayoutItem::widget +352 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +360 (int (*)(...))QLayoutItem::spacerItem +368 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QLayout + size=32 align=8 + base size=28 base align=8 +QLayout (0x0x7f56b4ec41c0) 0 + vptr=((& QLayout::_ZTV7QLayout) + 16) + QObject (0x0x7f56b2033a20) 0 + primary-for QLayout (0x0x7f56b4ec41c0) + QLayoutItem (0x0x7f56b2033a80) 16 + vptr=((& QLayout::_ZTV7QLayout) + 240) + +Class QGridLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGridLayout::QPrivateSignal (0x0x7f56b1848060) 0 empty + +Vtable for QGridLayout +QGridLayout::_ZTV11QGridLayout: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QGridLayout) +16 (int (*)(...))QGridLayout::metaObject +24 (int (*)(...))QGridLayout::qt_metacast +32 (int (*)(...))QGridLayout::qt_metacall +40 (int (*)(...))QGridLayout::~QGridLayout +48 (int (*)(...))QGridLayout::~QGridLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGridLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QGridLayout::addItem +136 (int (*)(...))QGridLayout::expandingDirections +144 (int (*)(...))QGridLayout::minimumSize +152 (int (*)(...))QGridLayout::maximumSize +160 (int (*)(...))QGridLayout::setGeometry +168 (int (*)(...))QGridLayout::itemAt +176 (int (*)(...))QGridLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QGridLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QGridLayout::sizeHint +232 (int (*)(...))QGridLayout::hasHeightForWidth +240 (int (*)(...))QGridLayout::heightForWidth +248 (int (*)(...))QGridLayout::minimumHeightForWidth +256 (int (*)(...))-16 +264 (int (*)(...))(& _ZTI11QGridLayout) +272 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD1Ev +280 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD0Ev +288 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv +296 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv +304 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv +312 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv +320 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +344 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv +352 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi +360 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi +368 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout10invalidateEv +376 (int (*)(...))QLayoutItem::widget +384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +392 (int (*)(...))QLayoutItem::spacerItem +400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QGridLayout + size=32 align=8 + base size=28 base align=8 +QGridLayout (0x0x7f56b5eebb60) 0 + vptr=((& QGridLayout::_ZTV11QGridLayout) + 16) + QLayout (0x0x7f56b4ec4930) 0 + primary-for QGridLayout (0x0x7f56b5eebb60) + QObject (0x0x7f56b2033f60) 0 + primary-for QLayout (0x0x7f56b4ec4930) + QLayoutItem (0x0x7f56b1848000) 16 + vptr=((& QGridLayout::_ZTV11QGridLayout) + 272) + +Class QBoxLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QBoxLayout::QPrivateSignal (0x0x7f56b1848360) 0 empty + +Vtable for QBoxLayout +QBoxLayout::_ZTV10QBoxLayout: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QBoxLayout) +16 (int (*)(...))QBoxLayout::metaObject +24 (int (*)(...))QBoxLayout::qt_metacast +32 (int (*)(...))QBoxLayout::qt_metacall +40 (int (*)(...))QBoxLayout::~QBoxLayout +48 (int (*)(...))QBoxLayout::~QBoxLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QBoxLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QBoxLayout::addItem +136 (int (*)(...))QBoxLayout::expandingDirections +144 (int (*)(...))QBoxLayout::minimumSize +152 (int (*)(...))QBoxLayout::maximumSize +160 (int (*)(...))QBoxLayout::setGeometry +168 (int (*)(...))QBoxLayout::itemAt +176 (int (*)(...))QBoxLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QBoxLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QBoxLayout::sizeHint +232 (int (*)(...))QBoxLayout::hasHeightForWidth +240 (int (*)(...))QBoxLayout::heightForWidth +248 (int (*)(...))QBoxLayout::minimumHeightForWidth +256 (int (*)(...))-16 +264 (int (*)(...))(& _ZTI10QBoxLayout) +272 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev +280 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev +288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv +296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv +304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv +312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv +320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv +352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi +360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi +368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv +376 (int (*)(...))QLayoutItem::widget +384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +392 (int (*)(...))QLayoutItem::spacerItem +400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QBoxLayout + size=32 align=8 + base size=28 base align=8 +QBoxLayout (0x0x7f56b5eebbc8) 0 + vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16) + QLayout (0x0x7f56b4ec4cb0) 0 + primary-for QBoxLayout (0x0x7f56b5eebbc8) + QObject (0x0x7f56b18482a0) 0 + primary-for QLayout (0x0x7f56b4ec4cb0) + QLayoutItem (0x0x7f56b1848300) 16 + vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 272) + +Class QHBoxLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHBoxLayout::QPrivateSignal (0x0x7f56b1848600) 0 empty + +Vtable for QHBoxLayout +QHBoxLayout::_ZTV11QHBoxLayout: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHBoxLayout) +16 (int (*)(...))QHBoxLayout::metaObject +24 (int (*)(...))QHBoxLayout::qt_metacast +32 (int (*)(...))QHBoxLayout::qt_metacall +40 (int (*)(...))QHBoxLayout::~QHBoxLayout +48 (int (*)(...))QHBoxLayout::~QHBoxLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QBoxLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QBoxLayout::addItem +136 (int (*)(...))QBoxLayout::expandingDirections +144 (int (*)(...))QBoxLayout::minimumSize +152 (int (*)(...))QBoxLayout::maximumSize +160 (int (*)(...))QBoxLayout::setGeometry +168 (int (*)(...))QBoxLayout::itemAt +176 (int (*)(...))QBoxLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QBoxLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QBoxLayout::sizeHint +232 (int (*)(...))QBoxLayout::hasHeightForWidth +240 (int (*)(...))QBoxLayout::heightForWidth +248 (int (*)(...))QBoxLayout::minimumHeightForWidth +256 (int (*)(...))-16 +264 (int (*)(...))(& _ZTI11QHBoxLayout) +272 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev +280 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev +288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv +296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv +304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv +312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv +320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv +352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi +360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi +368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv +376 (int (*)(...))QLayoutItem::widget +384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +392 (int (*)(...))QLayoutItem::spacerItem +400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QHBoxLayout + size=32 align=8 + base size=28 base align=8 +QHBoxLayout (0x0x7f56b5eebc98) 0 + vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16) + QBoxLayout (0x0x7f56b5eebd00) 0 + primary-for QHBoxLayout (0x0x7f56b5eebc98) + QLayout (0x0x7f56b4c3da80) 0 + primary-for QBoxLayout (0x0x7f56b5eebd00) + QObject (0x0x7f56b1848540) 0 + primary-for QLayout (0x0x7f56b4c3da80) + QLayoutItem (0x0x7f56b18485a0) 16 + vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 272) + +Class QVBoxLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QVBoxLayout::QPrivateSignal (0x0x7f56b18487e0) 0 empty + +Vtable for QVBoxLayout +QVBoxLayout::_ZTV11QVBoxLayout: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QVBoxLayout) +16 (int (*)(...))QVBoxLayout::metaObject +24 (int (*)(...))QVBoxLayout::qt_metacast +32 (int (*)(...))QVBoxLayout::qt_metacall +40 (int (*)(...))QVBoxLayout::~QVBoxLayout +48 (int (*)(...))QVBoxLayout::~QVBoxLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QBoxLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QBoxLayout::addItem +136 (int (*)(...))QBoxLayout::expandingDirections +144 (int (*)(...))QBoxLayout::minimumSize +152 (int (*)(...))QBoxLayout::maximumSize +160 (int (*)(...))QBoxLayout::setGeometry +168 (int (*)(...))QBoxLayout::itemAt +176 (int (*)(...))QBoxLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QBoxLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QBoxLayout::sizeHint +232 (int (*)(...))QBoxLayout::hasHeightForWidth +240 (int (*)(...))QBoxLayout::heightForWidth +248 (int (*)(...))QBoxLayout::minimumHeightForWidth +256 (int (*)(...))-16 +264 (int (*)(...))(& _ZTI11QVBoxLayout) +272 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev +280 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev +288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv +296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv +304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv +312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv +320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv +352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi +360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi +368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv +376 (int (*)(...))QLayoutItem::widget +384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +392 (int (*)(...))QLayoutItem::spacerItem +400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QVBoxLayout + size=32 align=8 + base size=28 base align=8 +QVBoxLayout (0x0x7f56b5eebd68) 0 + vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16) + QBoxLayout (0x0x7f56b5eebdd0) 0 + primary-for QVBoxLayout (0x0x7f56b5eebd68) + QLayout (0x0x7f56b4c3dbd0) 0 + primary-for QBoxLayout (0x0x7f56b5eebdd0) + QObject (0x0x7f56b1848720) 0 + primary-for QLayout (0x0x7f56b4c3dbd0) + QLayoutItem (0x0x7f56b1848780) 16 + vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 272) + +Class QButtonGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QButtonGroup::QPrivateSignal (0x0x7f56b1848960) 0 empty + +Vtable for QButtonGroup +QButtonGroup::_ZTV12QButtonGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QButtonGroup) +16 (int (*)(...))QButtonGroup::metaObject +24 (int (*)(...))QButtonGroup::qt_metacast +32 (int (*)(...))QButtonGroup::qt_metacall +40 (int (*)(...))QButtonGroup::~QButtonGroup +48 (int (*)(...))QButtonGroup::~QButtonGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QButtonGroup + size=16 align=8 + base size=16 base align=8 +QButtonGroup (0x0x7f56b5eebe38) 0 + vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16) + QObject (0x0x7f56b1848900) 0 + primary-for QButtonGroup (0x0x7f56b5eebe38) + +Class QCalendarWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCalendarWidget::QPrivateSignal (0x0x7f56b1848c00) 0 empty + +Vtable for QCalendarWidget +QCalendarWidget::_ZTV15QCalendarWidget: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QCalendarWidget) +16 (int (*)(...))QCalendarWidget::metaObject +24 (int (*)(...))QCalendarWidget::qt_metacast +32 (int (*)(...))QCalendarWidget::qt_metacall +40 (int (*)(...))QCalendarWidget::~QCalendarWidget +48 (int (*)(...))QCalendarWidget::~QCalendarWidget +56 (int (*)(...))QCalendarWidget::event +64 (int (*)(...))QCalendarWidget::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QCalendarWidget::sizeHint +136 (int (*)(...))QCalendarWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QCalendarWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QCalendarWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QCalendarWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QCalendarWidget::paintCell +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI15QCalendarWidget) +456 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev +464 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QCalendarWidget + size=48 align=8 + base size=48 base align=8 +QCalendarWidget (0x0x7f56b5eebea0) 0 + vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16) + QWidget (0x0x7f56b4c3de00) 0 + primary-for QCalendarWidget (0x0x7f56b5eebea0) + QObject (0x0x7f56b1848b40) 0 + primary-for QWidget (0x0x7f56b4c3de00) + QPaintDevice (0x0x7f56b1848ba0) 16 + vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 456) + +Class QCheckBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCheckBox::QPrivateSignal (0x0x7f56b0d1c120) 0 empty + +Vtable for QCheckBox +QCheckBox::_ZTV9QCheckBox: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QCheckBox) +16 (int (*)(...))QCheckBox::metaObject +24 (int (*)(...))QCheckBox::qt_metacast +32 (int (*)(...))QCheckBox::qt_metacall +40 (int (*)(...))QCheckBox::~QCheckBox +48 (int (*)(...))QCheckBox::~QCheckBox +56 (int (*)(...))QCheckBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QCheckBox::sizeHint +136 (int (*)(...))QCheckBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QCheckBox::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QCheckBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QCheckBox::hitButton +440 (int (*)(...))QCheckBox::checkStateSet +448 (int (*)(...))QCheckBox::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI9QCheckBox) +472 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD1Ev +480 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QCheckBox + size=48 align=8 + base size=48 base align=8 +QCheckBox (0x0x7f56b5eebf08) 0 + vptr=((& QCheckBox::_ZTV9QCheckBox) + 16) + QAbstractButton (0x0x7f56b5eebf70) 0 + primary-for QCheckBox (0x0x7f56b5eebf08) + QWidget (0x0x7f56b4c3d380) 0 + primary-for QAbstractButton (0x0x7f56b5eebf70) + QObject (0x0x7f56b0d1c060) 0 + primary-for QWidget (0x0x7f56b4c3d380) + QPaintDevice (0x0x7f56b0d1c0c0) 16 + vptr=((& QCheckBox::_ZTV9QCheckBox) + 472) + +Class QDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDialog::QPrivateSignal (0x0x7f56b0d1c3c0) 0 empty + +Vtable for QDialog +QDialog::_ZTV7QDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QDialog) +16 (int (*)(...))QDialog::metaObject +24 (int (*)(...))QDialog::qt_metacast +32 (int (*)(...))QDialog::qt_metacall +40 (int (*)(...))QDialog::~QDialog +48 (int (*)(...))QDialog::~QDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI7QDialog) +488 (int (*)(...))QDialog::_ZThn16_N7QDialogD1Ev +496 (int (*)(...))QDialog::_ZThn16_N7QDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDialog + size=48 align=8 + base size=48 base align=8 +QDialog (0x0x7f56b0a76000) 0 + vptr=((& QDialog::_ZTV7QDialog) + 16) + QWidget (0x0x7f56b4c3d4d0) 0 + primary-for QDialog (0x0x7f56b0a76000) + QObject (0x0x7f56b0d1c300) 0 + primary-for QWidget (0x0x7f56b4c3d4d0) + QPaintDevice (0x0x7f56b0d1c360) 16 + vptr=((& QDialog::_ZTV7QDialog) + 488) + +Class QColorDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QColorDialog::QPrivateSignal (0x0x7f56b0d1c660) 0 empty + +Vtable for QColorDialog +QColorDialog::_ZTV12QColorDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QColorDialog) +16 (int (*)(...))QColorDialog::metaObject +24 (int (*)(...))QColorDialog::qt_metacast +32 (int (*)(...))QColorDialog::qt_metacall +40 (int (*)(...))QColorDialog::~QColorDialog +48 (int (*)(...))QColorDialog::~QColorDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QColorDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QColorDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QColorDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI12QColorDialog) +488 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD1Ev +496 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QColorDialog + size=48 align=8 + base size=48 base align=8 +QColorDialog (0x0x7f56b0a76068) 0 + vptr=((& QColorDialog::_ZTV12QColorDialog) + 16) + QDialog (0x0x7f56b0a760d0) 0 + primary-for QColorDialog (0x0x7f56b0a76068) + QWidget (0x0x7f56b4c3d7e0) 0 + primary-for QDialog (0x0x7f56b0a760d0) + QObject (0x0x7f56b0d1c5a0) 0 + primary-for QWidget (0x0x7f56b4c3d7e0) + QPaintDevice (0x0x7f56b0d1c600) 16 + vptr=((& QColorDialog::_ZTV12QColorDialog) + 488) + +Class QColormap + size=8 align=8 + base size=8 base align=8 +QColormap (0x0x7f56afa04240) 0 + +Class QColumnView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QColumnView::QPrivateSignal (0x0x7f56afa04360) 0 empty + +Vtable for QColumnView +QColumnView::_ZTV11QColumnView: 107 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QColumnView) +16 (int (*)(...))QColumnView::metaObject +24 (int (*)(...))QColumnView::qt_metacast +32 (int (*)(...))QColumnView::qt_metacall +40 (int (*)(...))QColumnView::~QColumnView +48 (int (*)(...))QColumnView::~QColumnView +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QAbstractItemView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QColumnView::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QColumnView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QColumnView::scrollContentsBy +456 (int (*)(...))QAbstractItemView::viewportSizeHint +464 (int (*)(...))QColumnView::setModel +472 (int (*)(...))QColumnView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QColumnView::visualRect +496 (int (*)(...))QColumnView::scrollTo +504 (int (*)(...))QColumnView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QAbstractItemView::reset +536 (int (*)(...))QColumnView::setRootIndex +544 (int (*)(...))QAbstractItemView::doItemsLayout +552 (int (*)(...))QColumnView::selectAll +560 (int (*)(...))QAbstractItemView::dataChanged +568 (int (*)(...))QColumnView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QAbstractItemView::selectionChanged +592 (int (*)(...))QColumnView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QAbstractItemView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QColumnView::moveCursor +688 (int (*)(...))QColumnView::horizontalOffset +696 (int (*)(...))QColumnView::verticalOffset +704 (int (*)(...))QColumnView::isIndexHidden +712 (int (*)(...))QColumnView::setSelection +720 (int (*)(...))QColumnView::visualRegionForSelection +728 (int (*)(...))QAbstractItemView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))QColumnView::createColumn +776 (int (*)(...))-16 +784 (int (*)(...))(& _ZTI11QColumnView) +792 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD1Ev +800 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD0Ev +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QColumnView + size=48 align=8 + base size=48 base align=8 +QColumnView (0x0x7f56b0a76208) 0 + vptr=((& QColumnView::_ZTV11QColumnView) + 16) + QAbstractItemView (0x0x7f56b0a76270) 0 + primary-for QColumnView (0x0x7f56b0a76208) + QAbstractScrollArea (0x0x7f56b0a762d8) 0 + primary-for QAbstractItemView (0x0x7f56b0a76270) + QFrame (0x0x7f56b0a76340) 0 + primary-for QAbstractScrollArea (0x0x7f56b0a762d8) + QWidget (0x0x7f56b4d17000) 0 + primary-for QFrame (0x0x7f56b0a76340) + QObject (0x0x7f56afa042a0) 0 + primary-for QWidget (0x0x7f56b4d17000) + QPaintDevice (0x0x7f56afa04300) 16 + vptr=((& QColumnView::_ZTV11QColumnView) + 792) + +Class QComboBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QComboBox::QPrivateSignal (0x0x7f56afa04600) 0 empty + +Vtable for QComboBox +QComboBox::_ZTV9QComboBox: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QComboBox) +16 (int (*)(...))QComboBox::metaObject +24 (int (*)(...))QComboBox::qt_metacast +32 (int (*)(...))QComboBox::qt_metacall +40 (int (*)(...))QComboBox::~QComboBox +48 (int (*)(...))QComboBox::~QComboBox +56 (int (*)(...))QComboBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QComboBox::sizeHint +136 (int (*)(...))QComboBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QComboBox::mousePressEvent +176 (int (*)(...))QComboBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QComboBox::wheelEvent +208 (int (*)(...))QComboBox::keyPressEvent +216 (int (*)(...))QComboBox::keyReleaseEvent +224 (int (*)(...))QComboBox::focusInEvent +232 (int (*)(...))QComboBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QComboBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QComboBox::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QComboBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QComboBox::showEvent +352 (int (*)(...))QComboBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QComboBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QComboBox::inputMethodEvent +416 (int (*)(...))QComboBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QComboBox::showPopup +440 (int (*)(...))QComboBox::hidePopup +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI9QComboBox) +464 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD1Ev +472 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QComboBox + size=48 align=8 + base size=48 base align=8 +QComboBox (0x0x7f56b0a763a8) 0 + vptr=((& QComboBox::_ZTV9QComboBox) + 16) + QWidget (0x0x7f56b4d17070) 0 + primary-for QComboBox (0x0x7f56b0a763a8) + QObject (0x0x7f56afa04540) 0 + primary-for QWidget (0x0x7f56b4d17070) + QPaintDevice (0x0x7f56afa045a0) 16 + vptr=((& QComboBox::_ZTV9QComboBox) + 464) + +Class QPushButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPushButton::QPrivateSignal (0x0x7f56afa04c00) 0 empty + +Vtable for QPushButton +QPushButton::_ZTV11QPushButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QPushButton) +16 (int (*)(...))QPushButton::metaObject +24 (int (*)(...))QPushButton::qt_metacast +32 (int (*)(...))QPushButton::qt_metacall +40 (int (*)(...))QPushButton::~QPushButton +48 (int (*)(...))QPushButton::~QPushButton +56 (int (*)(...))QPushButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QPushButton::sizeHint +136 (int (*)(...))QPushButton::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QPushButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QPushButton::focusInEvent +232 (int (*)(...))QPushButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QPushButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI11QPushButton) +472 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD1Ev +480 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QPushButton + size=48 align=8 + base size=48 base align=8 +QPushButton (0x0x7f56b0a76410) 0 + vptr=((& QPushButton::_ZTV11QPushButton) + 16) + QAbstractButton (0x0x7f56b0a76478) 0 + primary-for QPushButton (0x0x7f56b0a76410) + QWidget (0x0x7f56b4d17cb0) 0 + primary-for QAbstractButton (0x0x7f56b0a76478) + QObject (0x0x7f56afa04b40) 0 + primary-for QWidget (0x0x7f56b4d17cb0) + QPaintDevice (0x0x7f56afa04ba0) 16 + vptr=((& QPushButton::_ZTV11QPushButton) + 472) + +Class QCommandLinkButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCommandLinkButton::QPrivateSignal (0x0x7f56afa04ea0) 0 empty + +Vtable for QCommandLinkButton +QCommandLinkButton::_ZTV18QCommandLinkButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QCommandLinkButton) +16 (int (*)(...))QCommandLinkButton::metaObject +24 (int (*)(...))QCommandLinkButton::qt_metacast +32 (int (*)(...))QCommandLinkButton::qt_metacall +40 (int (*)(...))QCommandLinkButton::~QCommandLinkButton +48 (int (*)(...))QCommandLinkButton::~QCommandLinkButton +56 (int (*)(...))QCommandLinkButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QCommandLinkButton::sizeHint +136 (int (*)(...))QCommandLinkButton::minimumSizeHint +144 (int (*)(...))QCommandLinkButton::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QPushButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QPushButton::focusInEvent +232 (int (*)(...))QPushButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QCommandLinkButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI18QCommandLinkButton) +472 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev +480 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QCommandLinkButton + size=48 align=8 + base size=48 base align=8 +QCommandLinkButton (0x0x7f56b0a764e0) 0 + vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16) + QPushButton (0x0x7f56b0a76548) 0 + primary-for QCommandLinkButton (0x0x7f56b0a764e0) + QAbstractButton (0x0x7f56b0a765b0) 0 + primary-for QPushButton (0x0x7f56b0a76548) + QWidget (0x0x7f56b4d17e00) 0 + primary-for QAbstractButton (0x0x7f56b0a765b0) + QObject (0x0x7f56afa04de0) 0 + primary-for QWidget (0x0x7f56b4d17e00) + QPaintDevice (0x0x7f56afa04e40) 16 + vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 472) + +Class QCommonStyle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCommonStyle::QPrivateSignal (0x0x7f56aebbb120) 0 empty + +Vtable for QCommonStyle +QCommonStyle::_ZTV12QCommonStyle: 37 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QCommonStyle) +16 (int (*)(...))QCommonStyle::metaObject +24 (int (*)(...))QCommonStyle::qt_metacast +32 (int (*)(...))QCommonStyle::qt_metacall +40 (int (*)(...))QCommonStyle::~QCommonStyle +48 (int (*)(...))QCommonStyle::~QCommonStyle +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QCommonStyle::polish +120 (int (*)(...))QCommonStyle::unpolish +128 (int (*)(...))QCommonStyle::polish +136 (int (*)(...))QCommonStyle::unpolish +144 (int (*)(...))QCommonStyle::polish +152 (int (*)(...))QStyle::itemTextRect +160 (int (*)(...))QStyle::itemPixmapRect +168 (int (*)(...))QStyle::drawItemText +176 (int (*)(...))QStyle::drawItemPixmap +184 (int (*)(...))QStyle::standardPalette +192 (int (*)(...))QCommonStyle::drawPrimitive +200 (int (*)(...))QCommonStyle::drawControl +208 (int (*)(...))QCommonStyle::subElementRect +216 (int (*)(...))QCommonStyle::drawComplexControl +224 (int (*)(...))QCommonStyle::hitTestComplexControl +232 (int (*)(...))QCommonStyle::subControlRect +240 (int (*)(...))QCommonStyle::pixelMetric +248 (int (*)(...))QCommonStyle::sizeFromContents +256 (int (*)(...))QCommonStyle::styleHint +264 (int (*)(...))QCommonStyle::standardPixmap +272 (int (*)(...))QCommonStyle::standardIcon +280 (int (*)(...))QCommonStyle::generatedIconPixmap +288 (int (*)(...))QCommonStyle::layoutSpacing + +Class QCommonStyle + size=16 align=8 + base size=16 base align=8 +QCommonStyle (0x0x7f56b0a76618) 0 + vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16) + QStyle (0x0x7f56b0a76680) 0 + primary-for QCommonStyle (0x0x7f56b0a76618) + QObject (0x0x7f56aebbb0c0) 0 + primary-for QStyle (0x0x7f56b0a76680) + +Class QCompleter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCompleter::QPrivateSignal (0x0x7f56aebbb360) 0 empty + +Vtable for QCompleter +QCompleter::_ZTV10QCompleter: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QCompleter) +16 (int (*)(...))QCompleter::metaObject +24 (int (*)(...))QCompleter::qt_metacast +32 (int (*)(...))QCompleter::qt_metacall +40 (int (*)(...))QCompleter::~QCompleter +48 (int (*)(...))QCompleter::~QCompleter +56 (int (*)(...))QCompleter::event +64 (int (*)(...))QCompleter::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QCompleter::pathFromIndex +120 (int (*)(...))QCompleter::splitPath + +Class QCompleter + size=16 align=8 + base size=16 base align=8 +QCompleter (0x0x7f56b0a766e8) 0 + vptr=((& QCompleter::_ZTV10QCompleter) + 16) + QObject (0x0x7f56aebbb300) 0 + primary-for QCompleter (0x0x7f56b0a766e8) + +Class QDataWidgetMapper::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDataWidgetMapper::QPrivateSignal (0x0x7f56aebbb720) 0 empty + +Vtable for QDataWidgetMapper +QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QDataWidgetMapper) +16 (int (*)(...))QDataWidgetMapper::metaObject +24 (int (*)(...))QDataWidgetMapper::qt_metacast +32 (int (*)(...))QDataWidgetMapper::qt_metacall +40 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper +48 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDataWidgetMapper::setCurrentIndex + +Class QDataWidgetMapper + size=16 align=8 + base size=16 base align=8 +QDataWidgetMapper (0x0x7f56b0a76750) 0 + vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16) + QObject (0x0x7f56aebbb6c0) 0 + primary-for QDataWidgetMapper (0x0x7f56b0a76750) + +Class QDateTimeEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDateTimeEdit::QPrivateSignal (0x0x7f56aebbba80) 0 empty + +Vtable for QDateTimeEdit +QDateTimeEdit::_ZTV13QDateTimeEdit: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QDateTimeEdit) +16 (int (*)(...))QDateTimeEdit::metaObject +24 (int (*)(...))QDateTimeEdit::qt_metacast +32 (int (*)(...))QDateTimeEdit::qt_metacall +40 (int (*)(...))QDateTimeEdit::~QDateTimeEdit +48 (int (*)(...))QDateTimeEdit::~QDateTimeEdit +56 (int (*)(...))QDateTimeEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDateTimeEdit::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDateTimeEdit::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QDateTimeEdit::wheelEvent +208 (int (*)(...))QDateTimeEdit::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QDateTimeEdit::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDateTimeEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QDateTimeEdit::focusNextPrevChild +432 (int (*)(...))QDateTimeEdit::validate +440 (int (*)(...))QDateTimeEdit::fixup +448 (int (*)(...))QDateTimeEdit::stepBy +456 (int (*)(...))QDateTimeEdit::clear +464 (int (*)(...))QDateTimeEdit::stepEnabled +472 (int (*)(...))QDateTimeEdit::dateTimeFromText +480 (int (*)(...))QDateTimeEdit::textFromDateTime +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI13QDateTimeEdit) +504 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev +512 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDateTimeEdit + size=48 align=8 + base size=48 base align=8 +QDateTimeEdit (0x0x7f56b0a767b8) 0 + vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16) + QAbstractSpinBox (0x0x7f56b0a76820) 0 + primary-for QDateTimeEdit (0x0x7f56b0a767b8) + QWidget (0x0x7f56b4d6f690) 0 + primary-for QAbstractSpinBox (0x0x7f56b0a76820) + QObject (0x0x7f56aebbb9c0) 0 + primary-for QWidget (0x0x7f56b4d6f690) + QPaintDevice (0x0x7f56aebbba20) 16 + vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 504) + +Class QTimeEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimeEdit::QPrivateSignal (0x0x7f56add72060) 0 empty + +Vtable for QTimeEdit +QTimeEdit::_ZTV9QTimeEdit: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTimeEdit) +16 (int (*)(...))QTimeEdit::metaObject +24 (int (*)(...))QTimeEdit::qt_metacast +32 (int (*)(...))QTimeEdit::qt_metacall +40 (int (*)(...))QTimeEdit::~QTimeEdit +48 (int (*)(...))QTimeEdit::~QTimeEdit +56 (int (*)(...))QDateTimeEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDateTimeEdit::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDateTimeEdit::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QDateTimeEdit::wheelEvent +208 (int (*)(...))QDateTimeEdit::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QDateTimeEdit::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDateTimeEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QDateTimeEdit::focusNextPrevChild +432 (int (*)(...))QDateTimeEdit::validate +440 (int (*)(...))QDateTimeEdit::fixup +448 (int (*)(...))QDateTimeEdit::stepBy +456 (int (*)(...))QDateTimeEdit::clear +464 (int (*)(...))QDateTimeEdit::stepEnabled +472 (int (*)(...))QDateTimeEdit::dateTimeFromText +480 (int (*)(...))QDateTimeEdit::textFromDateTime +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI9QTimeEdit) +504 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD1Ev +512 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTimeEdit + size=48 align=8 + base size=48 base align=8 +QTimeEdit (0x0x7f56b0a76958) 0 + vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16) + QDateTimeEdit (0x0x7f56b0a769c0) 0 + primary-for QTimeEdit (0x0x7f56b0a76958) + QAbstractSpinBox (0x0x7f56b0a76a28) 0 + primary-for QDateTimeEdit (0x0x7f56b0a769c0) + QWidget (0x0x7f56b4d6ff50) 0 + primary-for QAbstractSpinBox (0x0x7f56b0a76a28) + QObject (0x0x7f56aebbbf60) 0 + primary-for QWidget (0x0x7f56b4d6ff50) + QPaintDevice (0x0x7f56add72000) 16 + vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 504) + +Class QDateEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDateEdit::QPrivateSignal (0x0x7f56add72240) 0 empty + +Vtable for QDateEdit +QDateEdit::_ZTV9QDateEdit: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QDateEdit) +16 (int (*)(...))QDateEdit::metaObject +24 (int (*)(...))QDateEdit::qt_metacast +32 (int (*)(...))QDateEdit::qt_metacall +40 (int (*)(...))QDateEdit::~QDateEdit +48 (int (*)(...))QDateEdit::~QDateEdit +56 (int (*)(...))QDateTimeEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDateTimeEdit::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDateTimeEdit::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QDateTimeEdit::wheelEvent +208 (int (*)(...))QDateTimeEdit::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QDateTimeEdit::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDateTimeEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QDateTimeEdit::focusNextPrevChild +432 (int (*)(...))QDateTimeEdit::validate +440 (int (*)(...))QDateTimeEdit::fixup +448 (int (*)(...))QDateTimeEdit::stepBy +456 (int (*)(...))QDateTimeEdit::clear +464 (int (*)(...))QDateTimeEdit::stepEnabled +472 (int (*)(...))QDateTimeEdit::dateTimeFromText +480 (int (*)(...))QDateTimeEdit::textFromDateTime +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI9QDateEdit) +504 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD1Ev +512 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDateEdit + size=48 align=8 + base size=48 base align=8 +QDateEdit (0x0x7f56b0a76a90) 0 + vptr=((& QDateEdit::_ZTV9QDateEdit) + 16) + QDateTimeEdit (0x0x7f56b0a76af8) 0 + primary-for QDateEdit (0x0x7f56b0a76a90) + QAbstractSpinBox (0x0x7f56b0a76b60) 0 + primary-for QDateTimeEdit (0x0x7f56b0a76af8) + QWidget (0x0x7f56b4dc20e0) 0 + primary-for QAbstractSpinBox (0x0x7f56b0a76b60) + QObject (0x0x7f56add72180) 0 + primary-for QWidget (0x0x7f56b4dc20e0) + QPaintDevice (0x0x7f56add721e0) 16 + vptr=((& QDateEdit::_ZTV9QDateEdit) + 504) + +Class QDesktopWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesktopWidget::QPrivateSignal (0x0x7f56add72960) 0 empty + +Vtable for QDesktopWidget +QDesktopWidget::_ZTV14QDesktopWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QDesktopWidget) +16 (int (*)(...))QDesktopWidget::metaObject +24 (int (*)(...))QDesktopWidget::qt_metacast +32 (int (*)(...))QDesktopWidget::qt_metacall +40 (int (*)(...))QDesktopWidget::~QDesktopWidget +48 (int (*)(...))QDesktopWidget::~QDesktopWidget +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDesktopWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI14QDesktopWidget) +448 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev +456 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesktopWidget + size=48 align=8 + base size=48 base align=8 +QDesktopWidget (0x0x7f56b0a76bc8) 0 + vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16) + QWidget (0x0x7f56b4dc27e0) 0 + primary-for QDesktopWidget (0x0x7f56b0a76bc8) + QObject (0x0x7f56add728a0) 0 + primary-for QWidget (0x0x7f56b4dc27e0) + QPaintDevice (0x0x7f56add72900) 16 + vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 448) + +Class QDial::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDial::QPrivateSignal (0x0x7f56add72d20) 0 empty + +Vtable for QDial +QDial::_ZTV5QDial: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QDial) +16 (int (*)(...))QDial::metaObject +24 (int (*)(...))QDial::qt_metacast +32 (int (*)(...))QDial::qt_metacall +40 (int (*)(...))QDial::~QDial +48 (int (*)(...))QDial::~QDial +56 (int (*)(...))QDial::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDial::sizeHint +136 (int (*)(...))QDial::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDial::mousePressEvent +176 (int (*)(...))QDial::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QDial::mouseMoveEvent +200 (int (*)(...))QAbstractSlider::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDial::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDial::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDial::sliderChange +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI5QDial) +456 (int (*)(...))QDial::_ZThn16_N5QDialD1Ev +464 (int (*)(...))QDial::_ZThn16_N5QDialD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDial + size=48 align=8 + base size=48 base align=8 +QDial (0x0x7f56b0a76c30) 0 + vptr=((& QDial::_ZTV5QDial) + 16) + QAbstractSlider (0x0x7f56b0a76c98) 0 + primary-for QDial (0x0x7f56b0a76c30) + QWidget (0x0x7f56b4dc2850) 0 + primary-for QAbstractSlider (0x0x7f56b0a76c98) + QObject (0x0x7f56add72c60) 0 + primary-for QWidget (0x0x7f56b4dc2850) + QPaintDevice (0x0x7f56add72cc0) 16 + vptr=((& QDial::_ZTV5QDial) + 456) + +Class QDialogButtonBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDialogButtonBox::QPrivateSignal (0x0x7f56ad392000) 0 empty + +Vtable for QDialogButtonBox +QDialogButtonBox::_ZTV16QDialogButtonBox: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QDialogButtonBox) +16 (int (*)(...))QDialogButtonBox::metaObject +24 (int (*)(...))QDialogButtonBox::qt_metacast +32 (int (*)(...))QDialogButtonBox::qt_metacall +40 (int (*)(...))QDialogButtonBox::~QDialogButtonBox +48 (int (*)(...))QDialogButtonBox::~QDialogButtonBox +56 (int (*)(...))QDialogButtonBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QDialogButtonBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI16QDialogButtonBox) +448 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev +456 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDialogButtonBox + size=48 align=8 + base size=48 base align=8 +QDialogButtonBox (0x0x7f56b0a76d00) 0 + vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16) + QWidget (0x0x7f56b4dc2930) 0 + primary-for QDialogButtonBox (0x0x7f56b0a76d00) + QObject (0x0x7f56add72f00) 0 + primary-for QWidget (0x0x7f56b4dc2930) + QPaintDevice (0x0x7f56add72f60) 16 + vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 448) + +Vtable for QFileIconProvider +QFileIconProvider::_ZTV17QFileIconProvider: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QFileIconProvider) +16 (int (*)(...))QFileIconProvider::~QFileIconProvider +24 (int (*)(...))QFileIconProvider::~QFileIconProvider +32 (int (*)(...))QFileIconProvider::icon +40 (int (*)(...))QFileIconProvider::icon +48 (int (*)(...))QFileIconProvider::type + +Class QFileIconProvider + size=16 align=8 + base size=16 base align=8 +QFileIconProvider (0x0x7f56ad392960) 0 + vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16) + +Class QDirModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDirModel::QPrivateSignal (0x0x7f56ac8952a0) 0 empty + +Vtable for QDirModel +QDirModel::_ZTV9QDirModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QDirModel) +16 (int (*)(...))QDirModel::metaObject +24 (int (*)(...))QDirModel::qt_metacast +32 (int (*)(...))QDirModel::qt_metacall +40 (int (*)(...))QDirModel::~QDirModel +48 (int (*)(...))QDirModel::~QDirModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDirModel::index +120 (int (*)(...))QDirModel::parent +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))QDirModel::rowCount +144 (int (*)(...))QDirModel::columnCount +152 (int (*)(...))QDirModel::hasChildren +160 (int (*)(...))QDirModel::data +168 (int (*)(...))QDirModel::setData +176 (int (*)(...))QDirModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QDirModel::mimeTypes +216 (int (*)(...))QDirModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QDirModel::dropMimeData +240 (int (*)(...))QDirModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QDirModel::flags +328 (int (*)(...))QDirModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QDirModel + size=16 align=8 + base size=16 base align=8 +QDirModel (0x0x7f56b0a76f08) 0 + vptr=((& QDirModel::_ZTV9QDirModel) + 16) + QAbstractItemModel (0x0x7f56b0a76f70) 0 + primary-for QDirModel (0x0x7f56b0a76f08) + QObject (0x0x7f56ac895240) 0 + primary-for QAbstractItemModel (0x0x7f56b0a76f70) + +Class QDockWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDockWidget::QPrivateSignal (0x0x7f56ac895540) 0 empty + +Vtable for QDockWidget +QDockWidget::_ZTV11QDockWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QDockWidget) +16 (int (*)(...))QDockWidget::metaObject +24 (int (*)(...))QDockWidget::qt_metacast +32 (int (*)(...))QDockWidget::qt_metacall +40 (int (*)(...))QDockWidget::~QDockWidget +48 (int (*)(...))QDockWidget::~QDockWidget +56 (int (*)(...))QDockWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDockWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QDockWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QDockWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI11QDockWidget) +448 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD1Ev +456 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDockWidget + size=48 align=8 + base size=48 base align=8 +QDockWidget (0x0x7f56ac441000) 0 + vptr=((& QDockWidget::_ZTV11QDockWidget) + 16) + QWidget (0x0x7f56b37fe4d0) 0 + primary-for QDockWidget (0x0x7f56ac441000) + QObject (0x0x7f56ac895480) 0 + primary-for QWidget (0x0x7f56b37fe4d0) + QPaintDevice (0x0x7f56ac8954e0) 16 + vptr=((& QDockWidget::_ZTV11QDockWidget) + 448) + +Class QTileRules + size=8 align=4 + base size=8 base align=4 +QTileRules (0x0x7f56abe59420) 0 + +Class QErrorMessage::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QErrorMessage::QPrivateSignal (0x0x7f56abe59c00) 0 empty + +Vtable for QErrorMessage +QErrorMessage::_ZTV13QErrorMessage: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QErrorMessage) +16 (int (*)(...))QErrorMessage::metaObject +24 (int (*)(...))QErrorMessage::qt_metacast +32 (int (*)(...))QErrorMessage::qt_metacall +40 (int (*)(...))QErrorMessage::~QErrorMessage +48 (int (*)(...))QErrorMessage::~QErrorMessage +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QErrorMessage::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QErrorMessage::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI13QErrorMessage) +488 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD1Ev +496 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QErrorMessage + size=48 align=8 + base size=48 base align=8 +QErrorMessage (0x0x7f56ac4416e8) 0 + vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16) + QDialog (0x0x7f56ac441750) 0 + primary-for QErrorMessage (0x0x7f56ac4416e8) + QWidget (0x0x7f56b395e2a0) 0 + primary-for QDialog (0x0x7f56ac441750) + QObject (0x0x7f56abe59b40) 0 + primary-for QWidget (0x0x7f56b395e2a0) + QPaintDevice (0x0x7f56abe59ba0) 16 + vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488) + +Class QFileDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileDialog::QPrivateSignal (0x0x7f56abe59ea0) 0 empty + +Vtable for QFileDialog +QFileDialog::_ZTV11QFileDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFileDialog) +16 (int (*)(...))QFileDialog::metaObject +24 (int (*)(...))QFileDialog::qt_metacast +32 (int (*)(...))QFileDialog::qt_metacall +40 (int (*)(...))QFileDialog::~QFileDialog +48 (int (*)(...))QFileDialog::~QFileDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QFileDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFileDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QFileDialog::done +456 (int (*)(...))QFileDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QFileDialog) +488 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD1Ev +496 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFileDialog + size=48 align=8 + base size=48 base align=8 +QFileDialog (0x0x7f56ac4417b8) 0 + vptr=((& QFileDialog::_ZTV11QFileDialog) + 16) + QDialog (0x0x7f56ac441820) 0 + primary-for QFileDialog (0x0x7f56ac4417b8) + QWidget (0x0x7f56b395e3f0) 0 + primary-for QDialog (0x0x7f56ac441820) + QObject (0x0x7f56abe59de0) 0 + primary-for QWidget (0x0x7f56b395e3f0) + QPaintDevice (0x0x7f56abe59e40) 16 + vptr=((& QFileDialog::_ZTV11QFileDialog) + 488) + +Class QFileSystemModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSystemModel::QPrivateSignal (0x0x7f56b6be1de0) 0 empty + +Vtable for QFileSystemModel +QFileSystemModel::_ZTV16QFileSystemModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QFileSystemModel) +16 (int (*)(...))QFileSystemModel::metaObject +24 (int (*)(...))QFileSystemModel::qt_metacast +32 (int (*)(...))QFileSystemModel::qt_metacall +40 (int (*)(...))QFileSystemModel::~QFileSystemModel +48 (int (*)(...))QFileSystemModel::~QFileSystemModel +56 (int (*)(...))QFileSystemModel::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QFileSystemModel::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileSystemModel::index +120 (int (*)(...))QFileSystemModel::parent +128 (int (*)(...))QFileSystemModel::sibling +136 (int (*)(...))QFileSystemModel::rowCount +144 (int (*)(...))QFileSystemModel::columnCount +152 (int (*)(...))QFileSystemModel::hasChildren +160 (int (*)(...))QFileSystemModel::data +168 (int (*)(...))QFileSystemModel::setData +176 (int (*)(...))QFileSystemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QFileSystemModel::mimeTypes +216 (int (*)(...))QFileSystemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QFileSystemModel::dropMimeData +240 (int (*)(...))QFileSystemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QFileSystemModel::fetchMore +312 (int (*)(...))QFileSystemModel::canFetchMore +320 (int (*)(...))QFileSystemModel::flags +328 (int (*)(...))QFileSystemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QFileSystemModel + size=16 align=8 + base size=16 base align=8 +QFileSystemModel (0x0x7f56ac441958) 0 + vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16) + QAbstractItemModel (0x0x7f56ac4419c0) 0 + primary-for QFileSystemModel (0x0x7f56ac441958) + QObject (0x0x7f56b6be1d80) 0 + primary-for QAbstractItemModel (0x0x7f56ac4419c0) + +Class QFocusFrame::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFocusFrame::QPrivateSignal (0x0x7f56b506d900) 0 empty + +Vtable for QFocusFrame +QFocusFrame::_ZTV11QFocusFrame: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFocusFrame) +16 (int (*)(...))QFocusFrame::metaObject +24 (int (*)(...))QFocusFrame::qt_metacast +32 (int (*)(...))QFocusFrame::qt_metacall +40 (int (*)(...))QFocusFrame::~QFocusFrame +48 (int (*)(...))QFocusFrame::~QFocusFrame +56 (int (*)(...))QFocusFrame::event +64 (int (*)(...))QFocusFrame::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFocusFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI11QFocusFrame) +448 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD1Ev +456 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFocusFrame + size=48 align=8 + base size=48 base align=8 +QFocusFrame (0x0x7f56ac441af8) 0 + vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16) + QWidget (0x0x7f56b35f7b60) 0 + primary-for QFocusFrame (0x0x7f56ac441af8) + QObject (0x0x7f56b506d840) 0 + primary-for QWidget (0x0x7f56b35f7b60) + QPaintDevice (0x0x7f56b506d8a0) 16 + vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 448) + +Class QFontComboBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFontComboBox::QPrivateSignal (0x0x7f56b506dba0) 0 empty + +Vtable for QFontComboBox +QFontComboBox::_ZTV13QFontComboBox: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QFontComboBox) +16 (int (*)(...))QFontComboBox::metaObject +24 (int (*)(...))QFontComboBox::qt_metacast +32 (int (*)(...))QFontComboBox::qt_metacall +40 (int (*)(...))QFontComboBox::~QFontComboBox +48 (int (*)(...))QFontComboBox::~QFontComboBox +56 (int (*)(...))QFontComboBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFontComboBox::sizeHint +136 (int (*)(...))QComboBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QComboBox::mousePressEvent +176 (int (*)(...))QComboBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QComboBox::wheelEvent +208 (int (*)(...))QComboBox::keyPressEvent +216 (int (*)(...))QComboBox::keyReleaseEvent +224 (int (*)(...))QComboBox::focusInEvent +232 (int (*)(...))QComboBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QComboBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QComboBox::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QComboBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QComboBox::showEvent +352 (int (*)(...))QComboBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QComboBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QComboBox::inputMethodEvent +416 (int (*)(...))QComboBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QComboBox::showPopup +440 (int (*)(...))QComboBox::hidePopup +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI13QFontComboBox) +464 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev +472 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFontComboBox + size=48 align=8 + base size=48 base align=8 +QFontComboBox (0x0x7f56ac441b60) 0 + vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16) + QComboBox (0x0x7f56ac441bc8) 0 + primary-for QFontComboBox (0x0x7f56ac441b60) + QWidget (0x0x7f56b35f7bd0) 0 + primary-for QComboBox (0x0x7f56ac441bc8) + QObject (0x0x7f56b506dae0) 0 + primary-for QWidget (0x0x7f56b35f7bd0) + QPaintDevice (0x0x7f56b506db40) 16 + vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 464) + +Class QFontDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFontDialog::QPrivateSignal (0x0x7f56b31c7600) 0 empty + +Vtable for QFontDialog +QFontDialog::_ZTV11QFontDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFontDialog) +16 (int (*)(...))QFontDialog::metaObject +24 (int (*)(...))QFontDialog::qt_metacast +32 (int (*)(...))QFontDialog::qt_metacall +40 (int (*)(...))QFontDialog::~QFontDialog +48 (int (*)(...))QFontDialog::~QFontDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QFontDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QFontDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFontDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QFontDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QFontDialog) +488 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD1Ev +496 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFontDialog + size=48 align=8 + base size=48 base align=8 +QFontDialog (0x0x7f56ac441d68) 0 + vptr=((& QFontDialog::_ZTV11QFontDialog) + 16) + QDialog (0x0x7f56ac441dd0) 0 + primary-for QFontDialog (0x0x7f56ac441d68) + QWidget (0x0x7f56b3623d90) 0 + primary-for QDialog (0x0x7f56ac441dd0) + QObject (0x0x7f56b31c7540) 0 + primary-for QWidget (0x0x7f56b3623d90) + QPaintDevice (0x0x7f56b31c75a0) 16 + vptr=((& QFontDialog::_ZTV11QFontDialog) + 488) + +Class QFormLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFormLayout::QPrivateSignal (0x0x7f56b258c240) 0 empty + +Class QFormLayout::TakeRowResult + size=16 align=8 + base size=16 base align=8 +QFormLayout::TakeRowResult (0x0x7f56b258c2a0) 0 + +Vtable for QFormLayout +QFormLayout::_ZTV11QFormLayout: 50 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFormLayout) +16 (int (*)(...))QFormLayout::metaObject +24 (int (*)(...))QFormLayout::qt_metacast +32 (int (*)(...))QFormLayout::qt_metacall +40 (int (*)(...))QFormLayout::~QFormLayout +48 (int (*)(...))QFormLayout::~QFormLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFormLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QFormLayout::addItem +136 (int (*)(...))QFormLayout::expandingDirections +144 (int (*)(...))QFormLayout::minimumSize +152 (int (*)(...))QLayout::maximumSize +160 (int (*)(...))QFormLayout::setGeometry +168 (int (*)(...))QFormLayout::itemAt +176 (int (*)(...))QFormLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QFormLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QFormLayout::sizeHint +232 (int (*)(...))QFormLayout::hasHeightForWidth +240 (int (*)(...))QFormLayout::heightForWidth +248 (int (*)(...))-16 +256 (int (*)(...))(& _ZTI11QFormLayout) +264 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD1Ev +272 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD0Ev +280 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv +288 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv +296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv +304 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv +312 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect +320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +336 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv +344 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi +352 (int (*)(...))QLayoutItem::minimumHeightForWidth +360 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout10invalidateEv +368 (int (*)(...))QLayoutItem::widget +376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +384 (int (*)(...))QLayoutItem::spacerItem +392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QFormLayout + size=32 align=8 + base size=28 base align=8 +QFormLayout (0x0x7f56ac441f08) 0 + vptr=((& QFormLayout::_ZTV11QFormLayout) + 16) + QLayout (0x0x7f56b369e540) 0 + primary-for QFormLayout (0x0x7f56ac441f08) + QObject (0x0x7f56b258c180) 0 + primary-for QLayout (0x0x7f56b369e540) + QLayoutItem (0x0x7f56b258c1e0) 16 + vptr=((& QFormLayout::_ZTV11QFormLayout) + 264) + +Class QGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGesture::QPrivateSignal (0x0x7f56b1a306c0) 0 empty + +Vtable for QGesture +QGesture::_ZTV8QGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QGesture) +16 (int (*)(...))QGesture::metaObject +24 (int (*)(...))QGesture::qt_metacast +32 (int (*)(...))QGesture::qt_metacall +40 (int (*)(...))QGesture::~QGesture +48 (int (*)(...))QGesture::~QGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QGesture + size=16 align=8 + base size=16 base align=8 +QGesture (0x0x7f56b1a4d270) 0 + vptr=((& QGesture::_ZTV8QGesture) + 16) + QObject (0x0x7f56b1a30660) 0 + primary-for QGesture (0x0x7f56b1a4d270) + +Class QPanGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPanGesture::QPrivateSignal (0x0x7f56b1a30900) 0 empty + +Vtable for QPanGesture +QPanGesture::_ZTV11QPanGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QPanGesture) +16 (int (*)(...))QPanGesture::metaObject +24 (int (*)(...))QPanGesture::qt_metacast +32 (int (*)(...))QPanGesture::qt_metacall +40 (int (*)(...))QPanGesture::~QPanGesture +48 (int (*)(...))QPanGesture::~QPanGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPanGesture + size=16 align=8 + base size=16 base align=8 +QPanGesture (0x0x7f56b1a4d2d8) 0 + vptr=((& QPanGesture::_ZTV11QPanGesture) + 16) + QGesture (0x0x7f56b1a4d340) 0 + primary-for QPanGesture (0x0x7f56b1a4d2d8) + QObject (0x0x7f56b1a308a0) 0 + primary-for QGesture (0x0x7f56b1a4d340) + +Class QPinchGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPinchGesture::QPrivateSignal (0x0x7f56b1a30b40) 0 empty + +Vtable for QPinchGesture +QPinchGesture::_ZTV13QPinchGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QPinchGesture) +16 (int (*)(...))QPinchGesture::metaObject +24 (int (*)(...))QPinchGesture::qt_metacast +32 (int (*)(...))QPinchGesture::qt_metacall +40 (int (*)(...))QPinchGesture::~QPinchGesture +48 (int (*)(...))QPinchGesture::~QPinchGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPinchGesture + size=16 align=8 + base size=16 base align=8 +QPinchGesture (0x0x7f56b1a4d3a8) 0 + vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16) + QGesture (0x0x7f56b1a4d410) 0 + primary-for QPinchGesture (0x0x7f56b1a4d3a8) + QObject (0x0x7f56b1a30ae0) 0 + primary-for QGesture (0x0x7f56b1a4d410) + +Class QSwipeGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSwipeGesture::QPrivateSignal (0x0x7f56b0e347e0) 0 empty + +Vtable for QSwipeGesture +QSwipeGesture::_ZTV13QSwipeGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSwipeGesture) +16 (int (*)(...))QSwipeGesture::metaObject +24 (int (*)(...))QSwipeGesture::qt_metacast +32 (int (*)(...))QSwipeGesture::qt_metacall +40 (int (*)(...))QSwipeGesture::~QSwipeGesture +48 (int (*)(...))QSwipeGesture::~QSwipeGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSwipeGesture + size=16 align=8 + base size=16 base align=8 +QSwipeGesture (0x0x7f56b1a4d548) 0 + vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16) + QGesture (0x0x7f56b1a4d5b0) 0 + primary-for QSwipeGesture (0x0x7f56b1a4d548) + QObject (0x0x7f56b0e34780) 0 + primary-for QGesture (0x0x7f56b1a4d5b0) + +Class QTapGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTapGesture::QPrivateSignal (0x0x7f56b0e34b40) 0 empty + +Vtable for QTapGesture +QTapGesture::_ZTV11QTapGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTapGesture) +16 (int (*)(...))QTapGesture::metaObject +24 (int (*)(...))QTapGesture::qt_metacast +32 (int (*)(...))QTapGesture::qt_metacall +40 (int (*)(...))QTapGesture::~QTapGesture +48 (int (*)(...))QTapGesture::~QTapGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTapGesture + size=16 align=8 + base size=16 base align=8 +QTapGesture (0x0x7f56b1a4d618) 0 + vptr=((& QTapGesture::_ZTV11QTapGesture) + 16) + QGesture (0x0x7f56b1a4d680) 0 + primary-for QTapGesture (0x0x7f56b1a4d618) + QObject (0x0x7f56b0e34ae0) 0 + primary-for QGesture (0x0x7f56b1a4d680) + +Class QTapAndHoldGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTapAndHoldGesture::QPrivateSignal (0x0x7f56b0e34d80) 0 empty + +Vtable for QTapAndHoldGesture +QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QTapAndHoldGesture) +16 (int (*)(...))QTapAndHoldGesture::metaObject +24 (int (*)(...))QTapAndHoldGesture::qt_metacast +32 (int (*)(...))QTapAndHoldGesture::qt_metacall +40 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture +48 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTapAndHoldGesture + size=16 align=8 + base size=16 base align=8 +QTapAndHoldGesture (0x0x7f56b1a4d6e8) 0 + vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16) + QGesture (0x0x7f56b1a4d750) 0 + primary-for QTapAndHoldGesture (0x0x7f56b1a4d6e8) + QObject (0x0x7f56b0e34d20) 0 + primary-for QGesture (0x0x7f56b1a4d750) + +Vtable for QGestureEvent +QGestureEvent::_ZTV13QGestureEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QGestureEvent) +16 (int (*)(...))QGestureEvent::~QGestureEvent +24 (int (*)(...))QGestureEvent::~QGestureEvent + +Class QGestureEvent + size=56 align=8 + base size=56 base align=8 +QGestureEvent (0x0x7f56b1a4d7b8) 0 + vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16) + QEvent (0x0x7f56b0e34f60) 0 + primary-for QGestureEvent (0x0x7f56b1a4d7b8) + +Vtable for QGestureRecognizer +QGestureRecognizer::_ZTV18QGestureRecognizer: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QGestureRecognizer) +16 0 +24 0 +32 (int (*)(...))QGestureRecognizer::create +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QGestureRecognizer::reset + +Class QGestureRecognizer + size=8 align=8 + base size=8 base align=8 +QGestureRecognizer (0x0x7f56b0202420) 0 nearly-empty + vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16) + +Vtable for QGraphicsItem +QGraphicsItem::_ZTV13QGraphicsItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QGraphicsItem) +16 0 +24 0 +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QGraphicsItem::shape +56 (int (*)(...))QGraphicsItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsItem::isObscuredBy +88 (int (*)(...))QGraphicsItem::opaqueArea +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))QGraphicsItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsItem::supportsExtension +296 (int (*)(...))QGraphicsItem::setExtension +304 (int (*)(...))QGraphicsItem::extension + +Class QGraphicsItem + size=16 align=8 + base size=16 base align=8 +QGraphicsItem (0x0x7f56b0202b40) 0 + vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16) + +Class QGraphicsObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsObject::QPrivateSignal (0x0x7f56ac8d5120) 0 empty + +Vtable for QGraphicsObject +QGraphicsObject::_ZTV15QGraphicsObject: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsObject) +16 (int (*)(...))QGraphicsObject::metaObject +24 (int (*)(...))QGraphicsObject::qt_metacast +32 (int (*)(...))QGraphicsObject::qt_metacall +40 0 +48 0 +56 (int (*)(...))QGraphicsObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))-16 +120 (int (*)(...))(& _ZTI15QGraphicsObject) +128 0 +136 0 +144 (int (*)(...))QGraphicsItem::advance +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))QGraphicsItem::shape +168 (int (*)(...))QGraphicsItem::contains +176 (int (*)(...))QGraphicsItem::collidesWithItem +184 (int (*)(...))QGraphicsItem::collidesWithPath +192 (int (*)(...))QGraphicsItem::isObscuredBy +200 (int (*)(...))QGraphicsItem::opaqueArea +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))QGraphicsItem::type +224 (int (*)(...))QGraphicsItem::sceneEventFilter +232 (int (*)(...))QGraphicsItem::sceneEvent +240 (int (*)(...))QGraphicsItem::contextMenuEvent +248 (int (*)(...))QGraphicsItem::dragEnterEvent +256 (int (*)(...))QGraphicsItem::dragLeaveEvent +264 (int (*)(...))QGraphicsItem::dragMoveEvent +272 (int (*)(...))QGraphicsItem::dropEvent +280 (int (*)(...))QGraphicsItem::focusInEvent +288 (int (*)(...))QGraphicsItem::focusOutEvent +296 (int (*)(...))QGraphicsItem::hoverEnterEvent +304 (int (*)(...))QGraphicsItem::hoverMoveEvent +312 (int (*)(...))QGraphicsItem::hoverLeaveEvent +320 (int (*)(...))QGraphicsItem::keyPressEvent +328 (int (*)(...))QGraphicsItem::keyReleaseEvent +336 (int (*)(...))QGraphicsItem::mousePressEvent +344 (int (*)(...))QGraphicsItem::mouseMoveEvent +352 (int (*)(...))QGraphicsItem::mouseReleaseEvent +360 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +368 (int (*)(...))QGraphicsItem::wheelEvent +376 (int (*)(...))QGraphicsItem::inputMethodEvent +384 (int (*)(...))QGraphicsItem::inputMethodQuery +392 (int (*)(...))QGraphicsItem::itemChange +400 (int (*)(...))QGraphicsItem::supportsExtension +408 (int (*)(...))QGraphicsItem::setExtension +416 (int (*)(...))QGraphicsItem::extension + +Class QGraphicsObject + size=32 align=8 + base size=32 base align=8 +QGraphicsObject (0x0x7f56b3284700) 0 + vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16) + QObject (0x0x7f56ac8d5060) 0 + primary-for QGraphicsObject (0x0x7f56b3284700) + QGraphicsItem (0x0x7f56ac8d50c0) 16 + vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128) + +Vtable for QAbstractGraphicsShapeItem +QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem) +16 0 +24 0 +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QGraphicsItem::shape +56 (int (*)(...))QGraphicsItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QAbstractGraphicsShapeItem::isObscuredBy +88 (int (*)(...))QAbstractGraphicsShapeItem::opaqueArea +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))QGraphicsItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsItem::supportsExtension +296 (int (*)(...))QGraphicsItem::setExtension +304 (int (*)(...))QGraphicsItem::extension + +Class QAbstractGraphicsShapeItem + size=16 align=8 + base size=16 base align=8 +QAbstractGraphicsShapeItem (0x0x7f56b1a4da28) 0 + vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16) + QGraphicsItem (0x0x7f56ac8d5240) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7f56b1a4da28) + +Vtable for QGraphicsPathItem +QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsPathItem) +16 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem +24 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsPathItem::boundingRect +48 (int (*)(...))QGraphicsPathItem::shape +56 (int (*)(...))QGraphicsPathItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsPathItem::isObscuredBy +88 (int (*)(...))QGraphicsPathItem::opaqueArea +96 (int (*)(...))QGraphicsPathItem::paint +104 (int (*)(...))QGraphicsPathItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsPathItem::supportsExtension +296 (int (*)(...))QGraphicsPathItem::setExtension +304 (int (*)(...))QGraphicsPathItem::extension + +Class QGraphicsPathItem + size=16 align=8 + base size=16 base align=8 +QGraphicsPathItem (0x0x7f56b1a4da90) 0 + vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16) + QAbstractGraphicsShapeItem (0x0x7f56b1a4daf8) 0 + primary-for QGraphicsPathItem (0x0x7f56b1a4da90) + QGraphicsItem (0x0x7f56ac8d5360) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7f56b1a4daf8) + +Vtable for QGraphicsRectItem +QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsRectItem) +16 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem +24 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsRectItem::boundingRect +48 (int (*)(...))QGraphicsRectItem::shape +56 (int (*)(...))QGraphicsRectItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsRectItem::isObscuredBy +88 (int (*)(...))QGraphicsRectItem::opaqueArea +96 (int (*)(...))QGraphicsRectItem::paint +104 (int (*)(...))QGraphicsRectItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsRectItem::supportsExtension +296 (int (*)(...))QGraphicsRectItem::setExtension +304 (int (*)(...))QGraphicsRectItem::extension + +Class QGraphicsRectItem + size=16 align=8 + base size=16 base align=8 +QGraphicsRectItem (0x0x7f56b1a4db60) 0 + vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16) + QAbstractGraphicsShapeItem (0x0x7f56b1a4dbc8) 0 + primary-for QGraphicsRectItem (0x0x7f56b1a4db60) + QGraphicsItem (0x0x7f56ac8d5480) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7f56b1a4dbc8) + +Vtable for QGraphicsEllipseItem +QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem) +16 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem +24 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsEllipseItem::boundingRect +48 (int (*)(...))QGraphicsEllipseItem::shape +56 (int (*)(...))QGraphicsEllipseItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsEllipseItem::isObscuredBy +88 (int (*)(...))QGraphicsEllipseItem::opaqueArea +96 (int (*)(...))QGraphicsEllipseItem::paint +104 (int (*)(...))QGraphicsEllipseItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsEllipseItem::supportsExtension +296 (int (*)(...))QGraphicsEllipseItem::setExtension +304 (int (*)(...))QGraphicsEllipseItem::extension + +Class QGraphicsEllipseItem + size=16 align=8 + base size=16 base align=8 +QGraphicsEllipseItem (0x0x7f56b1a4dc30) 0 + vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16) + QAbstractGraphicsShapeItem (0x0x7f56b1a4dc98) 0 + primary-for QGraphicsEllipseItem (0x0x7f56b1a4dc30) + QGraphicsItem (0x0x7f56ac8d5600) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7f56b1a4dc98) + +Vtable for QGraphicsPolygonItem +QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem) +16 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem +24 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsPolygonItem::boundingRect +48 (int (*)(...))QGraphicsPolygonItem::shape +56 (int (*)(...))QGraphicsPolygonItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsPolygonItem::isObscuredBy +88 (int (*)(...))QGraphicsPolygonItem::opaqueArea +96 (int (*)(...))QGraphicsPolygonItem::paint +104 (int (*)(...))QGraphicsPolygonItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsPolygonItem::supportsExtension +296 (int (*)(...))QGraphicsPolygonItem::setExtension +304 (int (*)(...))QGraphicsPolygonItem::extension + +Class QGraphicsPolygonItem + size=16 align=8 + base size=16 base align=8 +QGraphicsPolygonItem (0x0x7f56b1a4dd00) 0 + vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16) + QAbstractGraphicsShapeItem (0x0x7f56b1a4dd68) 0 + primary-for QGraphicsPolygonItem (0x0x7f56b1a4dd00) + QGraphicsItem (0x0x7f56ac8d5780) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7f56b1a4dd68) + +Vtable for QGraphicsLineItem +QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsLineItem) +16 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem +24 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsLineItem::boundingRect +48 (int (*)(...))QGraphicsLineItem::shape +56 (int (*)(...))QGraphicsLineItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsLineItem::isObscuredBy +88 (int (*)(...))QGraphicsLineItem::opaqueArea +96 (int (*)(...))QGraphicsLineItem::paint +104 (int (*)(...))QGraphicsLineItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsLineItem::supportsExtension +296 (int (*)(...))QGraphicsLineItem::setExtension +304 (int (*)(...))QGraphicsLineItem::extension + +Class QGraphicsLineItem + size=16 align=8 + base size=16 base align=8 +QGraphicsLineItem (0x0x7f56b1a4ddd0) 0 + vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16) + QGraphicsItem (0x0x7f56ac8d58a0) 0 + primary-for QGraphicsLineItem (0x0x7f56b1a4ddd0) + +Vtable for QGraphicsPixmapItem +QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem) +16 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem +24 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsPixmapItem::boundingRect +48 (int (*)(...))QGraphicsPixmapItem::shape +56 (int (*)(...))QGraphicsPixmapItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsPixmapItem::isObscuredBy +88 (int (*)(...))QGraphicsPixmapItem::opaqueArea +96 (int (*)(...))QGraphicsPixmapItem::paint +104 (int (*)(...))QGraphicsPixmapItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsPixmapItem::supportsExtension +296 (int (*)(...))QGraphicsPixmapItem::setExtension +304 (int (*)(...))QGraphicsPixmapItem::extension + +Class QGraphicsPixmapItem + size=16 align=8 + base size=16 base align=8 +QGraphicsPixmapItem (0x0x7f56b1a4de38) 0 + vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16) + QGraphicsItem (0x0x7f56ac8d5a20) 0 + primary-for QGraphicsPixmapItem (0x0x7f56b1a4de38) + +Class QGraphicsTextItem::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsTextItem::QPrivateSignal (0x0x7f56ac8d5c60) 0 empty + +Vtable for QGraphicsTextItem +QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsTextItem) +16 (int (*)(...))QGraphicsTextItem::metaObject +24 (int (*)(...))QGraphicsTextItem::qt_metacast +32 (int (*)(...))QGraphicsTextItem::qt_metacall +40 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem +48 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem +56 (int (*)(...))QGraphicsObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsTextItem::boundingRect +120 (int (*)(...))QGraphicsTextItem::shape +128 (int (*)(...))QGraphicsTextItem::contains +136 (int (*)(...))QGraphicsTextItem::paint +144 (int (*)(...))QGraphicsTextItem::isObscuredBy +152 (int (*)(...))QGraphicsTextItem::opaqueArea +160 (int (*)(...))QGraphicsTextItem::type +168 (int (*)(...))QGraphicsTextItem::sceneEvent +176 (int (*)(...))QGraphicsTextItem::mousePressEvent +184 (int (*)(...))QGraphicsTextItem::mouseMoveEvent +192 (int (*)(...))QGraphicsTextItem::mouseReleaseEvent +200 (int (*)(...))QGraphicsTextItem::mouseDoubleClickEvent +208 (int (*)(...))QGraphicsTextItem::contextMenuEvent +216 (int (*)(...))QGraphicsTextItem::keyPressEvent +224 (int (*)(...))QGraphicsTextItem::keyReleaseEvent +232 (int (*)(...))QGraphicsTextItem::focusInEvent +240 (int (*)(...))QGraphicsTextItem::focusOutEvent +248 (int (*)(...))QGraphicsTextItem::dragEnterEvent +256 (int (*)(...))QGraphicsTextItem::dragLeaveEvent +264 (int (*)(...))QGraphicsTextItem::dragMoveEvent +272 (int (*)(...))QGraphicsTextItem::dropEvent +280 (int (*)(...))QGraphicsTextItem::inputMethodEvent +288 (int (*)(...))QGraphicsTextItem::hoverEnterEvent +296 (int (*)(...))QGraphicsTextItem::hoverMoveEvent +304 (int (*)(...))QGraphicsTextItem::hoverLeaveEvent +312 (int (*)(...))QGraphicsTextItem::inputMethodQuery +320 (int (*)(...))QGraphicsTextItem::supportsExtension +328 (int (*)(...))QGraphicsTextItem::setExtension +336 (int (*)(...))QGraphicsTextItem::extension +344 (int (*)(...))-16 +352 (int (*)(...))(& _ZTI17QGraphicsTextItem) +360 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev +368 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev +376 (int (*)(...))QGraphicsItem::advance +384 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv +392 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv +400 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF +408 (int (*)(...))QGraphicsItem::collidesWithItem +416 (int (*)(...))QGraphicsItem::collidesWithPath +424 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem +432 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv +440 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget +448 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv +456 (int (*)(...))QGraphicsItem::sceneEventFilter +464 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent +472 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent +480 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent +488 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent +496 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent +504 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent +512 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent +520 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent +528 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent +536 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent +544 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent +552 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent +560 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent +568 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent +576 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent +584 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent +592 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent +600 (int (*)(...))QGraphicsItem::wheelEvent +608 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent +616 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE +624 (int (*)(...))QGraphicsItem::itemChange +632 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE +640 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant +648 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant + +Class QGraphicsTextItem + size=40 align=8 + base size=40 base align=8 +QGraphicsTextItem (0x0x7f56b1a4dea0) 0 + vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16) + QGraphicsObject (0x0x7f56b32b8070) 0 + primary-for QGraphicsTextItem (0x0x7f56b1a4dea0) + QObject (0x0x7f56ac8d5ba0) 0 + primary-for QGraphicsObject (0x0x7f56b32b8070) + QGraphicsItem (0x0x7f56ac8d5c00) 16 + vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360) + +Vtable for QGraphicsSimpleTextItem +QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem) +16 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem +24 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsSimpleTextItem::boundingRect +48 (int (*)(...))QGraphicsSimpleTextItem::shape +56 (int (*)(...))QGraphicsSimpleTextItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsSimpleTextItem::isObscuredBy +88 (int (*)(...))QGraphicsSimpleTextItem::opaqueArea +96 (int (*)(...))QGraphicsSimpleTextItem::paint +104 (int (*)(...))QGraphicsSimpleTextItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsSimpleTextItem::supportsExtension +296 (int (*)(...))QGraphicsSimpleTextItem::setExtension +304 (int (*)(...))QGraphicsSimpleTextItem::extension + +Class QGraphicsSimpleTextItem + size=16 align=8 + base size=16 base align=8 +QGraphicsSimpleTextItem (0x0x7f56adf5e000) 0 + vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16) + QAbstractGraphicsShapeItem (0x0x7f56adf5e068) 0 + primary-for QGraphicsSimpleTextItem (0x0x7f56adf5e000) + QGraphicsItem (0x0x7f56ac8d5f60) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7f56adf5e068) + +Vtable for QGraphicsItemGroup +QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QGraphicsItemGroup) +16 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup +24 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsItemGroup::boundingRect +48 (int (*)(...))QGraphicsItem::shape +56 (int (*)(...))QGraphicsItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsItemGroup::isObscuredBy +88 (int (*)(...))QGraphicsItemGroup::opaqueArea +96 (int (*)(...))QGraphicsItemGroup::paint +104 (int (*)(...))QGraphicsItemGroup::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsItem::supportsExtension +296 (int (*)(...))QGraphicsItem::setExtension +304 (int (*)(...))QGraphicsItem::extension + +Class QGraphicsItemGroup + size=16 align=8 + base size=16 base align=8 +QGraphicsItemGroup (0x0x7f56adf5e0d0) 0 + vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16) + QGraphicsItem (0x0x7f56ac2510c0) 0 + primary-for QGraphicsItemGroup (0x0x7f56adf5e0d0) + +Vtable for QGraphicsLayoutItem +QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem) +16 0 +24 0 +32 (int (*)(...))QGraphicsLayoutItem::setGeometry +40 (int (*)(...))QGraphicsLayoutItem::getContentsMargins +48 (int (*)(...))QGraphicsLayoutItem::updateGeometry +56 (int (*)(...))__cxa_pure_virtual + +Class QGraphicsLayoutItem + size=16 align=8 + base size=16 base align=8 +QGraphicsLayoutItem (0x0x7f56ac251480) 0 + vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16) + +Vtable for QGraphicsLayout +QGraphicsLayout::_ZTV15QGraphicsLayout: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsLayout) +16 0 +24 0 +32 (int (*)(...))QGraphicsLayoutItem::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))QGraphicsLayout::invalidate +72 (int (*)(...))QGraphicsLayout::widgetEvent +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual + +Class QGraphicsLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsLayout (0x0x7f56adf5e138) 0 + vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16) + QGraphicsLayoutItem (0x0x7f56ac251b40) 0 + primary-for QGraphicsLayout (0x0x7f56adf5e138) + +Class QGraphicsAnchor::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsAnchor::QPrivateSignal (0x0x7f56ac251e40) 0 empty + +Vtable for QGraphicsAnchor +QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsAnchor) +16 (int (*)(...))QGraphicsAnchor::metaObject +24 (int (*)(...))QGraphicsAnchor::qt_metacast +32 (int (*)(...))QGraphicsAnchor::qt_metacall +40 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor +48 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QGraphicsAnchor + size=16 align=8 + base size=16 base align=8 +QGraphicsAnchor (0x0x7f56adf5e1a0) 0 + vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16) + QObject (0x0x7f56ac251de0) 0 + primary-for QGraphicsAnchor (0x0x7f56adf5e1a0) + +Vtable for QGraphicsAnchorLayout +QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout) +16 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout +24 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout +32 (int (*)(...))QGraphicsAnchorLayout::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))QGraphicsAnchorLayout::sizeHint +64 (int (*)(...))QGraphicsAnchorLayout::invalidate +72 (int (*)(...))QGraphicsLayout::widgetEvent +80 (int (*)(...))QGraphicsAnchorLayout::count +88 (int (*)(...))QGraphicsAnchorLayout::itemAt +96 (int (*)(...))QGraphicsAnchorLayout::removeAt + +Class QGraphicsAnchorLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsAnchorLayout (0x0x7f56adf5e208) 0 + vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16) + QGraphicsLayout (0x0x7f56adf5e270) 0 + primary-for QGraphicsAnchorLayout (0x0x7f56adf5e208) + QGraphicsLayoutItem (0x0x7f56b1069060) 0 + primary-for QGraphicsLayout (0x0x7f56adf5e270) + +Class QGraphicsEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsEffect::QPrivateSignal (0x0x7f56b10691e0) 0 empty + +Vtable for QGraphicsEffect +QGraphicsEffect::_ZTV15QGraphicsEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsEffect) +16 (int (*)(...))QGraphicsEffect::metaObject +24 (int (*)(...))QGraphicsEffect::qt_metacast +32 (int (*)(...))QGraphicsEffect::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsEffect::boundingRectFor +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsEffect (0x0x7f56adf5e2d8) 0 + vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16) + QObject (0x0x7f56b1069180) 0 + primary-for QGraphicsEffect (0x0x7f56adf5e2d8) + +Class QGraphicsColorizeEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsColorizeEffect::QPrivateSignal (0x0x7f56b1069ba0) 0 empty + +Vtable for QGraphicsColorizeEffect +QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect) +16 (int (*)(...))QGraphicsColorizeEffect::metaObject +24 (int (*)(...))QGraphicsColorizeEffect::qt_metacast +32 (int (*)(...))QGraphicsColorizeEffect::qt_metacall +40 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect +48 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsEffect::boundingRectFor +120 (int (*)(...))QGraphicsColorizeEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsColorizeEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsColorizeEffect (0x0x7f56adf5e410) 0 + vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16) + QGraphicsEffect (0x0x7f56adf5e478) 0 + primary-for QGraphicsColorizeEffect (0x0x7f56adf5e410) + QObject (0x0x7f56b1069b40) 0 + primary-for QGraphicsEffect (0x0x7f56adf5e478) + +Class QGraphicsBlurEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsBlurEffect::QPrivateSignal (0x0x7f56b1069de0) 0 empty + +Vtable for QGraphicsBlurEffect +QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect) +16 (int (*)(...))QGraphicsBlurEffect::metaObject +24 (int (*)(...))QGraphicsBlurEffect::qt_metacast +32 (int (*)(...))QGraphicsBlurEffect::qt_metacall +40 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect +48 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsBlurEffect::boundingRectFor +120 (int (*)(...))QGraphicsBlurEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsBlurEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsBlurEffect (0x0x7f56adf5e4e0) 0 + vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16) + QGraphicsEffect (0x0x7f56adf5e548) 0 + primary-for QGraphicsBlurEffect (0x0x7f56adf5e4e0) + QObject (0x0x7f56b1069d80) 0 + primary-for QGraphicsEffect (0x0x7f56adf5e548) + +Class QGraphicsDropShadowEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsDropShadowEffect::QPrivateSignal (0x0x7f56ad5e88a0) 0 empty + +Vtable for QGraphicsDropShadowEffect +QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect) +16 (int (*)(...))QGraphicsDropShadowEffect::metaObject +24 (int (*)(...))QGraphicsDropShadowEffect::qt_metacast +32 (int (*)(...))QGraphicsDropShadowEffect::qt_metacall +40 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect +48 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsDropShadowEffect::boundingRectFor +120 (int (*)(...))QGraphicsDropShadowEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsDropShadowEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsDropShadowEffect (0x0x7f56adf5e680) 0 + vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16) + QGraphicsEffect (0x0x7f56adf5e6e8) 0 + primary-for QGraphicsDropShadowEffect (0x0x7f56adf5e680) + QObject (0x0x7f56ad5e8840) 0 + primary-for QGraphicsEffect (0x0x7f56adf5e6e8) + +Class QGraphicsOpacityEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsOpacityEffect::QPrivateSignal (0x0x7f56ad5e8d20) 0 empty + +Vtable for QGraphicsOpacityEffect +QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect) +16 (int (*)(...))QGraphicsOpacityEffect::metaObject +24 (int (*)(...))QGraphicsOpacityEffect::qt_metacast +32 (int (*)(...))QGraphicsOpacityEffect::qt_metacall +40 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect +48 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsEffect::boundingRectFor +120 (int (*)(...))QGraphicsOpacityEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsOpacityEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsOpacityEffect (0x0x7f56adf5e750) 0 + vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16) + QGraphicsEffect (0x0x7f56adf5e7b8) 0 + primary-for QGraphicsOpacityEffect (0x0x7f56adf5e750) + QObject (0x0x7f56ad5e8cc0) 0 + primary-for QGraphicsEffect (0x0x7f56adf5e7b8) + +Vtable for QGraphicsGridLayout +QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsGridLayout) +16 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout +24 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout +32 (int (*)(...))QGraphicsGridLayout::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))QGraphicsGridLayout::sizeHint +64 (int (*)(...))QGraphicsGridLayout::invalidate +72 (int (*)(...))QGraphicsLayout::widgetEvent +80 (int (*)(...))QGraphicsGridLayout::count +88 (int (*)(...))QGraphicsGridLayout::itemAt +96 (int (*)(...))QGraphicsGridLayout::removeAt + +Class QGraphicsGridLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsGridLayout (0x0x7f56adf5e820) 0 + vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16) + QGraphicsLayout (0x0x7f56adf5e888) 0 + primary-for QGraphicsGridLayout (0x0x7f56adf5e820) + QGraphicsLayoutItem (0x0x7f56ad5e8f00) 0 + primary-for QGraphicsLayout (0x0x7f56adf5e888) + +Class QGraphicsItemAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsItemAnimation::QPrivateSignal (0x0x7f56ac263120) 0 empty + +Vtable for QGraphicsItemAnimation +QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation) +16 (int (*)(...))QGraphicsItemAnimation::metaObject +24 (int (*)(...))QGraphicsItemAnimation::qt_metacast +32 (int (*)(...))QGraphicsItemAnimation::qt_metacall +40 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation +48 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsItemAnimation::beforeAnimationStep +120 (int (*)(...))QGraphicsItemAnimation::afterAnimationStep + +Class QGraphicsItemAnimation + size=24 align=8 + base size=24 base align=8 +QGraphicsItemAnimation (0x0x7f56adf5e9c0) 0 + vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16) + QObject (0x0x7f56ac2630c0) 0 + primary-for QGraphicsItemAnimation (0x0x7f56adf5e9c0) + +Vtable for QGraphicsLinearLayout +QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout) +16 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout +24 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout +32 (int (*)(...))QGraphicsLinearLayout::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))QGraphicsLinearLayout::sizeHint +64 (int (*)(...))QGraphicsLinearLayout::invalidate +72 (int (*)(...))QGraphicsLayout::widgetEvent +80 (int (*)(...))QGraphicsLinearLayout::count +88 (int (*)(...))QGraphicsLinearLayout::itemAt +96 (int (*)(...))QGraphicsLinearLayout::removeAt + +Class QGraphicsLinearLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsLinearLayout (0x0x7f56adf5ea28) 0 + vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16) + QGraphicsLayout (0x0x7f56adf5ea90) 0 + primary-for QGraphicsLinearLayout (0x0x7f56adf5ea28) + QGraphicsLayoutItem (0x0x7f56ac263240) 0 + primary-for QGraphicsLayout (0x0x7f56adf5ea90) + +Class QGraphicsWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsWidget::QPrivateSignal (0x0x7f56ac263540) 0 empty + +Vtable for QGraphicsWidget +QGraphicsWidget::_ZTV15QGraphicsWidget: 92 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsWidget) +16 (int (*)(...))QGraphicsWidget::metaObject +24 (int (*)(...))QGraphicsWidget::qt_metacast +32 (int (*)(...))QGraphicsWidget::qt_metacall +40 (int (*)(...))QGraphicsWidget::~QGraphicsWidget +48 (int (*)(...))QGraphicsWidget::~QGraphicsWidget +56 (int (*)(...))QGraphicsWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsWidget::setGeometry +120 (int (*)(...))QGraphicsWidget::getContentsMargins +128 (int (*)(...))QGraphicsWidget::type +136 (int (*)(...))QGraphicsWidget::paint +144 (int (*)(...))QGraphicsWidget::paintWindowFrame +152 (int (*)(...))QGraphicsWidget::boundingRect +160 (int (*)(...))QGraphicsWidget::shape +168 (int (*)(...))QGraphicsWidget::initStyleOption +176 (int (*)(...))QGraphicsWidget::sizeHint +184 (int (*)(...))QGraphicsWidget::updateGeometry +192 (int (*)(...))QGraphicsWidget::itemChange +200 (int (*)(...))QGraphicsWidget::propertyChange +208 (int (*)(...))QGraphicsWidget::sceneEvent +216 (int (*)(...))QGraphicsWidget::windowFrameEvent +224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt +232 (int (*)(...))QGraphicsWidget::changeEvent +240 (int (*)(...))QGraphicsWidget::closeEvent +248 (int (*)(...))QGraphicsWidget::focusInEvent +256 (int (*)(...))QGraphicsWidget::focusNextPrevChild +264 (int (*)(...))QGraphicsWidget::focusOutEvent +272 (int (*)(...))QGraphicsWidget::hideEvent +280 (int (*)(...))QGraphicsWidget::moveEvent +288 (int (*)(...))QGraphicsWidget::polishEvent +296 (int (*)(...))QGraphicsWidget::resizeEvent +304 (int (*)(...))QGraphicsWidget::showEvent +312 (int (*)(...))QGraphicsWidget::hoverMoveEvent +320 (int (*)(...))QGraphicsWidget::hoverLeaveEvent +328 (int (*)(...))QGraphicsWidget::grabMouseEvent +336 (int (*)(...))QGraphicsWidget::ungrabMouseEvent +344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent +352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent +360 (int (*)(...))-16 +368 (int (*)(...))(& _ZTI15QGraphicsWidget) +376 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev +384 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev +392 (int (*)(...))QGraphicsItem::advance +400 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv +408 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv +416 (int (*)(...))QGraphicsItem::contains +424 (int (*)(...))QGraphicsItem::collidesWithItem +432 (int (*)(...))QGraphicsItem::collidesWithPath +440 (int (*)(...))QGraphicsItem::isObscuredBy +448 (int (*)(...))QGraphicsItem::opaqueArea +456 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget +464 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv +472 (int (*)(...))QGraphicsItem::sceneEventFilter +480 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent +488 (int (*)(...))QGraphicsItem::contextMenuEvent +496 (int (*)(...))QGraphicsItem::dragEnterEvent +504 (int (*)(...))QGraphicsItem::dragLeaveEvent +512 (int (*)(...))QGraphicsItem::dragMoveEvent +520 (int (*)(...))QGraphicsItem::dropEvent +528 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent +536 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent +544 (int (*)(...))QGraphicsItem::hoverEnterEvent +552 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent +560 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent +568 (int (*)(...))QGraphicsItem::keyPressEvent +576 (int (*)(...))QGraphicsItem::keyReleaseEvent +584 (int (*)(...))QGraphicsItem::mousePressEvent +592 (int (*)(...))QGraphicsItem::mouseMoveEvent +600 (int (*)(...))QGraphicsItem::mouseReleaseEvent +608 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +616 (int (*)(...))QGraphicsItem::wheelEvent +624 (int (*)(...))QGraphicsItem::inputMethodEvent +632 (int (*)(...))QGraphicsItem::inputMethodQuery +640 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant +648 (int (*)(...))QGraphicsItem::supportsExtension +656 (int (*)(...))QGraphicsItem::setExtension +664 (int (*)(...))QGraphicsItem::extension +672 (int (*)(...))-32 +680 (int (*)(...))(& _ZTI15QGraphicsWidget) +688 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev +696 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev +704 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF +712 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_ +720 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv +728 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF + +Class QGraphicsWidget + size=48 align=8 + base size=48 base align=8 +QGraphicsWidget (0x0x7f56b3093930) 0 + vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16) + QGraphicsObject (0x0x7f56b30939a0) 0 + primary-for QGraphicsWidget (0x0x7f56b3093930) + QObject (0x0x7f56ac263420) 0 + primary-for QGraphicsObject (0x0x7f56b30939a0) + QGraphicsItem (0x0x7f56ac263480) 16 + vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376) + QGraphicsLayoutItem (0x0x7f56ac2634e0) 32 + vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688) + +Class QGraphicsProxyWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsProxyWidget::QPrivateSignal (0x0x7f56ac263a20) 0 empty + +Vtable for QGraphicsProxyWidget +QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 107 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget) +16 (int (*)(...))QGraphicsProxyWidget::metaObject +24 (int (*)(...))QGraphicsProxyWidget::qt_metacast +32 (int (*)(...))QGraphicsProxyWidget::qt_metacall +40 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget +48 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget +56 (int (*)(...))QGraphicsProxyWidget::event +64 (int (*)(...))QGraphicsProxyWidget::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsProxyWidget::setGeometry +120 (int (*)(...))QGraphicsWidget::getContentsMargins +128 (int (*)(...))QGraphicsProxyWidget::type +136 (int (*)(...))QGraphicsProxyWidget::paint +144 (int (*)(...))QGraphicsWidget::paintWindowFrame +152 (int (*)(...))QGraphicsWidget::boundingRect +160 (int (*)(...))QGraphicsWidget::shape +168 (int (*)(...))QGraphicsWidget::initStyleOption +176 (int (*)(...))QGraphicsProxyWidget::sizeHint +184 (int (*)(...))QGraphicsWidget::updateGeometry +192 (int (*)(...))QGraphicsProxyWidget::itemChange +200 (int (*)(...))QGraphicsWidget::propertyChange +208 (int (*)(...))QGraphicsWidget::sceneEvent +216 (int (*)(...))QGraphicsWidget::windowFrameEvent +224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt +232 (int (*)(...))QGraphicsWidget::changeEvent +240 (int (*)(...))QGraphicsWidget::closeEvent +248 (int (*)(...))QGraphicsProxyWidget::focusInEvent +256 (int (*)(...))QGraphicsProxyWidget::focusNextPrevChild +264 (int (*)(...))QGraphicsProxyWidget::focusOutEvent +272 (int (*)(...))QGraphicsProxyWidget::hideEvent +280 (int (*)(...))QGraphicsWidget::moveEvent +288 (int (*)(...))QGraphicsWidget::polishEvent +296 (int (*)(...))QGraphicsProxyWidget::resizeEvent +304 (int (*)(...))QGraphicsProxyWidget::showEvent +312 (int (*)(...))QGraphicsProxyWidget::hoverMoveEvent +320 (int (*)(...))QGraphicsProxyWidget::hoverLeaveEvent +328 (int (*)(...))QGraphicsProxyWidget::grabMouseEvent +336 (int (*)(...))QGraphicsProxyWidget::ungrabMouseEvent +344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent +352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent +360 (int (*)(...))QGraphicsProxyWidget::contextMenuEvent +368 (int (*)(...))QGraphicsProxyWidget::dragEnterEvent +376 (int (*)(...))QGraphicsProxyWidget::dragLeaveEvent +384 (int (*)(...))QGraphicsProxyWidget::dragMoveEvent +392 (int (*)(...))QGraphicsProxyWidget::dropEvent +400 (int (*)(...))QGraphicsProxyWidget::hoverEnterEvent +408 (int (*)(...))QGraphicsProxyWidget::mouseMoveEvent +416 (int (*)(...))QGraphicsProxyWidget::mousePressEvent +424 (int (*)(...))QGraphicsProxyWidget::mouseReleaseEvent +432 (int (*)(...))QGraphicsProxyWidget::mouseDoubleClickEvent +440 (int (*)(...))QGraphicsProxyWidget::wheelEvent +448 (int (*)(...))QGraphicsProxyWidget::keyPressEvent +456 (int (*)(...))QGraphicsProxyWidget::keyReleaseEvent +464 (int (*)(...))QGraphicsProxyWidget::inputMethodQuery +472 (int (*)(...))QGraphicsProxyWidget::inputMethodEvent +480 (int (*)(...))-16 +488 (int (*)(...))(& _ZTI20QGraphicsProxyWidget) +496 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev +504 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev +512 (int (*)(...))QGraphicsItem::advance +520 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv +528 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv +536 (int (*)(...))QGraphicsItem::contains +544 (int (*)(...))QGraphicsItem::collidesWithItem +552 (int (*)(...))QGraphicsItem::collidesWithPath +560 (int (*)(...))QGraphicsItem::isObscuredBy +568 (int (*)(...))QGraphicsItem::opaqueArea +576 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget +584 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv +592 (int (*)(...))QGraphicsItem::sceneEventFilter +600 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent +608 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent +616 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent +624 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent +632 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent +640 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent +648 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent +656 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent +664 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent +672 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent +680 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent +688 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent +696 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent +704 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent +712 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent +720 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent +728 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent +736 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent +744 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16inputMethodEventEP17QInputMethodEvent +752 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget16inputMethodQueryEN2Qt16InputMethodQueryE +760 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant +768 (int (*)(...))QGraphicsItem::supportsExtension +776 (int (*)(...))QGraphicsItem::setExtension +784 (int (*)(...))QGraphicsItem::extension +792 (int (*)(...))-32 +800 (int (*)(...))(& _ZTI20QGraphicsProxyWidget) +808 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev +816 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev +824 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF +832 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_ +840 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv +848 (int (*)(...))QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF + +Class QGraphicsProxyWidget + size=48 align=8 + base size=48 base align=8 +QGraphicsProxyWidget (0x0x7f56adf5ebc8) 0 + vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16) + QGraphicsWidget (0x0x7f56b3093d20) 0 + primary-for QGraphicsProxyWidget (0x0x7f56adf5ebc8) + QGraphicsObject (0x0x7f56b3093d90) 0 + primary-for QGraphicsWidget (0x0x7f56b3093d20) + QObject (0x0x7f56ac263900) 0 + primary-for QGraphicsObject (0x0x7f56b3093d90) + QGraphicsItem (0x0x7f56ac263960) 16 + vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 496) + QGraphicsLayoutItem (0x0x7f56ac2639c0) 32 + vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 808) + +Class QGraphicsScene::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsScene::QPrivateSignal (0x0x7f56ac263de0) 0 empty + +Vtable for QGraphicsScene +QGraphicsScene::_ZTV14QGraphicsScene: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QGraphicsScene) +16 (int (*)(...))QGraphicsScene::metaObject +24 (int (*)(...))QGraphicsScene::qt_metacast +32 (int (*)(...))QGraphicsScene::qt_metacall +40 (int (*)(...))QGraphicsScene::~QGraphicsScene +48 (int (*)(...))QGraphicsScene::~QGraphicsScene +56 (int (*)(...))QGraphicsScene::event +64 (int (*)(...))QGraphicsScene::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsScene::inputMethodQuery +120 (int (*)(...))QGraphicsScene::contextMenuEvent +128 (int (*)(...))QGraphicsScene::dragEnterEvent +136 (int (*)(...))QGraphicsScene::dragMoveEvent +144 (int (*)(...))QGraphicsScene::dragLeaveEvent +152 (int (*)(...))QGraphicsScene::dropEvent +160 (int (*)(...))QGraphicsScene::focusInEvent +168 (int (*)(...))QGraphicsScene::focusOutEvent +176 (int (*)(...))QGraphicsScene::helpEvent +184 (int (*)(...))QGraphicsScene::keyPressEvent +192 (int (*)(...))QGraphicsScene::keyReleaseEvent +200 (int (*)(...))QGraphicsScene::mousePressEvent +208 (int (*)(...))QGraphicsScene::mouseMoveEvent +216 (int (*)(...))QGraphicsScene::mouseReleaseEvent +224 (int (*)(...))QGraphicsScene::mouseDoubleClickEvent +232 (int (*)(...))QGraphicsScene::wheelEvent +240 (int (*)(...))QGraphicsScene::inputMethodEvent +248 (int (*)(...))QGraphicsScene::drawBackground +256 (int (*)(...))QGraphicsScene::drawForeground +264 (int (*)(...))QGraphicsScene::drawItems + +Class QGraphicsScene + size=16 align=8 + base size=16 base align=8 +QGraphicsScene (0x0x7f56adf5edd0) 0 + vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16) + QObject (0x0x7f56ac263d80) 0 + primary-for QGraphicsScene (0x0x7f56adf5edd0) + +Vtable for QGraphicsSceneEvent +QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent) +16 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent +24 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent + +Class QGraphicsSceneEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneEvent (0x0x7f56adf5ef70) 0 + vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16) + QEvent (0x0x7f56aaf83cc0) 0 + primary-for QGraphicsSceneEvent (0x0x7f56adf5ef70) + +Vtable for QGraphicsSceneMouseEvent +QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent) +16 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent +24 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent + +Class QGraphicsSceneMouseEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneMouseEvent (0x0x7f56afa92000) 0 + vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16) + QGraphicsSceneEvent (0x0x7f56afa92068) 0 + primary-for QGraphicsSceneMouseEvent (0x0x7f56afa92000) + QEvent (0x0x7f56aaf83ea0) 0 + primary-for QGraphicsSceneEvent (0x0x7f56afa92068) + +Vtable for QGraphicsSceneWheelEvent +QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent) +16 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent +24 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent + +Class QGraphicsSceneWheelEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneWheelEvent (0x0x7f56afa920d0) 0 + vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16) + QGraphicsSceneEvent (0x0x7f56afa92138) 0 + primary-for QGraphicsSceneWheelEvent (0x0x7f56afa920d0) + QEvent (0x0x7f56ae75c000) 0 + primary-for QGraphicsSceneEvent (0x0x7f56afa92138) + +Vtable for QGraphicsSceneContextMenuEvent +QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent) +16 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent +24 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent + +Class QGraphicsSceneContextMenuEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneContextMenuEvent (0x0x7f56afa921a0) 0 + vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16) + QGraphicsSceneEvent (0x0x7f56afa92208) 0 + primary-for QGraphicsSceneContextMenuEvent (0x0x7f56afa921a0) + QEvent (0x0x7f56ae75c120) 0 + primary-for QGraphicsSceneEvent (0x0x7f56afa92208) + +Vtable for QGraphicsSceneHoverEvent +QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent) +16 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent +24 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent + +Class QGraphicsSceneHoverEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneHoverEvent (0x0x7f56afa92270) 0 + vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16) + QGraphicsSceneEvent (0x0x7f56afa922d8) 0 + primary-for QGraphicsSceneHoverEvent (0x0x7f56afa92270) + QEvent (0x0x7f56ae75c240) 0 + primary-for QGraphicsSceneEvent (0x0x7f56afa922d8) + +Vtable for QGraphicsSceneHelpEvent +QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent) +16 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent +24 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent + +Class QGraphicsSceneHelpEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneHelpEvent (0x0x7f56afa92340) 0 + vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16) + QGraphicsSceneEvent (0x0x7f56afa923a8) 0 + primary-for QGraphicsSceneHelpEvent (0x0x7f56afa92340) + QEvent (0x0x7f56ae75c360) 0 + primary-for QGraphicsSceneEvent (0x0x7f56afa923a8) + +Vtable for QGraphicsSceneDragDropEvent +QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent) +16 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent +24 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent + +Class QGraphicsSceneDragDropEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneDragDropEvent (0x0x7f56afa92410) 0 + vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16) + QGraphicsSceneEvent (0x0x7f56afa92478) 0 + primary-for QGraphicsSceneDragDropEvent (0x0x7f56afa92410) + QEvent (0x0x7f56ae75c480) 0 + primary-for QGraphicsSceneEvent (0x0x7f56afa92478) + +Vtable for QGraphicsSceneResizeEvent +QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent) +16 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent +24 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent + +Class QGraphicsSceneResizeEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneResizeEvent (0x0x7f56afa924e0) 0 + vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16) + QGraphicsSceneEvent (0x0x7f56afa92548) 0 + primary-for QGraphicsSceneResizeEvent (0x0x7f56afa924e0) + QEvent (0x0x7f56ae75c5a0) 0 + primary-for QGraphicsSceneEvent (0x0x7f56afa92548) + +Vtable for QGraphicsSceneMoveEvent +QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent) +16 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent +24 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent + +Class QGraphicsSceneMoveEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneMoveEvent (0x0x7f56afa925b0) 0 + vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16) + QGraphicsSceneEvent (0x0x7f56afa92618) 0 + primary-for QGraphicsSceneMoveEvent (0x0x7f56afa925b0) + QEvent (0x0x7f56ae75c6c0) 0 + primary-for QGraphicsSceneEvent (0x0x7f56afa92618) + +Class QGraphicsTransform::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsTransform::QPrivateSignal (0x0x7f56ae75c840) 0 empty + +Vtable for QGraphicsTransform +QGraphicsTransform::_ZTV18QGraphicsTransform: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QGraphicsTransform) +16 (int (*)(...))QGraphicsTransform::metaObject +24 (int (*)(...))QGraphicsTransform::qt_metacast +32 (int (*)(...))QGraphicsTransform::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QGraphicsTransform + size=16 align=8 + base size=16 base align=8 +QGraphicsTransform (0x0x7f56afa92680) 0 + vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16) + QObject (0x0x7f56ae75c7e0) 0 + primary-for QGraphicsTransform (0x0x7f56afa92680) + +Class QGraphicsScale::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsScale::QPrivateSignal (0x0x7f56ae75ca80) 0 empty + +Vtable for QGraphicsScale +QGraphicsScale::_ZTV14QGraphicsScale: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QGraphicsScale) +16 (int (*)(...))QGraphicsScale::metaObject +24 (int (*)(...))QGraphicsScale::qt_metacast +32 (int (*)(...))QGraphicsScale::qt_metacall +40 (int (*)(...))QGraphicsScale::~QGraphicsScale +48 (int (*)(...))QGraphicsScale::~QGraphicsScale +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsScale::applyTo + +Class QGraphicsScale + size=16 align=8 + base size=16 base align=8 +QGraphicsScale (0x0x7f56afa926e8) 0 + vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16) + QGraphicsTransform (0x0x7f56afa92750) 0 + primary-for QGraphicsScale (0x0x7f56afa926e8) + QObject (0x0x7f56ae75ca20) 0 + primary-for QGraphicsTransform (0x0x7f56afa92750) + +Class QGraphicsRotation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsRotation::QPrivateSignal (0x0x7f56ae75ccc0) 0 empty + +Vtable for QGraphicsRotation +QGraphicsRotation::_ZTV17QGraphicsRotation: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsRotation) +16 (int (*)(...))QGraphicsRotation::metaObject +24 (int (*)(...))QGraphicsRotation::qt_metacast +32 (int (*)(...))QGraphicsRotation::qt_metacall +40 (int (*)(...))QGraphicsRotation::~QGraphicsRotation +48 (int (*)(...))QGraphicsRotation::~QGraphicsRotation +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsRotation::applyTo + +Class QGraphicsRotation + size=16 align=8 + base size=16 base align=8 +QGraphicsRotation (0x0x7f56afa927b8) 0 + vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16) + QGraphicsTransform (0x0x7f56afa92820) 0 + primary-for QGraphicsRotation (0x0x7f56afa927b8) + QObject (0x0x7f56ae75cc60) 0 + primary-for QGraphicsTransform (0x0x7f56afa92820) + +Class QScrollArea::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScrollArea::QPrivateSignal (0x0x7f56ae75cf60) 0 empty + +Vtable for QScrollArea +QScrollArea::_ZTV11QScrollArea: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QScrollArea) +16 (int (*)(...))QScrollArea::metaObject +24 (int (*)(...))QScrollArea::qt_metacast +32 (int (*)(...))QScrollArea::qt_metacall +40 (int (*)(...))QScrollArea::~QScrollArea +48 (int (*)(...))QScrollArea::~QScrollArea +56 (int (*)(...))QScrollArea::event +64 (int (*)(...))QScrollArea::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractScrollArea::mousePressEvent +176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent +184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent +192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractScrollArea::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QScrollArea::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractScrollArea::dragEnterEvent +320 (int (*)(...))QAbstractScrollArea::dragMoveEvent +328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent +336 (int (*)(...))QAbstractScrollArea::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QScrollArea::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QScrollArea::scrollContentsBy +456 (int (*)(...))QScrollArea::viewportSizeHint +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI11QScrollArea) +480 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD1Ev +488 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QScrollArea + size=48 align=8 + base size=48 base align=8 +QScrollArea (0x0x7f56afa92888) 0 + vptr=((& QScrollArea::_ZTV11QScrollArea) + 16) + QAbstractScrollArea (0x0x7f56afa928f0) 0 + primary-for QScrollArea (0x0x7f56afa92888) + QFrame (0x0x7f56afa92958) 0 + primary-for QAbstractScrollArea (0x0x7f56afa928f0) + QWidget (0x0x7f56b3184540) 0 + primary-for QFrame (0x0x7f56afa92958) + QObject (0x0x7f56ae75cea0) 0 + primary-for QWidget (0x0x7f56b3184540) + QPaintDevice (0x0x7f56ae75cf00) 16 + vptr=((& QScrollArea::_ZTV11QScrollArea) + 480) + +Class QGraphicsView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsView::QPrivateSignal (0x0x7f56b3149240) 0 empty + +Vtable for QGraphicsView +QGraphicsView::_ZTV13QGraphicsView: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QGraphicsView) +16 (int (*)(...))QGraphicsView::metaObject +24 (int (*)(...))QGraphicsView::qt_metacast +32 (int (*)(...))QGraphicsView::qt_metacall +40 (int (*)(...))QGraphicsView::~QGraphicsView +48 (int (*)(...))QGraphicsView::~QGraphicsView +56 (int (*)(...))QGraphicsView::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QGraphicsView::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QGraphicsView::mousePressEvent +176 (int (*)(...))QGraphicsView::mouseReleaseEvent +184 (int (*)(...))QGraphicsView::mouseDoubleClickEvent +192 (int (*)(...))QGraphicsView::mouseMoveEvent +200 (int (*)(...))QGraphicsView::wheelEvent +208 (int (*)(...))QGraphicsView::keyPressEvent +216 (int (*)(...))QGraphicsView::keyReleaseEvent +224 (int (*)(...))QGraphicsView::focusInEvent +232 (int (*)(...))QGraphicsView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QGraphicsView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QGraphicsView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QGraphicsView::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QGraphicsView::dragEnterEvent +320 (int (*)(...))QGraphicsView::dragMoveEvent +328 (int (*)(...))QGraphicsView::dragLeaveEvent +336 (int (*)(...))QGraphicsView::dropEvent +344 (int (*)(...))QGraphicsView::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QGraphicsView::inputMethodEvent +416 (int (*)(...))QGraphicsView::inputMethodQuery +424 (int (*)(...))QGraphicsView::focusNextPrevChild +432 (int (*)(...))QGraphicsView::setupViewport +440 (int (*)(...))QGraphicsView::viewportEvent +448 (int (*)(...))QGraphicsView::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))QGraphicsView::drawBackground +472 (int (*)(...))QGraphicsView::drawForeground +480 (int (*)(...))QGraphicsView::drawItems +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI13QGraphicsView) +504 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev +512 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QGraphicsView + size=48 align=8 + base size=48 base align=8 +QGraphicsView (0x0x7f56afa929c0) 0 + vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16) + QAbstractScrollArea (0x0x7f56afa92a28) 0 + primary-for QGraphicsView (0x0x7f56afa929c0) + QFrame (0x0x7f56afa92a90) 0 + primary-for QAbstractScrollArea (0x0x7f56afa92a28) + QWidget (0x0x7f56b3184690) 0 + primary-for QFrame (0x0x7f56afa92a90) + QObject (0x0x7f56b3149180) 0 + primary-for QWidget (0x0x7f56b3184690) + QPaintDevice (0x0x7f56b31491e0) 16 + vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504) + +Class QGroupBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGroupBox::QPrivateSignal (0x0x7f56b1cc5900) 0 empty + +Vtable for QGroupBox +QGroupBox::_ZTV9QGroupBox: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QGroupBox) +16 (int (*)(...))QGroupBox::metaObject +24 (int (*)(...))QGroupBox::qt_metacast +32 (int (*)(...))QGroupBox::qt_metacall +40 (int (*)(...))QGroupBox::~QGroupBox +48 (int (*)(...))QGroupBox::~QGroupBox +56 (int (*)(...))QGroupBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QGroupBox::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QGroupBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QGroupBox::mousePressEvent +176 (int (*)(...))QGroupBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QGroupBox::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QGroupBox::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QGroupBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QGroupBox::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QGroupBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI9QGroupBox) +448 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD1Ev +456 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QGroupBox + size=48 align=8 + base size=48 base align=8 +QGroupBox (0x0x7f56afa92c98) 0 + vptr=((& QGroupBox::_ZTV9QGroupBox) + 16) + QWidget (0x0x7f56b2deb1c0) 0 + primary-for QGroupBox (0x0x7f56afa92c98) + QObject (0x0x7f56b1cc5840) 0 + primary-for QWidget (0x0x7f56b2deb1c0) + QPaintDevice (0x0x7f56b1cc58a0) 16 + vptr=((& QGroupBox::_ZTV9QGroupBox) + 448) + +Class QHeaderView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHeaderView::QPrivateSignal (0x0x7f56b1cc5ba0) 0 empty + +Vtable for QHeaderView +QHeaderView::_ZTV11QHeaderView: 108 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHeaderView) +16 (int (*)(...))QHeaderView::metaObject +24 (int (*)(...))QHeaderView::qt_metacast +32 (int (*)(...))QHeaderView::qt_metacall +40 (int (*)(...))QHeaderView::~QHeaderView +48 (int (*)(...))QHeaderView::~QHeaderView +56 (int (*)(...))QHeaderView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QAbstractItemView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QHeaderView::setVisible +128 (int (*)(...))QHeaderView::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QHeaderView::mousePressEvent +176 (int (*)(...))QHeaderView::mouseReleaseEvent +184 (int (*)(...))QHeaderView::mouseDoubleClickEvent +192 (int (*)(...))QHeaderView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QHeaderView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QHeaderView::viewportEvent +448 (int (*)(...))QHeaderView::scrollContentsBy +456 (int (*)(...))QAbstractItemView::viewportSizeHint +464 (int (*)(...))QHeaderView::setModel +472 (int (*)(...))QAbstractItemView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QHeaderView::visualRect +496 (int (*)(...))QHeaderView::scrollTo +504 (int (*)(...))QHeaderView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QHeaderView::reset +536 (int (*)(...))QAbstractItemView::setRootIndex +544 (int (*)(...))QHeaderView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QHeaderView::dataChanged +568 (int (*)(...))QHeaderView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QAbstractItemView::selectionChanged +592 (int (*)(...))QHeaderView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QHeaderView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QHeaderView::moveCursor +688 (int (*)(...))QHeaderView::horizontalOffset +696 (int (*)(...))QHeaderView::verticalOffset +704 (int (*)(...))QHeaderView::isIndexHidden +712 (int (*)(...))QHeaderView::setSelection +720 (int (*)(...))QHeaderView::visualRegionForSelection +728 (int (*)(...))QAbstractItemView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))QHeaderView::paintSection +776 (int (*)(...))QHeaderView::sectionSizeFromContents +784 (int (*)(...))-16 +792 (int (*)(...))(& _ZTI11QHeaderView) +800 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD1Ev +808 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD0Ev +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QHeaderView + size=48 align=8 + base size=48 base align=8 +QHeaderView (0x0x7f56afa92d00) 0 + vptr=((& QHeaderView::_ZTV11QHeaderView) + 16) + QAbstractItemView (0x0x7f56afa92d68) 0 + primary-for QHeaderView (0x0x7f56afa92d00) + QAbstractScrollArea (0x0x7f56afa92dd0) 0 + primary-for QAbstractItemView (0x0x7f56afa92d68) + QFrame (0x0x7f56afa92e38) 0 + primary-for QAbstractScrollArea (0x0x7f56afa92dd0) + QWidget (0x0x7f56b2deb230) 0 + primary-for QFrame (0x0x7f56afa92e38) + QObject (0x0x7f56b1cc5ae0) 0 + primary-for QWidget (0x0x7f56b2deb230) + QPaintDevice (0x0x7f56b1cc5b40) 16 + vptr=((& QHeaderView::_ZTV11QHeaderView) + 800) + +Class QLineEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLineEdit::QPrivateSignal (0x0x7f56b08ef5a0) 0 empty + +Vtable for QLineEdit +QLineEdit::_ZTV9QLineEdit: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QLineEdit) +16 (int (*)(...))QLineEdit::metaObject +24 (int (*)(...))QLineEdit::qt_metacast +32 (int (*)(...))QLineEdit::qt_metacall +40 (int (*)(...))QLineEdit::~QLineEdit +48 (int (*)(...))QLineEdit::~QLineEdit +56 (int (*)(...))QLineEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QLineEdit::sizeHint +136 (int (*)(...))QLineEdit::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QLineEdit::mousePressEvent +176 (int (*)(...))QLineEdit::mouseReleaseEvent +184 (int (*)(...))QLineEdit::mouseDoubleClickEvent +192 (int (*)(...))QLineEdit::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QLineEdit::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QLineEdit::focusInEvent +232 (int (*)(...))QLineEdit::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QLineEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QLineEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QLineEdit::dragEnterEvent +320 (int (*)(...))QLineEdit::dragMoveEvent +328 (int (*)(...))QLineEdit::dragLeaveEvent +336 (int (*)(...))QLineEdit::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QLineEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QLineEdit::inputMethodEvent +416 (int (*)(...))QLineEdit::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI9QLineEdit) +448 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD1Ev +456 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QLineEdit + size=48 align=8 + base size=48 base align=8 +QLineEdit (0x0x7f56b06c63a8) 0 + vptr=((& QLineEdit::_ZTV9QLineEdit) + 16) + QWidget (0x0x7f56b2debaf0) 0 + primary-for QLineEdit (0x0x7f56b06c63a8) + QObject (0x0x7f56b08ef4e0) 0 + primary-for QWidget (0x0x7f56b2debaf0) + QPaintDevice (0x0x7f56b08ef540) 16 + vptr=((& QLineEdit::_ZTV9QLineEdit) + 448) + +Class QInputDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QInputDialog::QPrivateSignal (0x0x7f56b08ef9c0) 0 empty + +Vtable for QInputDialog +QInputDialog::_ZTV12QInputDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QInputDialog) +16 (int (*)(...))QInputDialog::metaObject +24 (int (*)(...))QInputDialog::qt_metacast +32 (int (*)(...))QInputDialog::qt_metacall +40 (int (*)(...))QInputDialog::~QInputDialog +48 (int (*)(...))QInputDialog::~QInputDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QInputDialog::setVisible +128 (int (*)(...))QInputDialog::sizeHint +136 (int (*)(...))QInputDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QInputDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI12QInputDialog) +488 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD1Ev +496 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QInputDialog + size=48 align=8 + base size=48 base align=8 +QInputDialog (0x0x7f56b06c6410) 0 + vptr=((& QInputDialog::_ZTV12QInputDialog) + 16) + QDialog (0x0x7f56b06c6478) 0 + primary-for QInputDialog (0x0x7f56b06c6410) + QWidget (0x0x7f56b2e1b310) 0 + primary-for QDialog (0x0x7f56b06c6478) + QObject (0x0x7f56b08ef900) 0 + primary-for QWidget (0x0x7f56b2e1b310) + QPaintDevice (0x0x7f56b08ef960) 16 + vptr=((& QInputDialog::_ZTV12QInputDialog) + 488) + +Class QItemDelegate::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QItemDelegate::QPrivateSignal (0x0x7f56ae162300) 0 empty + +Vtable for QItemDelegate +QItemDelegate::_ZTV13QItemDelegate: 28 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QItemDelegate) +16 (int (*)(...))QItemDelegate::metaObject +24 (int (*)(...))QItemDelegate::qt_metacast +32 (int (*)(...))QItemDelegate::qt_metacall +40 (int (*)(...))QItemDelegate::~QItemDelegate +48 (int (*)(...))QItemDelegate::~QItemDelegate +56 (int (*)(...))QObject::event +64 (int (*)(...))QItemDelegate::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QItemDelegate::paint +120 (int (*)(...))QItemDelegate::sizeHint +128 (int (*)(...))QItemDelegate::createEditor +136 (int (*)(...))QAbstractItemDelegate::destroyEditor +144 (int (*)(...))QItemDelegate::setEditorData +152 (int (*)(...))QItemDelegate::setModelData +160 (int (*)(...))QItemDelegate::updateEditorGeometry +168 (int (*)(...))QItemDelegate::editorEvent +176 (int (*)(...))QAbstractItemDelegate::helpEvent +184 (int (*)(...))QAbstractItemDelegate::paintingRoles +192 (int (*)(...))QItemDelegate::drawDisplay +200 (int (*)(...))QItemDelegate::drawDecoration +208 (int (*)(...))QItemDelegate::drawFocus +216 (int (*)(...))QItemDelegate::drawCheck + +Class QItemDelegate + size=16 align=8 + base size=16 base align=8 +QItemDelegate (0x0x7f56b06c65b0) 0 + vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16) + QAbstractItemDelegate (0x0x7f56b06c6618) 0 + primary-for QItemDelegate (0x0x7f56b06c65b0) + QObject (0x0x7f56ae1622a0) 0 + primary-for QAbstractItemDelegate (0x0x7f56b06c6618) + +Vtable for QItemEditorCreatorBase +QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QItemEditorCreatorBase + size=8 align=8 + base size=8 base align=8 +QItemEditorCreatorBase (0x0x7f56ae1624e0) 0 nearly-empty + vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16) + +Vtable for QItemEditorFactory +QItemEditorFactory::_ZTV18QItemEditorFactory: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QItemEditorFactory) +16 (int (*)(...))QItemEditorFactory::~QItemEditorFactory +24 (int (*)(...))QItemEditorFactory::~QItemEditorFactory +32 (int (*)(...))QItemEditorFactory::createEditor +40 (int (*)(...))QItemEditorFactory::valuePropertyName + +Class QItemEditorFactory + size=16 align=8 + base size=16 base align=8 +QItemEditorFactory (0x0x7f56ae162840) 0 + vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16) + +Class QKeyEventTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QKeyEventTransition::QPrivateSignal (0x0x7f56ae162b40) 0 empty + +Vtable for QKeyEventTransition +QKeyEventTransition::_ZTV19QKeyEventTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QKeyEventTransition) +16 (int (*)(...))QKeyEventTransition::metaObject +24 (int (*)(...))QKeyEventTransition::qt_metacast +32 (int (*)(...))QKeyEventTransition::qt_metacall +40 (int (*)(...))QKeyEventTransition::~QKeyEventTransition +48 (int (*)(...))QKeyEventTransition::~QKeyEventTransition +56 (int (*)(...))QEventTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QKeyEventTransition::eventTest +120 (int (*)(...))QKeyEventTransition::onTransition + +Class QKeyEventTransition + size=16 align=8 + base size=16 base align=8 +QKeyEventTransition (0x0x7f56b06c6750) 0 + vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16) + QEventTransition (0x0x7f56b06c67b8) 0 + primary-for QKeyEventTransition (0x0x7f56b06c6750) + QAbstractTransition (0x0x7f56b06c6820) 0 + primary-for QEventTransition (0x0x7f56b06c67b8) + QObject (0x0x7f56ae162ae0) 0 + primary-for QAbstractTransition (0x0x7f56b06c6820) + +Class QKeySequenceEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QKeySequenceEdit::QPrivateSignal (0x0x7f56ae162de0) 0 empty + +Vtable for QKeySequenceEdit +QKeySequenceEdit::_ZTV16QKeySequenceEdit: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QKeySequenceEdit) +16 (int (*)(...))QKeySequenceEdit::metaObject +24 (int (*)(...))QKeySequenceEdit::qt_metacast +32 (int (*)(...))QKeySequenceEdit::qt_metacall +40 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit +48 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit +56 (int (*)(...))QKeySequenceEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QKeySequenceEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QKeySequenceEdit::keyPressEvent +216 (int (*)(...))QKeySequenceEdit::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI16QKeySequenceEdit) +448 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD1Ev +456 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QKeySequenceEdit + size=48 align=8 + base size=48 base align=8 +QKeySequenceEdit (0x0x7f56b06c6888) 0 + vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 16) + QWidget (0x0x7f56b2e90620) 0 + primary-for QKeySequenceEdit (0x0x7f56b06c6888) + QObject (0x0x7f56ae162d20) 0 + primary-for QWidget (0x0x7f56b2e90620) + QPaintDevice (0x0x7f56ae162d80) 16 + vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 448) + +Class QLabel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLabel::QPrivateSignal (0x0x7f56adf4c0c0) 0 empty + +Vtable for QLabel +QLabel::_ZTV6QLabel: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QLabel) +16 (int (*)(...))QLabel::metaObject +24 (int (*)(...))QLabel::qt_metacast +32 (int (*)(...))QLabel::qt_metacall +40 (int (*)(...))QLabel::~QLabel +48 (int (*)(...))QLabel::~QLabel +56 (int (*)(...))QLabel::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QLabel::sizeHint +136 (int (*)(...))QLabel::minimumSizeHint +144 (int (*)(...))QLabel::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QLabel::mousePressEvent +176 (int (*)(...))QLabel::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QLabel::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QLabel::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QLabel::focusInEvent +232 (int (*)(...))QLabel::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QLabel::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QLabel::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QLabel::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QLabel::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI6QLabel) +448 (int (*)(...))QLabel::_ZThn16_N6QLabelD1Ev +456 (int (*)(...))QLabel::_ZThn16_N6QLabelD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QLabel + size=48 align=8 + base size=48 base align=8 +QLabel (0x0x7f56b06c68f0) 0 + vptr=((& QLabel::_ZTV6QLabel) + 16) + QFrame (0x0x7f56b06c6958) 0 + primary-for QLabel (0x0x7f56b06c68f0) + QWidget (0x0x7f56b2e907e0) 0 + primary-for QFrame (0x0x7f56b06c6958) + QObject (0x0x7f56adf4c000) 0 + primary-for QWidget (0x0x7f56b2e907e0) + QPaintDevice (0x0x7f56adf4c060) 16 + vptr=((& QLabel::_ZTV6QLabel) + 448) + +Class QLCDNumber::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLCDNumber::QPrivateSignal (0x0x7f56adf4c360) 0 empty + +Vtable for QLCDNumber +QLCDNumber::_ZTV10QLCDNumber: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QLCDNumber) +16 (int (*)(...))QLCDNumber::metaObject +24 (int (*)(...))QLCDNumber::qt_metacast +32 (int (*)(...))QLCDNumber::qt_metacall +40 (int (*)(...))QLCDNumber::~QLCDNumber +48 (int (*)(...))QLCDNumber::~QLCDNumber +56 (int (*)(...))QLCDNumber::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QLCDNumber::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QLCDNumber::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI10QLCDNumber) +448 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD1Ev +456 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QLCDNumber + size=48 align=8 + base size=48 base align=8 +QLCDNumber (0x0x7f56b06c69c0) 0 + vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16) + QFrame (0x0x7f56b06c6a28) 0 + primary-for QLCDNumber (0x0x7f56b06c69c0) + QWidget (0x0x7f56b2e90af0) 0 + primary-for QFrame (0x0x7f56b06c6a28) + QObject (0x0x7f56adf4c2a0) 0 + primary-for QWidget (0x0x7f56b2e90af0) + QPaintDevice (0x0x7f56adf4c300) 16 + vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 448) + +Class QListView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QListView::QPrivateSignal (0x0x7f56adf4c780) 0 empty + +Vtable for QListView +QListView::_ZTV9QListView: 106 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QListView) +16 (int (*)(...))QListView::metaObject +24 (int (*)(...))QListView::qt_metacast +32 (int (*)(...))QListView::qt_metacall +40 (int (*)(...))QListView::~QListView +48 (int (*)(...))QListView::~QListView +56 (int (*)(...))QListView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QListView::scrollContentsBy +456 (int (*)(...))QListView::viewportSizeHint +464 (int (*)(...))QAbstractItemView::setModel +472 (int (*)(...))QAbstractItemView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QListView::visualRect +496 (int (*)(...))QListView::scrollTo +504 (int (*)(...))QListView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QListView::reset +536 (int (*)(...))QListView::setRootIndex +544 (int (*)(...))QListView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QListView::dataChanged +568 (int (*)(...))QListView::rowsInserted +576 (int (*)(...))QListView::rowsAboutToBeRemoved +584 (int (*)(...))QListView::selectionChanged +592 (int (*)(...))QListView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QListView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QListView::moveCursor +688 (int (*)(...))QListView::horizontalOffset +696 (int (*)(...))QListView::verticalOffset +704 (int (*)(...))QListView::isIndexHidden +712 (int (*)(...))QListView::setSelection +720 (int (*)(...))QListView::visualRegionForSelection +728 (int (*)(...))QListView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QListView::startDrag +760 (int (*)(...))QListView::viewOptions +768 (int (*)(...))-16 +776 (int (*)(...))(& _ZTI9QListView) +784 (int (*)(...))QListView::_ZThn16_N9QListViewD1Ev +792 (int (*)(...))QListView::_ZThn16_N9QListViewD0Ev +800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QListView + size=48 align=8 + base size=48 base align=8 +QListView (0x0x7f56b06c6a90) 0 + vptr=((& QListView::_ZTV9QListView) + 16) + QAbstractItemView (0x0x7f56b06c6af8) 0 + primary-for QListView (0x0x7f56b06c6a90) + QAbstractScrollArea (0x0x7f56b06c6b60) 0 + primary-for QAbstractItemView (0x0x7f56b06c6af8) + QFrame (0x0x7f56b06c6bc8) 0 + primary-for QAbstractScrollArea (0x0x7f56b06c6b60) + QWidget (0x0x7f56b2e90f50) 0 + primary-for QFrame (0x0x7f56b06c6bc8) + QObject (0x0x7f56adf4c6c0) 0 + primary-for QWidget (0x0x7f56b2e90f50) + QPaintDevice (0x0x7f56adf4c720) 16 + vptr=((& QListView::_ZTV9QListView) + 784) + +Vtable for QListWidgetItem +QListWidgetItem::_ZTV15QListWidgetItem: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QListWidgetItem) +16 (int (*)(...))QListWidgetItem::~QListWidgetItem +24 (int (*)(...))QListWidgetItem::~QListWidgetItem +32 (int (*)(...))QListWidgetItem::clone +40 (int (*)(...))QListWidgetItem::setBackgroundColor +48 (int (*)(...))QListWidgetItem::data +56 (int (*)(...))QListWidgetItem::setData +64 (int (*)(...))QListWidgetItem::operator< +72 (int (*)(...))QListWidgetItem::read +80 (int (*)(...))QListWidgetItem::write + +Class QListWidgetItem + size=48 align=8 + base size=44 base align=8 +QListWidgetItem (0x0x7f56adf4cd20) 0 + vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16) + +Class QListWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QListWidget::QPrivateSignal (0x0x7f56ac609a80) 0 empty + +Vtable for QListWidget +QListWidget::_ZTV11QListWidget: 110 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QListWidget) +16 (int (*)(...))QListWidget::metaObject +24 (int (*)(...))QListWidget::qt_metacast +32 (int (*)(...))QListWidget::qt_metacall +40 (int (*)(...))QListWidget::~QListWidget +48 (int (*)(...))QListWidget::~QListWidget +56 (int (*)(...))QListWidget::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QListView::scrollContentsBy +456 (int (*)(...))QListView::viewportSizeHint +464 (int (*)(...))QListWidget::setModel +472 (int (*)(...))QListWidget::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QListView::visualRect +496 (int (*)(...))QListView::scrollTo +504 (int (*)(...))QListView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QListView::reset +536 (int (*)(...))QListView::setRootIndex +544 (int (*)(...))QListView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QListView::dataChanged +568 (int (*)(...))QListView::rowsInserted +576 (int (*)(...))QListView::rowsAboutToBeRemoved +584 (int (*)(...))QListView::selectionChanged +592 (int (*)(...))QListView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QListView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QListView::moveCursor +688 (int (*)(...))QListView::horizontalOffset +696 (int (*)(...))QListView::verticalOffset +704 (int (*)(...))QListView::isIndexHidden +712 (int (*)(...))QListView::setSelection +720 (int (*)(...))QListView::visualRegionForSelection +728 (int (*)(...))QListView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QListView::startDrag +760 (int (*)(...))QListView::viewOptions +768 (int (*)(...))QListWidget::mimeTypes +776 (int (*)(...))QListWidget::mimeData +784 (int (*)(...))QListWidget::dropMimeData +792 (int (*)(...))QListWidget::supportedDropActions +800 (int (*)(...))-16 +808 (int (*)(...))(& _ZTI11QListWidget) +816 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD1Ev +824 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD0Ev +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QListWidget + size=48 align=8 + base size=48 base align=8 +QListWidget (0x0x7f56b06c6d00) 0 + vptr=((& QListWidget::_ZTV11QListWidget) + 16) + QListView (0x0x7f56b06c6d68) 0 + primary-for QListWidget (0x0x7f56b06c6d00) + QAbstractItemView (0x0x7f56b06c6dd0) 0 + primary-for QListView (0x0x7f56b06c6d68) + QAbstractScrollArea (0x0x7f56b06c6e38) 0 + primary-for QAbstractItemView (0x0x7f56b06c6dd0) + QFrame (0x0x7f56b06c6ea0) 0 + primary-for QAbstractScrollArea (0x0x7f56b06c6e38) + QWidget (0x0x7f56b2ecc7e0) 0 + primary-for QFrame (0x0x7f56b06c6ea0) + QObject (0x0x7f56ac6099c0) 0 + primary-for QWidget (0x0x7f56b2ecc7e0) + QPaintDevice (0x0x7f56ac609a20) 16 + vptr=((& QListWidget::_ZTV11QListWidget) + 816) + +Class QMainWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMainWindow::QPrivateSignal (0x0x7f56ac270000) 0 empty + +Vtable for QMainWindow +QMainWindow::_ZTV11QMainWindow: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QMainWindow) +16 (int (*)(...))QMainWindow::metaObject +24 (int (*)(...))QMainWindow::qt_metacast +32 (int (*)(...))QMainWindow::qt_metacall +40 (int (*)(...))QMainWindow::~QMainWindow +48 (int (*)(...))QMainWindow::~QMainWindow +56 (int (*)(...))QMainWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QMainWindow::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QMainWindow::createPopupMenu +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI11QMainWindow) +456 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD1Ev +464 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMainWindow + size=48 align=8 + base size=48 base align=8 +QMainWindow (0x0x7f56b06c6f08) 0 + vptr=((& QMainWindow::_ZTV11QMainWindow) + 16) + QWidget (0x0x7f56b2ecca80) 0 + primary-for QMainWindow (0x0x7f56b06c6f08) + QObject (0x0x7f56ac609f00) 0 + primary-for QWidget (0x0x7f56b2ecca80) + QPaintDevice (0x0x7f56ac609f60) 16 + vptr=((& QMainWindow::_ZTV11QMainWindow) + 456) + +Class QMdiArea::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMdiArea::QPrivateSignal (0x0x7f56ac270ae0) 0 empty + +Vtable for QMdiArea +QMdiArea::_ZTV8QMdiArea: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QMdiArea) +16 (int (*)(...))QMdiArea::metaObject +24 (int (*)(...))QMdiArea::qt_metacast +32 (int (*)(...))QMdiArea::qt_metacall +40 (int (*)(...))QMdiArea::~QMdiArea +48 (int (*)(...))QMdiArea::~QMdiArea +56 (int (*)(...))QMdiArea::event +64 (int (*)(...))QMdiArea::eventFilter +72 (int (*)(...))QMdiArea::timerEvent +80 (int (*)(...))QMdiArea::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QMdiArea::sizeHint +136 (int (*)(...))QMdiArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractScrollArea::mousePressEvent +176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent +184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent +192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractScrollArea::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QMdiArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QMdiArea::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractScrollArea::dragEnterEvent +320 (int (*)(...))QAbstractScrollArea::dragMoveEvent +328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent +336 (int (*)(...))QAbstractScrollArea::dropEvent +344 (int (*)(...))QMdiArea::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QMdiArea::setupViewport +440 (int (*)(...))QMdiArea::viewportEvent +448 (int (*)(...))QMdiArea::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI8QMdiArea) +480 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD1Ev +488 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMdiArea + size=48 align=8 + base size=48 base align=8 +QMdiArea (0x0x7f56ac28a068) 0 + vptr=((& QMdiArea::_ZTV8QMdiArea) + 16) + QAbstractScrollArea (0x0x7f56ac28a0d0) 0 + primary-for QMdiArea (0x0x7f56ac28a068) + QFrame (0x0x7f56ac28a138) 0 + primary-for QAbstractScrollArea (0x0x7f56ac28a0d0) + QWidget (0x0x7f56b2f880e0) 0 + primary-for QFrame (0x0x7f56ac28a138) + QObject (0x0x7f56ac270a20) 0 + primary-for QWidget (0x0x7f56b2f880e0) + QPaintDevice (0x0x7f56ac270a80) 16 + vptr=((& QMdiArea::_ZTV8QMdiArea) + 480) + +Class QMdiSubWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMdiSubWindow::QPrivateSignal (0x0x7f56ab8c2600) 0 empty + +Vtable for QMdiSubWindow +QMdiSubWindow::_ZTV13QMdiSubWindow: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QMdiSubWindow) +16 (int (*)(...))QMdiSubWindow::metaObject +24 (int (*)(...))QMdiSubWindow::qt_metacast +32 (int (*)(...))QMdiSubWindow::qt_metacall +40 (int (*)(...))QMdiSubWindow::~QMdiSubWindow +48 (int (*)(...))QMdiSubWindow::~QMdiSubWindow +56 (int (*)(...))QMdiSubWindow::event +64 (int (*)(...))QMdiSubWindow::eventFilter +72 (int (*)(...))QMdiSubWindow::timerEvent +80 (int (*)(...))QMdiSubWindow::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QMdiSubWindow::sizeHint +136 (int (*)(...))QMdiSubWindow::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QMdiSubWindow::mousePressEvent +176 (int (*)(...))QMdiSubWindow::mouseReleaseEvent +184 (int (*)(...))QMdiSubWindow::mouseDoubleClickEvent +192 (int (*)(...))QMdiSubWindow::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QMdiSubWindow::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QMdiSubWindow::focusInEvent +232 (int (*)(...))QMdiSubWindow::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QMdiSubWindow::leaveEvent +256 (int (*)(...))QMdiSubWindow::paintEvent +264 (int (*)(...))QMdiSubWindow::moveEvent +272 (int (*)(...))QMdiSubWindow::resizeEvent +280 (int (*)(...))QMdiSubWindow::closeEvent +288 (int (*)(...))QMdiSubWindow::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QMdiSubWindow::showEvent +352 (int (*)(...))QMdiSubWindow::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMdiSubWindow::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI13QMdiSubWindow) +448 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev +456 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMdiSubWindow + size=48 align=8 + base size=48 base align=8 +QMdiSubWindow (0x0x7f56ac28a270) 0 + vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16) + QWidget (0x0x7f56b2f88cb0) 0 + primary-for QMdiSubWindow (0x0x7f56ac28a270) + QObject (0x0x7f56ab8c2540) 0 + primary-for QWidget (0x0x7f56b2f88cb0) + QPaintDevice (0x0x7f56ab8c25a0) 16 + vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 448) + +Class QMenu::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMenu::QPrivateSignal (0x0x7f56aab6c000) 0 empty + +Vtable for QMenu +QMenu::_ZTV5QMenu: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QMenu) +16 (int (*)(...))QMenu::metaObject +24 (int (*)(...))QMenu::qt_metacast +32 (int (*)(...))QMenu::qt_metacall +40 (int (*)(...))QMenu::~QMenu +48 (int (*)(...))QMenu::~QMenu +56 (int (*)(...))QMenu::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QMenu::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QMenu::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QMenu::mousePressEvent +176 (int (*)(...))QMenu::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QMenu::mouseMoveEvent +200 (int (*)(...))QMenu::wheelEvent +208 (int (*)(...))QMenu::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QMenu::enterEvent +248 (int (*)(...))QMenu::leaveEvent +256 (int (*)(...))QMenu::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QMenu::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QMenu::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMenu::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QMenu::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI5QMenu) +448 (int (*)(...))QMenu::_ZThn16_N5QMenuD1Ev +456 (int (*)(...))QMenu::_ZThn16_N5QMenuD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMenu + size=48 align=8 + base size=48 base align=8 +QMenu (0x0x7f56ac28a3a8) 0 + vptr=((& QMenu::_ZTV5QMenu) + 16) + QWidget (0x0x7f56b2c73700) 0 + primary-for QMenu (0x0x7f56ac28a3a8) + QObject (0x0x7f56ab8c2f00) 0 + primary-for QWidget (0x0x7f56b2c73700) + QPaintDevice (0x0x7f56ab8c2f60) 16 + vptr=((& QMenu::_ZTV5QMenu) + 448) + +Class QMenuBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMenuBar::QPrivateSignal (0x0x7f56aab6c420) 0 empty + +Vtable for QMenuBar +QMenuBar::_ZTV8QMenuBar: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QMenuBar) +16 (int (*)(...))QMenuBar::metaObject +24 (int (*)(...))QMenuBar::qt_metacast +32 (int (*)(...))QMenuBar::qt_metacall +40 (int (*)(...))QMenuBar::~QMenuBar +48 (int (*)(...))QMenuBar::~QMenuBar +56 (int (*)(...))QMenuBar::event +64 (int (*)(...))QMenuBar::eventFilter +72 (int (*)(...))QMenuBar::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QMenuBar::setVisible +128 (int (*)(...))QMenuBar::sizeHint +136 (int (*)(...))QMenuBar::minimumSizeHint +144 (int (*)(...))QMenuBar::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QMenuBar::mousePressEvent +176 (int (*)(...))QMenuBar::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QMenuBar::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QMenuBar::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QMenuBar::focusInEvent +232 (int (*)(...))QMenuBar::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QMenuBar::leaveEvent +256 (int (*)(...))QMenuBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QMenuBar::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QMenuBar::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMenuBar::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI8QMenuBar) +448 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD1Ev +456 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMenuBar + size=48 align=8 + base size=48 base align=8 +QMenuBar (0x0x7f56ac28a410) 0 + vptr=((& QMenuBar::_ZTV8QMenuBar) + 16) + QWidget (0x0x7f56b2c73770) 0 + primary-for QMenuBar (0x0x7f56ac28a410) + QObject (0x0x7f56aab6c360) 0 + primary-for QWidget (0x0x7f56b2c73770) + QPaintDevice (0x0x7f56aab6c3c0) 16 + vptr=((& QMenuBar::_ZTV8QMenuBar) + 448) + +Class QMessageBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMessageBox::QPrivateSignal (0x0x7f56aab6c780) 0 empty + +Vtable for QMessageBox +QMessageBox::_ZTV11QMessageBox: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QMessageBox) +16 (int (*)(...))QMessageBox::metaObject +24 (int (*)(...))QMessageBox::qt_metacast +32 (int (*)(...))QMessageBox::qt_metacall +40 (int (*)(...))QMessageBox::~QMessageBox +48 (int (*)(...))QMessageBox::~QMessageBox +56 (int (*)(...))QMessageBox::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QMessageBox::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QMessageBox::resizeEvent +280 (int (*)(...))QMessageBox::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QMessageBox::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMessageBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QMessageBox) +488 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD1Ev +496 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMessageBox + size=48 align=8 + base size=48 base align=8 +QMessageBox (0x0x7f56ac28a478) 0 + vptr=((& QMessageBox::_ZTV11QMessageBox) + 16) + QDialog (0x0x7f56ac28a4e0) 0 + primary-for QMessageBox (0x0x7f56ac28a478) + QWidget (0x0x7f56b2c73930) 0 + primary-for QDialog (0x0x7f56ac28a4e0) + QObject (0x0x7f56aab6c6c0) 0 + primary-for QWidget (0x0x7f56b2c73930) + QPaintDevice (0x0x7f56aab6c720) 16 + vptr=((& QMessageBox::_ZTV11QMessageBox) + 488) + +Class QMouseEventTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMouseEventTransition::QPrivateSignal (0x0x7f56aaba93c0) 0 empty + +Vtable for QMouseEventTransition +QMouseEventTransition::_ZTV21QMouseEventTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QMouseEventTransition) +16 (int (*)(...))QMouseEventTransition::metaObject +24 (int (*)(...))QMouseEventTransition::qt_metacast +32 (int (*)(...))QMouseEventTransition::qt_metacall +40 (int (*)(...))QMouseEventTransition::~QMouseEventTransition +48 (int (*)(...))QMouseEventTransition::~QMouseEventTransition +56 (int (*)(...))QEventTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QMouseEventTransition::eventTest +120 (int (*)(...))QMouseEventTransition::onTransition + +Class QMouseEventTransition + size=16 align=8 + base size=16 base align=8 +QMouseEventTransition (0x0x7f56ac28a618) 0 + vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16) + QEventTransition (0x0x7f56ac28a680) 0 + primary-for QMouseEventTransition (0x0x7f56ac28a618) + QAbstractTransition (0x0x7f56ac28a6e8) 0 + primary-for QEventTransition (0x0x7f56ac28a680) + QObject (0x0x7f56aaba9360) 0 + primary-for QAbstractTransition (0x0x7f56ac28a6e8) + +Class QOpenGLWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLWidget::QPrivateSignal (0x0x7f56aaba9660) 0 empty + +Vtable for QOpenGLWidget +QOpenGLWidget::_ZTV13QOpenGLWidget: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QOpenGLWidget) +16 (int (*)(...))QOpenGLWidget::metaObject +24 (int (*)(...))QOpenGLWidget::qt_metacast +32 (int (*)(...))QOpenGLWidget::qt_metacall +40 (int (*)(...))QOpenGLWidget::~QOpenGLWidget +48 (int (*)(...))QOpenGLWidget::~QOpenGLWidget +56 (int (*)(...))QOpenGLWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QOpenGLWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QOpenGLWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QOpenGLWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QOpenGLWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QOpenGLWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QOpenGLWidget::initializeGL +440 (int (*)(...))QOpenGLWidget::resizeGL +448 (int (*)(...))QOpenGLWidget::paintGL +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI13QOpenGLWidget) +472 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD1Ev +480 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget11paintEngineEv +504 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QOpenGLWidget + size=48 align=8 + base size=48 base align=8 +QOpenGLWidget (0x0x7f56ac28a750) 0 + vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 16) + QWidget (0x0x7f56b2db02a0) 0 + primary-for QOpenGLWidget (0x0x7f56ac28a750) + QObject (0x0x7f56aaba95a0) 0 + primary-for QWidget (0x0x7f56b2db02a0) + QPaintDevice (0x0x7f56aaba9600) 16 + vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 472) + +Class QTextEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextEdit::QPrivateSignal (0x0x7f56aaba9900) 0 empty + +Class QTextEdit::ExtraSelection + size=24 align=8 + base size=24 base align=8 +QTextEdit::ExtraSelection (0x0x7f56aaba9960) 0 + +Vtable for QTextEdit +QTextEdit::_ZTV9QTextEdit: 73 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTextEdit) +16 (int (*)(...))QTextEdit::metaObject +24 (int (*)(...))QTextEdit::qt_metacast +32 (int (*)(...))QTextEdit::qt_metacall +40 (int (*)(...))QTextEdit::~QTextEdit +48 (int (*)(...))QTextEdit::~QTextEdit +56 (int (*)(...))QTextEdit::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QTextEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTextEdit::mousePressEvent +176 (int (*)(...))QTextEdit::mouseReleaseEvent +184 (int (*)(...))QTextEdit::mouseDoubleClickEvent +192 (int (*)(...))QTextEdit::mouseMoveEvent +200 (int (*)(...))QTextEdit::wheelEvent +208 (int (*)(...))QTextEdit::keyPressEvent +216 (int (*)(...))QTextEdit::keyReleaseEvent +224 (int (*)(...))QTextEdit::focusInEvent +232 (int (*)(...))QTextEdit::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTextEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTextEdit::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QTextEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QTextEdit::dragEnterEvent +320 (int (*)(...))QTextEdit::dragMoveEvent +328 (int (*)(...))QTextEdit::dragLeaveEvent +336 (int (*)(...))QTextEdit::dropEvent +344 (int (*)(...))QTextEdit::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTextEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QTextEdit::inputMethodEvent +416 (int (*)(...))QTextEdit::inputMethodQuery +424 (int (*)(...))QTextEdit::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QTextEdit::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))QTextEdit::loadResource +472 (int (*)(...))QTextEdit::createMimeDataFromSelection +480 (int (*)(...))QTextEdit::canInsertFromMimeData +488 (int (*)(...))QTextEdit::insertFromMimeData +496 (int (*)(...))QTextEdit::doSetTextCursor +504 (int (*)(...))-16 +512 (int (*)(...))(& _ZTI9QTextEdit) +520 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD1Ev +528 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD0Ev +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTextEdit + size=48 align=8 + base size=48 base align=8 +QTextEdit (0x0x7f56ac28a820) 0 + vptr=((& QTextEdit::_ZTV9QTextEdit) + 16) + QAbstractScrollArea (0x0x7f56ac28a888) 0 + primary-for QTextEdit (0x0x7f56ac28a820) + QFrame (0x0x7f56ac28a8f0) 0 + primary-for QAbstractScrollArea (0x0x7f56ac28a888) + QWidget (0x0x7f56b29ec150) 0 + primary-for QFrame (0x0x7f56ac28a8f0) + QObject (0x0x7f56aaba9840) 0 + primary-for QWidget (0x0x7f56b29ec150) + QPaintDevice (0x0x7f56aaba98a0) 16 + vptr=((& QTextEdit::_ZTV9QTextEdit) + 520) + +Class QPlainTextEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPlainTextEdit::QPrivateSignal (0x0x7f56aabde600) 0 empty + +Vtable for QPlainTextEdit +QPlainTextEdit::_ZTV14QPlainTextEdit: 73 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QPlainTextEdit) +16 (int (*)(...))QPlainTextEdit::metaObject +24 (int (*)(...))QPlainTextEdit::qt_metacast +32 (int (*)(...))QPlainTextEdit::qt_metacall +40 (int (*)(...))QPlainTextEdit::~QPlainTextEdit +48 (int (*)(...))QPlainTextEdit::~QPlainTextEdit +56 (int (*)(...))QPlainTextEdit::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QPlainTextEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QPlainTextEdit::mousePressEvent +176 (int (*)(...))QPlainTextEdit::mouseReleaseEvent +184 (int (*)(...))QPlainTextEdit::mouseDoubleClickEvent +192 (int (*)(...))QPlainTextEdit::mouseMoveEvent +200 (int (*)(...))QPlainTextEdit::wheelEvent +208 (int (*)(...))QPlainTextEdit::keyPressEvent +216 (int (*)(...))QPlainTextEdit::keyReleaseEvent +224 (int (*)(...))QPlainTextEdit::focusInEvent +232 (int (*)(...))QPlainTextEdit::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QPlainTextEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QPlainTextEdit::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QPlainTextEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QPlainTextEdit::dragEnterEvent +320 (int (*)(...))QPlainTextEdit::dragMoveEvent +328 (int (*)(...))QPlainTextEdit::dragLeaveEvent +336 (int (*)(...))QPlainTextEdit::dropEvent +344 (int (*)(...))QPlainTextEdit::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QPlainTextEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QPlainTextEdit::inputMethodEvent +416 (int (*)(...))QPlainTextEdit::inputMethodQuery +424 (int (*)(...))QPlainTextEdit::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QPlainTextEdit::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))QPlainTextEdit::loadResource +472 (int (*)(...))QPlainTextEdit::createMimeDataFromSelection +480 (int (*)(...))QPlainTextEdit::canInsertFromMimeData +488 (int (*)(...))QPlainTextEdit::insertFromMimeData +496 (int (*)(...))QPlainTextEdit::doSetTextCursor +504 (int (*)(...))-16 +512 (int (*)(...))(& _ZTI14QPlainTextEdit) +520 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev +528 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QPlainTextEdit + size=48 align=8 + base size=48 base align=8 +QPlainTextEdit (0x0x7f56ac28aa28) 0 + vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16) + QAbstractScrollArea (0x0x7f56ac28aa90) 0 + primary-for QPlainTextEdit (0x0x7f56ac28aa28) + QFrame (0x0x7f56ac28aaf8) 0 + primary-for QAbstractScrollArea (0x0x7f56ac28aa90) + QWidget (0x0x7f56b2a2f4d0) 0 + primary-for QFrame (0x0x7f56ac28aaf8) + QObject (0x0x7f56aabde540) 0 + primary-for QWidget (0x0x7f56b2a2f4d0) + QPaintDevice (0x0x7f56aabde5a0) 16 + vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 520) + +Class QPlainTextDocumentLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPlainTextDocumentLayout::QPrivateSignal (0x0x7f56aabdeba0) 0 empty + +Vtable for QPlainTextDocumentLayout +QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout) +16 (int (*)(...))QPlainTextDocumentLayout::metaObject +24 (int (*)(...))QPlainTextDocumentLayout::qt_metacast +32 (int (*)(...))QPlainTextDocumentLayout::qt_metacall +40 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout +48 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPlainTextDocumentLayout::draw +120 (int (*)(...))QPlainTextDocumentLayout::hitTest +128 (int (*)(...))QPlainTextDocumentLayout::pageCount +136 (int (*)(...))QPlainTextDocumentLayout::documentSize +144 (int (*)(...))QPlainTextDocumentLayout::frameBoundingRect +152 (int (*)(...))QPlainTextDocumentLayout::blockBoundingRect +160 (int (*)(...))QPlainTextDocumentLayout::documentChanged +168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject +176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject +184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject + +Class QPlainTextDocumentLayout + size=16 align=8 + base size=16 base align=8 +QPlainTextDocumentLayout (0x0x7f56ac28ab60) 0 + vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16) + QAbstractTextDocumentLayout (0x0x7f56ac28abc8) 0 + primary-for QPlainTextDocumentLayout (0x0x7f56ac28ab60) + QObject (0x0x7f56aabdeb40) 0 + primary-for QAbstractTextDocumentLayout (0x0x7f56ac28abc8) + +Class QProgressBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProgressBar::QPrivateSignal (0x0x7f56aabdee40) 0 empty + +Vtable for QProgressBar +QProgressBar::_ZTV12QProgressBar: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QProgressBar) +16 (int (*)(...))QProgressBar::metaObject +24 (int (*)(...))QProgressBar::qt_metacast +32 (int (*)(...))QProgressBar::qt_metacall +40 (int (*)(...))QProgressBar::~QProgressBar +48 (int (*)(...))QProgressBar::~QProgressBar +56 (int (*)(...))QProgressBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QProgressBar::sizeHint +136 (int (*)(...))QProgressBar::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QProgressBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QProgressBar::text +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI12QProgressBar) +456 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD1Ev +464 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QProgressBar + size=48 align=8 + base size=48 base align=8 +QProgressBar (0x0x7f56ac28ac30) 0 + vptr=((& QProgressBar::_ZTV12QProgressBar) + 16) + QWidget (0x0x7f56b2a2f7e0) 0 + primary-for QProgressBar (0x0x7f56ac28ac30) + QObject (0x0x7f56aabded80) 0 + primary-for QWidget (0x0x7f56b2a2f7e0) + QPaintDevice (0x0x7f56aabdede0) 16 + vptr=((& QProgressBar::_ZTV12QProgressBar) + 456) + +Class QProgressDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProgressDialog::QPrivateSignal (0x0x7f56aac091e0) 0 empty + +Vtable for QProgressDialog +QProgressDialog::_ZTV15QProgressDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QProgressDialog) +16 (int (*)(...))QProgressDialog::metaObject +24 (int (*)(...))QProgressDialog::qt_metacast +32 (int (*)(...))QProgressDialog::qt_metacall +40 (int (*)(...))QProgressDialog::~QProgressDialog +48 (int (*)(...))QProgressDialog::~QProgressDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QProgressDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QProgressDialog::resizeEvent +280 (int (*)(...))QProgressDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QProgressDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QProgressDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI15QProgressDialog) +488 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD1Ev +496 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QProgressDialog + size=48 align=8 + base size=48 base align=8 +QProgressDialog (0x0x7f56ac28ac98) 0 + vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16) + QDialog (0x0x7f56ac28ad00) 0 + primary-for QProgressDialog (0x0x7f56ac28ac98) + QWidget (0x0x7f56b2a2fa10) 0 + primary-for QDialog (0x0x7f56ac28ad00) + QObject (0x0x7f56aac09120) 0 + primary-for QWidget (0x0x7f56b2a2fa10) + QPaintDevice (0x0x7f56aac09180) 16 + vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488) + +Class QProxyStyle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProxyStyle::QPrivateSignal (0x0x7f56aac09420) 0 empty + +Vtable for QProxyStyle +QProxyStyle::_ZTV11QProxyStyle: 37 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QProxyStyle) +16 (int (*)(...))QProxyStyle::metaObject +24 (int (*)(...))QProxyStyle::qt_metacast +32 (int (*)(...))QProxyStyle::qt_metacall +40 (int (*)(...))QProxyStyle::~QProxyStyle +48 (int (*)(...))QProxyStyle::~QProxyStyle +56 (int (*)(...))QProxyStyle::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QProxyStyle::polish +120 (int (*)(...))QProxyStyle::unpolish +128 (int (*)(...))QProxyStyle::polish +136 (int (*)(...))QProxyStyle::unpolish +144 (int (*)(...))QProxyStyle::polish +152 (int (*)(...))QProxyStyle::itemTextRect +160 (int (*)(...))QProxyStyle::itemPixmapRect +168 (int (*)(...))QProxyStyle::drawItemText +176 (int (*)(...))QProxyStyle::drawItemPixmap +184 (int (*)(...))QProxyStyle::standardPalette +192 (int (*)(...))QProxyStyle::drawPrimitive +200 (int (*)(...))QProxyStyle::drawControl +208 (int (*)(...))QProxyStyle::subElementRect +216 (int (*)(...))QProxyStyle::drawComplexControl +224 (int (*)(...))QProxyStyle::hitTestComplexControl +232 (int (*)(...))QProxyStyle::subControlRect +240 (int (*)(...))QProxyStyle::pixelMetric +248 (int (*)(...))QProxyStyle::sizeFromContents +256 (int (*)(...))QProxyStyle::styleHint +264 (int (*)(...))QProxyStyle::standardPixmap +272 (int (*)(...))QProxyStyle::standardIcon +280 (int (*)(...))QProxyStyle::generatedIconPixmap +288 (int (*)(...))QProxyStyle::layoutSpacing + +Class QProxyStyle + size=16 align=8 + base size=16 base align=8 +QProxyStyle (0x0x7f56ac28ad68) 0 + vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16) + QCommonStyle (0x0x7f56ac28add0) 0 + primary-for QProxyStyle (0x0x7f56ac28ad68) + QStyle (0x0x7f56ac28ae38) 0 + primary-for QCommonStyle (0x0x7f56ac28add0) + QObject (0x0x7f56aac093c0) 0 + primary-for QStyle (0x0x7f56ac28ae38) + +Class QRadioButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRadioButton::QPrivateSignal (0x0x7f56aac096c0) 0 empty + +Vtable for QRadioButton +QRadioButton::_ZTV12QRadioButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QRadioButton) +16 (int (*)(...))QRadioButton::metaObject +24 (int (*)(...))QRadioButton::qt_metacast +32 (int (*)(...))QRadioButton::qt_metacall +40 (int (*)(...))QRadioButton::~QRadioButton +48 (int (*)(...))QRadioButton::~QRadioButton +56 (int (*)(...))QRadioButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QRadioButton::sizeHint +136 (int (*)(...))QRadioButton::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QRadioButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QRadioButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QRadioButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI12QRadioButton) +472 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD1Ev +480 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QRadioButton + size=48 align=8 + base size=48 base align=8 +QRadioButton (0x0x7f56ac28aea0) 0 + vptr=((& QRadioButton::_ZTV12QRadioButton) + 16) + QAbstractButton (0x0x7f56ac28af08) 0 + primary-for QRadioButton (0x0x7f56ac28aea0) + QWidget (0x0x7f56b2a2fd20) 0 + primary-for QAbstractButton (0x0x7f56ac28af08) + QObject (0x0x7f56aac09600) 0 + primary-for QWidget (0x0x7f56b2a2fd20) + QPaintDevice (0x0x7f56aac09660) 16 + vptr=((& QRadioButton::_ZTV12QRadioButton) + 472) + +Class QScrollBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScrollBar::QPrivateSignal (0x0x7f56aac09960) 0 empty + +Vtable for QScrollBar +QScrollBar::_ZTV10QScrollBar: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QScrollBar) +16 (int (*)(...))QScrollBar::metaObject +24 (int (*)(...))QScrollBar::qt_metacast +32 (int (*)(...))QScrollBar::qt_metacall +40 (int (*)(...))QScrollBar::~QScrollBar +48 (int (*)(...))QScrollBar::~QScrollBar +56 (int (*)(...))QScrollBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QScrollBar::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QScrollBar::mousePressEvent +176 (int (*)(...))QScrollBar::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QScrollBar::mouseMoveEvent +200 (int (*)(...))QScrollBar::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QScrollBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QScrollBar::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QScrollBar::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QScrollBar::sliderChange +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI10QScrollBar) +456 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD1Ev +464 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QScrollBar + size=48 align=8 + base size=48 base align=8 +QScrollBar (0x0x7f56ac28af70) 0 + vptr=((& QScrollBar::_ZTV10QScrollBar) + 16) + QAbstractSlider (0x0x7f56aac25000) 0 + primary-for QScrollBar (0x0x7f56ac28af70) + QWidget (0x0x7f56b2a2fe70) 0 + primary-for QAbstractSlider (0x0x7f56aac25000) + QObject (0x0x7f56aac098a0) 0 + primary-for QWidget (0x0x7f56b2a2fe70) + QPaintDevice (0x0x7f56aac09900) 16 + vptr=((& QScrollBar::_ZTV10QScrollBar) + 456) + +Vtable for QScrollerProperties +QScrollerProperties::_ZTV19QScrollerProperties: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QScrollerProperties) +16 (int (*)(...))QScrollerProperties::~QScrollerProperties +24 (int (*)(...))QScrollerProperties::~QScrollerProperties + +Class QScrollerProperties + size=16 align=8 + base size=16 base align=8 +QScrollerProperties (0x0x7f56aac09b40) 0 + vptr=((& QScrollerProperties::_ZTV19QScrollerProperties) + 16) + +Class QScroller::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScroller::QPrivateSignal (0x0x7f56aac37060) 0 empty + +Vtable for QScroller +QScroller::_ZTV9QScroller: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QScroller) +16 (int (*)(...))QScroller::metaObject +24 (int (*)(...))QScroller::qt_metacast +32 (int (*)(...))QScroller::qt_metacall +40 (int (*)(...))QScroller::~QScroller +48 (int (*)(...))QScroller::~QScroller +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QScroller + size=24 align=8 + base size=24 base align=8 +QScroller (0x0x7f56aac25068) 0 + vptr=((& QScroller::_ZTV9QScroller) + 16) + QObject (0x0x7f56aac37000) 0 + primary-for QScroller (0x0x7f56aac25068) + +Class QShortcut::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QShortcut::QPrivateSignal (0x0x7f56aac37360) 0 empty + +Vtable for QShortcut +QShortcut::_ZTV9QShortcut: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QShortcut) +16 (int (*)(...))QShortcut::metaObject +24 (int (*)(...))QShortcut::qt_metacast +32 (int (*)(...))QShortcut::qt_metacall +40 (int (*)(...))QShortcut::~QShortcut +48 (int (*)(...))QShortcut::~QShortcut +56 (int (*)(...))QShortcut::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QShortcut + size=16 align=8 + base size=16 base align=8 +QShortcut (0x0x7f56aac250d0) 0 + vptr=((& QShortcut::_ZTV9QShortcut) + 16) + QObject (0x0x7f56aac37300) 0 + primary-for QShortcut (0x0x7f56aac250d0) + +Class QSizeGrip::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSizeGrip::QPrivateSignal (0x0x7f56aac37660) 0 empty + +Vtable for QSizeGrip +QSizeGrip::_ZTV9QSizeGrip: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSizeGrip) +16 (int (*)(...))QSizeGrip::metaObject +24 (int (*)(...))QSizeGrip::qt_metacast +32 (int (*)(...))QSizeGrip::qt_metacall +40 (int (*)(...))QSizeGrip::~QSizeGrip +48 (int (*)(...))QSizeGrip::~QSizeGrip +56 (int (*)(...))QSizeGrip::event +64 (int (*)(...))QSizeGrip::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QSizeGrip::setVisible +128 (int (*)(...))QSizeGrip::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSizeGrip::mousePressEvent +176 (int (*)(...))QSizeGrip::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QSizeGrip::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QSizeGrip::paintEvent +264 (int (*)(...))QSizeGrip::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QSizeGrip::showEvent +352 (int (*)(...))QSizeGrip::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI9QSizeGrip) +448 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD1Ev +456 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSizeGrip + size=48 align=8 + base size=48 base align=8 +QSizeGrip (0x0x7f56aac25138) 0 + vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16) + QWidget (0x0x7f56b28b7310) 0 + primary-for QSizeGrip (0x0x7f56aac25138) + QObject (0x0x7f56aac375a0) 0 + primary-for QWidget (0x0x7f56b28b7310) + QPaintDevice (0x0x7f56aac37600) 16 + vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 448) + +Class QSpinBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSpinBox::QPrivateSignal (0x0x7f56aac37900) 0 empty + +Vtable for QSpinBox +QSpinBox::_ZTV8QSpinBox: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QSpinBox) +16 (int (*)(...))QSpinBox::metaObject +24 (int (*)(...))QSpinBox::qt_metacast +32 (int (*)(...))QSpinBox::qt_metacall +40 (int (*)(...))QSpinBox::~QSpinBox +48 (int (*)(...))QSpinBox::~QSpinBox +56 (int (*)(...))QSpinBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractSpinBox::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractSpinBox::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QAbstractSpinBox::wheelEvent +208 (int (*)(...))QAbstractSpinBox::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QAbstractSpinBox::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractSpinBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QSpinBox::validate +440 (int (*)(...))QSpinBox::fixup +448 (int (*)(...))QAbstractSpinBox::stepBy +456 (int (*)(...))QAbstractSpinBox::clear +464 (int (*)(...))QAbstractSpinBox::stepEnabled +472 (int (*)(...))QSpinBox::valueFromText +480 (int (*)(...))QSpinBox::textFromValue +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI8QSpinBox) +504 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD1Ev +512 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSpinBox + size=48 align=8 + base size=48 base align=8 +QSpinBox (0x0x7f56aac251a0) 0 + vptr=((& QSpinBox::_ZTV8QSpinBox) + 16) + QAbstractSpinBox (0x0x7f56aac25208) 0 + primary-for QSpinBox (0x0x7f56aac251a0) + QWidget (0x0x7f56b28b7460) 0 + primary-for QAbstractSpinBox (0x0x7f56aac25208) + QObject (0x0x7f56aac37840) 0 + primary-for QWidget (0x0x7f56b28b7460) + QPaintDevice (0x0x7f56aac378a0) 16 + vptr=((& QSpinBox::_ZTV8QSpinBox) + 504) + +Class QDoubleSpinBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDoubleSpinBox::QPrivateSignal (0x0x7f56aac37ba0) 0 empty + +Vtable for QDoubleSpinBox +QDoubleSpinBox::_ZTV14QDoubleSpinBox: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QDoubleSpinBox) +16 (int (*)(...))QDoubleSpinBox::metaObject +24 (int (*)(...))QDoubleSpinBox::qt_metacast +32 (int (*)(...))QDoubleSpinBox::qt_metacall +40 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox +48 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox +56 (int (*)(...))QAbstractSpinBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractSpinBox::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractSpinBox::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QAbstractSpinBox::wheelEvent +208 (int (*)(...))QAbstractSpinBox::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QAbstractSpinBox::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractSpinBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDoubleSpinBox::validate +440 (int (*)(...))QDoubleSpinBox::fixup +448 (int (*)(...))QAbstractSpinBox::stepBy +456 (int (*)(...))QAbstractSpinBox::clear +464 (int (*)(...))QAbstractSpinBox::stepEnabled +472 (int (*)(...))QDoubleSpinBox::valueFromText +480 (int (*)(...))QDoubleSpinBox::textFromValue +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI14QDoubleSpinBox) +504 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev +512 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDoubleSpinBox + size=48 align=8 + base size=48 base align=8 +QDoubleSpinBox (0x0x7f56aac25270) 0 + vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16) + QAbstractSpinBox (0x0x7f56aac252d8) 0 + primary-for QDoubleSpinBox (0x0x7f56aac25270) + QWidget (0x0x7f56b28b7620) 0 + primary-for QAbstractSpinBox (0x0x7f56aac252d8) + QObject (0x0x7f56aac37ae0) 0 + primary-for QWidget (0x0x7f56b28b7620) + QPaintDevice (0x0x7f56aac37b40) 16 + vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 504) + +Class QSplashScreen::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSplashScreen::QPrivateSignal (0x0x7f56aac37e40) 0 empty + +Vtable for QSplashScreen +QSplashScreen::_ZTV13QSplashScreen: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSplashScreen) +16 (int (*)(...))QSplashScreen::metaObject +24 (int (*)(...))QSplashScreen::qt_metacast +32 (int (*)(...))QSplashScreen::qt_metacall +40 (int (*)(...))QSplashScreen::~QSplashScreen +48 (int (*)(...))QSplashScreen::~QSplashScreen +56 (int (*)(...))QSplashScreen::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSplashScreen::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QSplashScreen::drawContents +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI13QSplashScreen) +456 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD1Ev +464 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSplashScreen + size=48 align=8 + base size=48 base align=8 +QSplashScreen (0x0x7f56aac25340) 0 + vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16) + QWidget (0x0x7f56b28b7850) 0 + primary-for QSplashScreen (0x0x7f56aac25340) + QObject (0x0x7f56aac37d80) 0 + primary-for QWidget (0x0x7f56b28b7850) + QPaintDevice (0x0x7f56aac37de0) 16 + vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 456) + +Class QSplitter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSplitter::QPrivateSignal (0x0x7f56aac68120) 0 empty + +Vtable for QSplitter +QSplitter::_ZTV9QSplitter: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSplitter) +16 (int (*)(...))QSplitter::metaObject +24 (int (*)(...))QSplitter::qt_metacast +32 (int (*)(...))QSplitter::qt_metacall +40 (int (*)(...))QSplitter::~QSplitter +48 (int (*)(...))QSplitter::~QSplitter +56 (int (*)(...))QSplitter::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QSplitter::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QSplitter::sizeHint +136 (int (*)(...))QSplitter::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QSplitter::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QSplitter::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QSplitter::createHandle +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI9QSplitter) +456 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD1Ev +464 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSplitter + size=48 align=8 + base size=48 base align=8 +QSplitter (0x0x7f56aac253a8) 0 + vptr=((& QSplitter::_ZTV9QSplitter) + 16) + QFrame (0x0x7f56aac25410) 0 + primary-for QSplitter (0x0x7f56aac253a8) + QWidget (0x0x7f56b28b7a80) 0 + primary-for QFrame (0x0x7f56aac25410) + QObject (0x0x7f56aac68060) 0 + primary-for QWidget (0x0x7f56b28b7a80) + QPaintDevice (0x0x7f56aac680c0) 16 + vptr=((& QSplitter::_ZTV9QSplitter) + 456) + +Class QSplitterHandle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSplitterHandle::QPrivateSignal (0x0x7f56aac683c0) 0 empty + +Vtable for QSplitterHandle +QSplitterHandle::_ZTV15QSplitterHandle: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSplitterHandle) +16 (int (*)(...))QSplitterHandle::metaObject +24 (int (*)(...))QSplitterHandle::qt_metacast +32 (int (*)(...))QSplitterHandle::qt_metacall +40 (int (*)(...))QSplitterHandle::~QSplitterHandle +48 (int (*)(...))QSplitterHandle::~QSplitterHandle +56 (int (*)(...))QSplitterHandle::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QSplitterHandle::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSplitterHandle::mousePressEvent +176 (int (*)(...))QSplitterHandle::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QSplitterHandle::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QSplitterHandle::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QSplitterHandle::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI15QSplitterHandle) +448 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev +456 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSplitterHandle + size=48 align=8 + base size=48 base align=8 +QSplitterHandle (0x0x7f56aac25478) 0 + vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16) + QWidget (0x0x7f56b28b7bd0) 0 + primary-for QSplitterHandle (0x0x7f56aac25478) + QObject (0x0x7f56aac68300) 0 + primary-for QWidget (0x0x7f56b28b7bd0) + QPaintDevice (0x0x7f56aac68360) 16 + vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 448) + +Class QStackedLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStackedLayout::QPrivateSignal (0x0x7f56aac68660) 0 empty + +Vtable for QStackedLayout +QStackedLayout::_ZTV14QStackedLayout: 50 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QStackedLayout) +16 (int (*)(...))QStackedLayout::metaObject +24 (int (*)(...))QStackedLayout::qt_metacast +32 (int (*)(...))QStackedLayout::qt_metacall +40 (int (*)(...))QStackedLayout::~QStackedLayout +48 (int (*)(...))QStackedLayout::~QStackedLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QStackedLayout::addItem +136 (int (*)(...))QLayout::expandingDirections +144 (int (*)(...))QStackedLayout::minimumSize +152 (int (*)(...))QLayout::maximumSize +160 (int (*)(...))QStackedLayout::setGeometry +168 (int (*)(...))QStackedLayout::itemAt +176 (int (*)(...))QStackedLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QStackedLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QStackedLayout::sizeHint +232 (int (*)(...))QStackedLayout::hasHeightForWidth +240 (int (*)(...))QStackedLayout::heightForWidth +248 (int (*)(...))-16 +256 (int (*)(...))(& _ZTI14QStackedLayout) +264 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev +272 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev +280 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv +288 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv +296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv +304 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv +312 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect +320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +336 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout17hasHeightForWidthEv +344 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout14heightForWidthEi +352 (int (*)(...))QLayoutItem::minimumHeightForWidth +360 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv +368 (int (*)(...))QLayoutItem::widget +376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +384 (int (*)(...))QLayoutItem::spacerItem +392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QStackedLayout + size=32 align=8 + base size=28 base align=8 +QStackedLayout (0x0x7f56aac254e0) 0 + vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16) + QLayout (0x0x7f56b28b7d20) 0 + primary-for QStackedLayout (0x0x7f56aac254e0) + QObject (0x0x7f56aac685a0) 0 + primary-for QLayout (0x0x7f56b28b7d20) + QLayoutItem (0x0x7f56aac68600) 16 + vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 264) + +Class QStackedWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStackedWidget::QPrivateSignal (0x0x7f56aac689c0) 0 empty + +Vtable for QStackedWidget +QStackedWidget::_ZTV14QStackedWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QStackedWidget) +16 (int (*)(...))QStackedWidget::metaObject +24 (int (*)(...))QStackedWidget::qt_metacast +32 (int (*)(...))QStackedWidget::qt_metacall +40 (int (*)(...))QStackedWidget::~QStackedWidget +48 (int (*)(...))QStackedWidget::~QStackedWidget +56 (int (*)(...))QStackedWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFrame::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI14QStackedWidget) +448 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev +456 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QStackedWidget + size=48 align=8 + base size=48 base align=8 +QStackedWidget (0x0x7f56aac25548) 0 + vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16) + QFrame (0x0x7f56aac255b0) 0 + primary-for QStackedWidget (0x0x7f56aac25548) + QWidget (0x0x7f56b28b7f50) 0 + primary-for QFrame (0x0x7f56aac255b0) + QObject (0x0x7f56aac68900) 0 + primary-for QWidget (0x0x7f56b28b7f50) + QPaintDevice (0x0x7f56aac68960) 16 + vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 448) + +Class QStatusBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStatusBar::QPrivateSignal (0x0x7f56aac68c60) 0 empty + +Vtable for QStatusBar +QStatusBar::_ZTV10QStatusBar: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QStatusBar) +16 (int (*)(...))QStatusBar::metaObject +24 (int (*)(...))QStatusBar::qt_metacast +32 (int (*)(...))QStatusBar::qt_metacall +40 (int (*)(...))QStatusBar::~QStatusBar +48 (int (*)(...))QStatusBar::~QStatusBar +56 (int (*)(...))QStatusBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QStatusBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QStatusBar::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QStatusBar::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI10QStatusBar) +448 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD1Ev +456 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QStatusBar + size=48 align=8 + base size=48 base align=8 +QStatusBar (0x0x7f56aac25618) 0 + vptr=((& QStatusBar::_ZTV10QStatusBar) + 16) + QWidget (0x0x7f56b28f00e0) 0 + primary-for QStatusBar (0x0x7f56aac25618) + QObject (0x0x7f56aac68ba0) 0 + primary-for QWidget (0x0x7f56b28f00e0) + QPaintDevice (0x0x7f56aac68c00) 16 + vptr=((& QStatusBar::_ZTV10QStatusBar) + 448) + +Class QStyledItemDelegate::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStyledItemDelegate::QPrivateSignal (0x0x7f56aac68ea0) 0 empty + +Vtable for QStyledItemDelegate +QStyledItemDelegate::_ZTV19QStyledItemDelegate: 26 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QStyledItemDelegate) +16 (int (*)(...))QStyledItemDelegate::metaObject +24 (int (*)(...))QStyledItemDelegate::qt_metacast +32 (int (*)(...))QStyledItemDelegate::qt_metacall +40 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate +48 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate +56 (int (*)(...))QObject::event +64 (int (*)(...))QStyledItemDelegate::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStyledItemDelegate::paint +120 (int (*)(...))QStyledItemDelegate::sizeHint +128 (int (*)(...))QStyledItemDelegate::createEditor +136 (int (*)(...))QAbstractItemDelegate::destroyEditor +144 (int (*)(...))QStyledItemDelegate::setEditorData +152 (int (*)(...))QStyledItemDelegate::setModelData +160 (int (*)(...))QStyledItemDelegate::updateEditorGeometry +168 (int (*)(...))QStyledItemDelegate::editorEvent +176 (int (*)(...))QAbstractItemDelegate::helpEvent +184 (int (*)(...))QAbstractItemDelegate::paintingRoles +192 (int (*)(...))QStyledItemDelegate::displayText +200 (int (*)(...))QStyledItemDelegate::initStyleOption + +Class QStyledItemDelegate + size=16 align=8 + base size=16 base align=8 +QStyledItemDelegate (0x0x7f56aac25680) 0 + vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16) + QAbstractItemDelegate (0x0x7f56aac256e8) 0 + primary-for QStyledItemDelegate (0x0x7f56aac25680) + QObject (0x0x7f56aac68e40) 0 + primary-for QAbstractItemDelegate (0x0x7f56aac256e8) + +Class QStyleFactory + size=1 align=1 + base size=0 base align=1 +QStyleFactory (0x0x7f56aac970c0) 0 empty + +Class QStylePainter + size=24 align=8 + base size=24 base align=8 +QStylePainter (0x0x7f56aac25750) 0 + QPainter (0x0x7f56aac97120) 0 + +Class QStylePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStylePlugin::QPrivateSignal (0x0x7f56aac979c0) 0 empty + +Vtable for QStylePlugin +QStylePlugin::_ZTV12QStylePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QStylePlugin) +16 (int (*)(...))QStylePlugin::metaObject +24 (int (*)(...))QStylePlugin::qt_metacast +32 (int (*)(...))QStylePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QStylePlugin + size=16 align=8 + base size=16 base align=8 +QStylePlugin (0x0x7f56aac257b8) 0 + vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16) + QObject (0x0x7f56aac97960) 0 + primary-for QStylePlugin (0x0x7f56aac257b8) + +Class QSystemTrayIcon::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSystemTrayIcon::QPrivateSignal (0x0x7f56aac97b40) 0 empty + +Vtable for QSystemTrayIcon +QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSystemTrayIcon) +16 (int (*)(...))QSystemTrayIcon::metaObject +24 (int (*)(...))QSystemTrayIcon::qt_metacast +32 (int (*)(...))QSystemTrayIcon::qt_metacall +40 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon +48 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon +56 (int (*)(...))QSystemTrayIcon::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSystemTrayIcon + size=16 align=8 + base size=16 base align=8 +QSystemTrayIcon (0x0x7f56aac25820) 0 + vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16) + QObject (0x0x7f56aac97ae0) 0 + primary-for QSystemTrayIcon (0x0x7f56aac25820) + +Class QTableView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTableView::QPrivateSignal (0x0x7f56aac97ea0) 0 empty + +Vtable for QTableView +QTableView::_ZTV10QTableView: 106 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTableView) +16 (int (*)(...))QTableView::metaObject +24 (int (*)(...))QTableView::qt_metacast +32 (int (*)(...))QTableView::qt_metacall +40 (int (*)(...))QTableView::~QTableView +48 (int (*)(...))QTableView::~QTableView +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTableView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTableView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QTableView::scrollContentsBy +456 (int (*)(...))QTableView::viewportSizeHint +464 (int (*)(...))QTableView::setModel +472 (int (*)(...))QTableView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QTableView::visualRect +496 (int (*)(...))QTableView::scrollTo +504 (int (*)(...))QTableView::indexAt +512 (int (*)(...))QTableView::sizeHintForRow +520 (int (*)(...))QTableView::sizeHintForColumn +528 (int (*)(...))QAbstractItemView::reset +536 (int (*)(...))QTableView::setRootIndex +544 (int (*)(...))QTableView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QAbstractItemView::dataChanged +568 (int (*)(...))QAbstractItemView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QTableView::selectionChanged +592 (int (*)(...))QTableView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QTableView::updateGeometries +624 (int (*)(...))QTableView::verticalScrollbarAction +632 (int (*)(...))QTableView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QTableView::moveCursor +688 (int (*)(...))QTableView::horizontalOffset +696 (int (*)(...))QTableView::verticalOffset +704 (int (*)(...))QTableView::isIndexHidden +712 (int (*)(...))QTableView::setSelection +720 (int (*)(...))QTableView::visualRegionForSelection +728 (int (*)(...))QTableView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QTableView::viewOptions +768 (int (*)(...))-16 +776 (int (*)(...))(& _ZTI10QTableView) +784 (int (*)(...))QTableView::_ZThn16_N10QTableViewD1Ev +792 (int (*)(...))QTableView::_ZThn16_N10QTableViewD0Ev +800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTableView + size=48 align=8 + base size=48 base align=8 +QTableView (0x0x7f56aac25888) 0 + vptr=((& QTableView::_ZTV10QTableView) + 16) + QAbstractItemView (0x0x7f56aac258f0) 0 + primary-for QTableView (0x0x7f56aac25888) + QAbstractScrollArea (0x0x7f56aac25958) 0 + primary-for QAbstractItemView (0x0x7f56aac258f0) + QFrame (0x0x7f56aac259c0) 0 + primary-for QAbstractScrollArea (0x0x7f56aac25958) + QWidget (0x0x7f56b28f0f50) 0 + primary-for QFrame (0x0x7f56aac259c0) + QObject (0x0x7f56aac97de0) 0 + primary-for QWidget (0x0x7f56b28f0f50) + QPaintDevice (0x0x7f56aac97e40) 16 + vptr=((& QTableView::_ZTV10QTableView) + 784) + +Class QTableWidgetSelectionRange + size=16 align=4 + base size=16 base align=4 +QTableWidgetSelectionRange (0x0x7f56aacbd120) 0 + +Vtable for QTableWidgetItem +QTableWidgetItem::_ZTV16QTableWidgetItem: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QTableWidgetItem) +16 (int (*)(...))QTableWidgetItem::~QTableWidgetItem +24 (int (*)(...))QTableWidgetItem::~QTableWidgetItem +32 (int (*)(...))QTableWidgetItem::clone +40 (int (*)(...))QTableWidgetItem::data +48 (int (*)(...))QTableWidgetItem::setData +56 (int (*)(...))QTableWidgetItem::operator< +64 (int (*)(...))QTableWidgetItem::read +72 (int (*)(...))QTableWidgetItem::write + +Class QTableWidgetItem + size=48 align=8 + base size=44 base align=8 +QTableWidgetItem (0x0x7f56aacbd3c0) 0 + vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16) + +Class QTableWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTableWidget::QPrivateSignal (0x0x7f56aace8120) 0 empty + +Vtable for QTableWidget +QTableWidget::_ZTV12QTableWidget: 110 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QTableWidget) +16 (int (*)(...))QTableWidget::metaObject +24 (int (*)(...))QTableWidget::qt_metacast +32 (int (*)(...))QTableWidget::qt_metacall +40 (int (*)(...))QTableWidget::~QTableWidget +48 (int (*)(...))QTableWidget::~QTableWidget +56 (int (*)(...))QTableWidget::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTableView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTableView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QTableWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QTableView::scrollContentsBy +456 (int (*)(...))QTableView::viewportSizeHint +464 (int (*)(...))QTableWidget::setModel +472 (int (*)(...))QTableView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QTableView::visualRect +496 (int (*)(...))QTableView::scrollTo +504 (int (*)(...))QTableView::indexAt +512 (int (*)(...))QTableView::sizeHintForRow +520 (int (*)(...))QTableView::sizeHintForColumn +528 (int (*)(...))QAbstractItemView::reset +536 (int (*)(...))QTableView::setRootIndex +544 (int (*)(...))QTableView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QAbstractItemView::dataChanged +568 (int (*)(...))QAbstractItemView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QTableView::selectionChanged +592 (int (*)(...))QTableView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QTableView::updateGeometries +624 (int (*)(...))QTableView::verticalScrollbarAction +632 (int (*)(...))QTableView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QTableView::moveCursor +688 (int (*)(...))QTableView::horizontalOffset +696 (int (*)(...))QTableView::verticalOffset +704 (int (*)(...))QTableView::isIndexHidden +712 (int (*)(...))QTableView::setSelection +720 (int (*)(...))QTableView::visualRegionForSelection +728 (int (*)(...))QTableView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QTableView::viewOptions +768 (int (*)(...))QTableWidget::mimeTypes +776 (int (*)(...))QTableWidget::mimeData +784 (int (*)(...))QTableWidget::dropMimeData +792 (int (*)(...))QTableWidget::supportedDropActions +800 (int (*)(...))-16 +808 (int (*)(...))(& _ZTI12QTableWidget) +816 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD1Ev +824 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD0Ev +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTableWidget + size=48 align=8 + base size=48 base align=8 +QTableWidget (0x0x7f56aac25af8) 0 + vptr=((& QTableWidget::_ZTV12QTableWidget) + 16) + QTableView (0x0x7f56aac25b60) 0 + primary-for QTableWidget (0x0x7f56aac25af8) + QAbstractItemView (0x0x7f56aac25bc8) 0 + primary-for QTableView (0x0x7f56aac25b60) + QAbstractScrollArea (0x0x7f56aac25c30) 0 + primary-for QAbstractItemView (0x0x7f56aac25bc8) + QFrame (0x0x7f56aac25c98) 0 + primary-for QAbstractScrollArea (0x0x7f56aac25c30) + QWidget (0x0x7f56b2972380) 0 + primary-for QFrame (0x0x7f56aac25c98) + QObject (0x0x7f56aace8060) 0 + primary-for QWidget (0x0x7f56b2972380) + QPaintDevice (0x0x7f56aace80c0) 16 + vptr=((& QTableWidget::_ZTV12QTableWidget) + 816) + +Class QTextBrowser::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextBrowser::QPrivateSignal (0x0x7f56aace8540) 0 empty + +Vtable for QTextBrowser +QTextBrowser::_ZTV12QTextBrowser: 78 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QTextBrowser) +16 (int (*)(...))QTextBrowser::metaObject +24 (int (*)(...))QTextBrowser::qt_metacast +32 (int (*)(...))QTextBrowser::qt_metacall +40 (int (*)(...))QTextBrowser::~QTextBrowser +48 (int (*)(...))QTextBrowser::~QTextBrowser +56 (int (*)(...))QTextBrowser::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QTextEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTextBrowser::mousePressEvent +176 (int (*)(...))QTextBrowser::mouseReleaseEvent +184 (int (*)(...))QTextEdit::mouseDoubleClickEvent +192 (int (*)(...))QTextBrowser::mouseMoveEvent +200 (int (*)(...))QTextEdit::wheelEvent +208 (int (*)(...))QTextBrowser::keyPressEvent +216 (int (*)(...))QTextEdit::keyReleaseEvent +224 (int (*)(...))QTextEdit::focusInEvent +232 (int (*)(...))QTextBrowser::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTextBrowser::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTextEdit::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QTextEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QTextEdit::dragEnterEvent +320 (int (*)(...))QTextEdit::dragMoveEvent +328 (int (*)(...))QTextEdit::dragLeaveEvent +336 (int (*)(...))QTextEdit::dropEvent +344 (int (*)(...))QTextEdit::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTextEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QTextEdit::inputMethodEvent +416 (int (*)(...))QTextEdit::inputMethodQuery +424 (int (*)(...))QTextBrowser::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QTextEdit::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))QTextBrowser::loadResource +472 (int (*)(...))QTextEdit::createMimeDataFromSelection +480 (int (*)(...))QTextEdit::canInsertFromMimeData +488 (int (*)(...))QTextEdit::insertFromMimeData +496 (int (*)(...))QTextEdit::doSetTextCursor +504 (int (*)(...))QTextBrowser::setSource +512 (int (*)(...))QTextBrowser::backward +520 (int (*)(...))QTextBrowser::forward +528 (int (*)(...))QTextBrowser::home +536 (int (*)(...))QTextBrowser::reload +544 (int (*)(...))-16 +552 (int (*)(...))(& _ZTI12QTextBrowser) +560 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD1Ev +568 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD0Ev +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +584 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +592 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +600 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +608 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +616 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTextBrowser + size=48 align=8 + base size=48 base align=8 +QTextBrowser (0x0x7f56aac25d00) 0 + vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16) + QTextEdit (0x0x7f56aac25d68) 0 + primary-for QTextBrowser (0x0x7f56aac25d00) + QAbstractScrollArea (0x0x7f56aac25dd0) 0 + primary-for QTextEdit (0x0x7f56aac25d68) + QFrame (0x0x7f56aac25e38) 0 + primary-for QAbstractScrollArea (0x0x7f56aac25dd0) + QWidget (0x0x7f56b2972540) 0 + primary-for QFrame (0x0x7f56aac25e38) + QObject (0x0x7f56aace8480) 0 + primary-for QWidget (0x0x7f56b2972540) + QPaintDevice (0x0x7f56aace84e0) 16 + vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 560) + +Class QToolBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QToolBar::QPrivateSignal (0x0x7f56aace87e0) 0 empty + +Vtable for QToolBar +QToolBar::_ZTV8QToolBar: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QToolBar) +16 (int (*)(...))QToolBar::metaObject +24 (int (*)(...))QToolBar::qt_metacast +32 (int (*)(...))QToolBar::qt_metacall +40 (int (*)(...))QToolBar::~QToolBar +48 (int (*)(...))QToolBar::~QToolBar +56 (int (*)(...))QToolBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QToolBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QToolBar::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QToolBar::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI8QToolBar) +448 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD1Ev +456 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QToolBar + size=48 align=8 + base size=48 base align=8 +QToolBar (0x0x7f56aac25ea0) 0 + vptr=((& QToolBar::_ZTV8QToolBar) + 16) + QWidget (0x0x7f56b2972690) 0 + primary-for QToolBar (0x0x7f56aac25ea0) + QObject (0x0x7f56aace8720) 0 + primary-for QWidget (0x0x7f56b2972690) + QPaintDevice (0x0x7f56aace8780) 16 + vptr=((& QToolBar::_ZTV8QToolBar) + 448) + +Class QToolBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QToolBox::QPrivateSignal (0x0x7f56aad14180) 0 empty + +Vtable for QToolBox +QToolBox::_ZTV8QToolBox: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QToolBox) +16 (int (*)(...))QToolBox::metaObject +24 (int (*)(...))QToolBox::qt_metacast +32 (int (*)(...))QToolBox::qt_metacall +40 (int (*)(...))QToolBox::~QToolBox +48 (int (*)(...))QToolBox::~QToolBox +56 (int (*)(...))QToolBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFrame::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QToolBox::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QToolBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QToolBox::itemInserted +440 (int (*)(...))QToolBox::itemRemoved +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI8QToolBox) +464 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD1Ev +472 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QToolBox + size=48 align=8 + base size=48 base align=8 +QToolBox (0x0x7f56aad11410) 0 + vptr=((& QToolBox::_ZTV8QToolBox) + 16) + QFrame (0x0x7f56aad11478) 0 + primary-for QToolBox (0x0x7f56aad11410) + QWidget (0x0x7f56b25f6230) 0 + primary-for QFrame (0x0x7f56aad11478) + QObject (0x0x7f56aad140c0) 0 + primary-for QWidget (0x0x7f56b25f6230) + QPaintDevice (0x0x7f56aad14120) 16 + vptr=((& QToolBox::_ZTV8QToolBox) + 464) + +Class QToolButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QToolButton::QPrivateSignal (0x0x7f56aad14540) 0 empty + +Vtable for QToolButton +QToolButton::_ZTV11QToolButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QToolButton) +16 (int (*)(...))QToolButton::metaObject +24 (int (*)(...))QToolButton::qt_metacast +32 (int (*)(...))QToolButton::qt_metacall +40 (int (*)(...))QToolButton::~QToolButton +48 (int (*)(...))QToolButton::~QToolButton +56 (int (*)(...))QToolButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QToolButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QToolButton::sizeHint +136 (int (*)(...))QToolButton::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QToolButton::mousePressEvent +176 (int (*)(...))QToolButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QToolButton::enterEvent +248 (int (*)(...))QToolButton::leaveEvent +256 (int (*)(...))QToolButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QToolButton::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QToolButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QToolButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QToolButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI11QToolButton) +472 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD1Ev +480 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QToolButton + size=48 align=8 + base size=48 base align=8 +QToolButton (0x0x7f56aad114e0) 0 + vptr=((& QToolButton::_ZTV11QToolButton) + 16) + QAbstractButton (0x0x7f56aad11548) 0 + primary-for QToolButton (0x0x7f56aad114e0) + QWidget (0x0x7f56b25f6460) 0 + primary-for QAbstractButton (0x0x7f56aad11548) + QObject (0x0x7f56aad14480) 0 + primary-for QWidget (0x0x7f56b25f6460) + QPaintDevice (0x0x7f56aad144e0) 16 + vptr=((& QToolButton::_ZTV11QToolButton) + 472) + +Class QToolTip + size=1 align=1 + base size=0 base align=1 +QToolTip (0x0x7f56aad147e0) 0 empty + +Class QTreeView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTreeView::QPrivateSignal (0x0x7f56aad14960) 0 empty + +Vtable for QTreeView +QTreeView::_ZTV9QTreeView: 108 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTreeView) +16 (int (*)(...))QTreeView::metaObject +24 (int (*)(...))QTreeView::qt_metacast +32 (int (*)(...))QTreeView::qt_metacall +40 (int (*)(...))QTreeView::~QTreeView +48 (int (*)(...))QTreeView::~QTreeView +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTreeView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTreeView::mousePressEvent +176 (int (*)(...))QTreeView::mouseReleaseEvent +184 (int (*)(...))QTreeView::mouseDoubleClickEvent +192 (int (*)(...))QTreeView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QTreeView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTreeView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QTreeView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QTreeView::viewportEvent +448 (int (*)(...))QTreeView::scrollContentsBy +456 (int (*)(...))QTreeView::viewportSizeHint +464 (int (*)(...))QTreeView::setModel +472 (int (*)(...))QTreeView::setSelectionModel +480 (int (*)(...))QTreeView::keyboardSearch +488 (int (*)(...))QTreeView::visualRect +496 (int (*)(...))QTreeView::scrollTo +504 (int (*)(...))QTreeView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QTreeView::sizeHintForColumn +528 (int (*)(...))QTreeView::reset +536 (int (*)(...))QTreeView::setRootIndex +544 (int (*)(...))QTreeView::doItemsLayout +552 (int (*)(...))QTreeView::selectAll +560 (int (*)(...))QTreeView::dataChanged +568 (int (*)(...))QTreeView::rowsInserted +576 (int (*)(...))QTreeView::rowsAboutToBeRemoved +584 (int (*)(...))QTreeView::selectionChanged +592 (int (*)(...))QTreeView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QTreeView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QTreeView::horizontalScrollbarAction +640 (int (*)(...))QTreeView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QTreeView::moveCursor +688 (int (*)(...))QTreeView::horizontalOffset +696 (int (*)(...))QTreeView::verticalOffset +704 (int (*)(...))QTreeView::isIndexHidden +712 (int (*)(...))QTreeView::setSelection +720 (int (*)(...))QTreeView::visualRegionForSelection +728 (int (*)(...))QTreeView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))QTreeView::drawRow +776 (int (*)(...))QTreeView::drawBranches +784 (int (*)(...))-16 +792 (int (*)(...))(& _ZTI9QTreeView) +800 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD1Ev +808 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD0Ev +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTreeView + size=48 align=8 + base size=48 base align=8 +QTreeView (0x0x7f56aad115b0) 0 + vptr=((& QTreeView::_ZTV9QTreeView) + 16) + QAbstractItemView (0x0x7f56aad11618) 0 + primary-for QTreeView (0x0x7f56aad115b0) + QAbstractScrollArea (0x0x7f56aad11680) 0 + primary-for QAbstractItemView (0x0x7f56aad11618) + QFrame (0x0x7f56aad116e8) 0 + primary-for QAbstractScrollArea (0x0x7f56aad11680) + QWidget (0x0x7f56b25f6770) 0 + primary-for QFrame (0x0x7f56aad116e8) + QObject (0x0x7f56aad148a0) 0 + primary-for QWidget (0x0x7f56b25f6770) + QPaintDevice (0x0x7f56aad14900) 16 + vptr=((& QTreeView::_ZTV9QTreeView) + 800) + +Class QTreeWidgetItemIterator + size=24 align=8 + base size=20 base align=8 +QTreeWidgetItemIterator (0x0x7f56aad14ba0) 0 + +Vtable for QTreeWidgetItem +QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QTreeWidgetItem) +16 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem +24 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem +32 (int (*)(...))QTreeWidgetItem::clone +40 (int (*)(...))QTreeWidgetItem::data +48 (int (*)(...))QTreeWidgetItem::setData +56 (int (*)(...))QTreeWidgetItem::operator< +64 (int (*)(...))QTreeWidgetItem::read +72 (int (*)(...))QTreeWidgetItem::write + +Class QTreeWidgetItem + size=64 align=8 + base size=60 base align=8 +QTreeWidgetItem (0x0x7f56aad50660) 0 + vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16) + +Class QTreeWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTreeWidget::QPrivateSignal (0x0x7f56aa997660) 0 empty + +Vtable for QTreeWidget +QTreeWidget::_ZTV11QTreeWidget: 112 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTreeWidget) +16 (int (*)(...))QTreeWidget::metaObject +24 (int (*)(...))QTreeWidget::qt_metacast +32 (int (*)(...))QTreeWidget::qt_metacall +40 (int (*)(...))QTreeWidget::~QTreeWidget +48 (int (*)(...))QTreeWidget::~QTreeWidget +56 (int (*)(...))QTreeWidget::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTreeView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTreeView::mousePressEvent +176 (int (*)(...))QTreeView::mouseReleaseEvent +184 (int (*)(...))QTreeView::mouseDoubleClickEvent +192 (int (*)(...))QTreeView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QTreeView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTreeView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QTreeView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QTreeWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QTreeView::viewportEvent +448 (int (*)(...))QTreeView::scrollContentsBy +456 (int (*)(...))QTreeView::viewportSizeHint +464 (int (*)(...))QTreeWidget::setModel +472 (int (*)(...))QTreeWidget::setSelectionModel +480 (int (*)(...))QTreeView::keyboardSearch +488 (int (*)(...))QTreeView::visualRect +496 (int (*)(...))QTreeView::scrollTo +504 (int (*)(...))QTreeView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QTreeView::sizeHintForColumn +528 (int (*)(...))QTreeView::reset +536 (int (*)(...))QTreeView::setRootIndex +544 (int (*)(...))QTreeView::doItemsLayout +552 (int (*)(...))QTreeView::selectAll +560 (int (*)(...))QTreeView::dataChanged +568 (int (*)(...))QTreeView::rowsInserted +576 (int (*)(...))QTreeView::rowsAboutToBeRemoved +584 (int (*)(...))QTreeView::selectionChanged +592 (int (*)(...))QTreeView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QTreeView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QTreeView::horizontalScrollbarAction +640 (int (*)(...))QTreeView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QTreeView::moveCursor +688 (int (*)(...))QTreeView::horizontalOffset +696 (int (*)(...))QTreeView::verticalOffset +704 (int (*)(...))QTreeView::isIndexHidden +712 (int (*)(...))QTreeView::setSelection +720 (int (*)(...))QTreeView::visualRegionForSelection +728 (int (*)(...))QTreeView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))QTreeView::drawRow +776 (int (*)(...))QTreeView::drawBranches +784 (int (*)(...))QTreeWidget::mimeTypes +792 (int (*)(...))QTreeWidget::mimeData +800 (int (*)(...))QTreeWidget::dropMimeData +808 (int (*)(...))QTreeWidget::supportedDropActions +816 (int (*)(...))-16 +824 (int (*)(...))(& _ZTI11QTreeWidget) +832 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev +840 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +880 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +888 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTreeWidget + size=48 align=8 + base size=48 base align=8 +QTreeWidget (0x0x7f56aad11958) 0 + vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16) + QTreeView (0x0x7f56aad119c0) 0 + primary-for QTreeWidget (0x0x7f56aad11958) + QAbstractItemView (0x0x7f56aad11a28) 0 + primary-for QTreeView (0x0x7f56aad119c0) + QAbstractScrollArea (0x0x7f56aad11a90) 0 + primary-for QAbstractItemView (0x0x7f56aad11a28) + QFrame (0x0x7f56aad11af8) 0 + primary-for QAbstractScrollArea (0x0x7f56aad11a90) + QWidget (0x0x7f56b2653690) 0 + primary-for QFrame (0x0x7f56aad11af8) + QObject (0x0x7f56aa9975a0) 0 + primary-for QWidget (0x0x7f56b2653690) + QPaintDevice (0x0x7f56aa997600) 16 + vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832) + +Class QUndoGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUndoGroup::QPrivateSignal (0x0x7f56aa997a80) 0 empty + +Vtable for QUndoGroup +QUndoGroup::_ZTV10QUndoGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QUndoGroup) +16 (int (*)(...))QUndoGroup::metaObject +24 (int (*)(...))QUndoGroup::qt_metacast +32 (int (*)(...))QUndoGroup::qt_metacall +40 (int (*)(...))QUndoGroup::~QUndoGroup +48 (int (*)(...))QUndoGroup::~QUndoGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QUndoGroup + size=16 align=8 + base size=16 base align=8 +QUndoGroup (0x0x7f56aad11b60) 0 + vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16) + QObject (0x0x7f56aa997a20) 0 + primary-for QUndoGroup (0x0x7f56aad11b60) + +Vtable for QUndoCommand +QUndoCommand::_ZTV12QUndoCommand: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QUndoCommand) +16 (int (*)(...))QUndoCommand::~QUndoCommand +24 (int (*)(...))QUndoCommand::~QUndoCommand +32 (int (*)(...))QUndoCommand::undo +40 (int (*)(...))QUndoCommand::redo +48 (int (*)(...))QUndoCommand::id +56 (int (*)(...))QUndoCommand::mergeWith + +Class QUndoCommand + size=16 align=8 + base size=16 base align=8 +QUndoCommand (0x0x7f56aa997c60) 0 + vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16) + +Class QUndoStack::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUndoStack::QPrivateSignal (0x0x7f56aa997d20) 0 empty + +Vtable for QUndoStack +QUndoStack::_ZTV10QUndoStack: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QUndoStack) +16 (int (*)(...))QUndoStack::metaObject +24 (int (*)(...))QUndoStack::qt_metacast +32 (int (*)(...))QUndoStack::qt_metacall +40 (int (*)(...))QUndoStack::~QUndoStack +48 (int (*)(...))QUndoStack::~QUndoStack +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QUndoStack + size=16 align=8 + base size=16 base align=8 +QUndoStack (0x0x7f56aad11bc8) 0 + vptr=((& QUndoStack::_ZTV10QUndoStack) + 16) + QObject (0x0x7f56aa997cc0) 0 + primary-for QUndoStack (0x0x7f56aad11bc8) + +Class QUndoView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUndoView::QPrivateSignal (0x0x7f56aa9c3000) 0 empty + +Vtable for QUndoView +QUndoView::_ZTV9QUndoView: 106 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QUndoView) +16 (int (*)(...))QUndoView::metaObject +24 (int (*)(...))QUndoView::qt_metacast +32 (int (*)(...))QUndoView::qt_metacall +40 (int (*)(...))QUndoView::~QUndoView +48 (int (*)(...))QUndoView::~QUndoView +56 (int (*)(...))QListView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QListView::scrollContentsBy +456 (int (*)(...))QListView::viewportSizeHint +464 (int (*)(...))QAbstractItemView::setModel +472 (int (*)(...))QAbstractItemView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QListView::visualRect +496 (int (*)(...))QListView::scrollTo +504 (int (*)(...))QListView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QListView::reset +536 (int (*)(...))QListView::setRootIndex +544 (int (*)(...))QListView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QListView::dataChanged +568 (int (*)(...))QListView::rowsInserted +576 (int (*)(...))QListView::rowsAboutToBeRemoved +584 (int (*)(...))QListView::selectionChanged +592 (int (*)(...))QListView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QListView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QListView::moveCursor +688 (int (*)(...))QListView::horizontalOffset +696 (int (*)(...))QListView::verticalOffset +704 (int (*)(...))QListView::isIndexHidden +712 (int (*)(...))QListView::setSelection +720 (int (*)(...))QListView::visualRegionForSelection +728 (int (*)(...))QListView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QListView::startDrag +760 (int (*)(...))QListView::viewOptions +768 (int (*)(...))-16 +776 (int (*)(...))(& _ZTI9QUndoView) +784 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD1Ev +792 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD0Ev +800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QUndoView + size=48 align=8 + base size=48 base align=8 +QUndoView (0x0x7f56aad11c30) 0 + vptr=((& QUndoView::_ZTV9QUndoView) + 16) + QListView (0x0x7f56aad11c98) 0 + primary-for QUndoView (0x0x7f56aad11c30) + QAbstractItemView (0x0x7f56aad11d00) 0 + primary-for QListView (0x0x7f56aad11c98) + QAbstractScrollArea (0x0x7f56aad11d68) 0 + primary-for QAbstractItemView (0x0x7f56aad11d00) + QFrame (0x0x7f56aad11dd0) 0 + primary-for QAbstractScrollArea (0x0x7f56aad11d68) + QWidget (0x0x7f56b2653a10) 0 + primary-for QFrame (0x0x7f56aad11dd0) + QObject (0x0x7f56aa997f00) 0 + primary-for QWidget (0x0x7f56b2653a10) + QPaintDevice (0x0x7f56aa997f60) 16 + vptr=((& QUndoView::_ZTV9QUndoView) + 784) + +Class QWhatsThis + size=1 align=1 + base size=0 base align=1 +QWhatsThis (0x0x7f56aa9c31e0) 0 empty + +Class QWidgetAction::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWidgetAction::QPrivateSignal (0x0x7f56aa9c32a0) 0 empty + +Vtable for QWidgetAction +QWidgetAction::_ZTV13QWidgetAction: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QWidgetAction) +16 (int (*)(...))QWidgetAction::metaObject +24 (int (*)(...))QWidgetAction::qt_metacast +32 (int (*)(...))QWidgetAction::qt_metacall +40 (int (*)(...))QWidgetAction::~QWidgetAction +48 (int (*)(...))QWidgetAction::~QWidgetAction +56 (int (*)(...))QWidgetAction::event +64 (int (*)(...))QWidgetAction::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidgetAction::createWidget +120 (int (*)(...))QWidgetAction::deleteWidget + +Class QWidgetAction + size=16 align=8 + base size=16 base align=8 +QWidgetAction (0x0x7f56aad11e38) 0 + vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16) + QAction (0x0x7f56aad11ea0) 0 + primary-for QWidgetAction (0x0x7f56aad11e38) + QObject (0x0x7f56aa9c3240) 0 + primary-for QAction (0x0x7f56aad11ea0) + +Class QWizard::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWizard::QPrivateSignal (0x0x7f56aa9c3540) 0 empty + +Vtable for QWizard +QWizard::_ZTV7QWizard: 73 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QWizard) +16 (int (*)(...))QWizard::metaObject +24 (int (*)(...))QWizard::qt_metacast +32 (int (*)(...))QWizard::qt_metacall +40 (int (*)(...))QWizard::~QWizard +48 (int (*)(...))QWizard::~QWizard +56 (int (*)(...))QWizard::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWizard::setVisible +128 (int (*)(...))QWizard::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWizard::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWizard::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QWizard::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))QWizard::validateCurrentPage +480 (int (*)(...))QWizard::nextId +488 (int (*)(...))QWizard::initializePage +496 (int (*)(...))QWizard::cleanupPage +504 (int (*)(...))-16 +512 (int (*)(...))(& _ZTI7QWizard) +520 (int (*)(...))QWizard::_ZThn16_N7QWizardD1Ev +528 (int (*)(...))QWizard::_ZThn16_N7QWizardD0Ev +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QWizard + size=48 align=8 + base size=48 base align=8 +QWizard (0x0x7f56aad11f08) 0 + vptr=((& QWizard::_ZTV7QWizard) + 16) + QDialog (0x0x7f56aad11f70) 0 + primary-for QWizard (0x0x7f56aad11f08) + QWidget (0x0x7f56b2653cb0) 0 + primary-for QDialog (0x0x7f56aad11f70) + QObject (0x0x7f56aa9c3480) 0 + primary-for QWidget (0x0x7f56b2653cb0) + QPaintDevice (0x0x7f56aa9c34e0) 16 + vptr=((& QWizard::_ZTV7QWizard) + 520) + +Class QWizardPage::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWizardPage::QPrivateSignal (0x0x7f56aa9ee120) 0 empty + +Vtable for QWizardPage +QWizardPage::_ZTV11QWizardPage: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QWizardPage) +16 (int (*)(...))QWizardPage::metaObject +24 (int (*)(...))QWizardPage::qt_metacast +32 (int (*)(...))QWizardPage::qt_metacall +40 (int (*)(...))QWizardPage::~QWizardPage +48 (int (*)(...))QWizardPage::~QWizardPage +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QWizardPage::initializePage +440 (int (*)(...))QWizardPage::cleanupPage +448 (int (*)(...))QWizardPage::validatePage +456 (int (*)(...))QWizardPage::isComplete +464 (int (*)(...))QWizardPage::nextId +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QWizardPage) +488 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD1Ev +496 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QWizardPage + size=48 align=8 + base size=48 base align=8 +QWizardPage (0x0x7f56aa9e00d0) 0 + vptr=((& QWizardPage::_ZTV11QWizardPage) + 16) + QWidget (0x0x7f56b26afbd0) 0 + primary-for QWizardPage (0x0x7f56aa9e00d0) + QObject (0x0x7f56aa9ee060) 0 + primary-for QWidget (0x0x7f56b26afbd0) + QPaintDevice (0x0x7f56aa9ee0c0) 16 + vptr=((& QWizardPage::_ZTV11QWizardPage) + 488) + +Vtable for QSqlDriverCreatorBase +QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QSqlDriverCreatorBase) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QSqlDriverCreatorBase + size=8 align=8 + base size=8 base align=8 +QSqlDriverCreatorBase (0x0x7f56aa9ee9c0) 0 nearly-empty + vptr=((& QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase) + 16) + +Class QSqlDatabase + size=8 align=8 + base size=8 base align=8 +QSqlDatabase (0x0x7f56aa9eecc0) 0 + +Class QSqlDriver::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSqlDriver::QPrivateSignal (0x0x7f56aa9eed80) 0 empty + +Vtable for QSqlDriver +QSqlDriver::_ZTV10QSqlDriver: 38 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QSqlDriver) +16 (int (*)(...))QSqlDriver::metaObject +24 (int (*)(...))QSqlDriver::qt_metacast +32 (int (*)(...))QSqlDriver::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSqlDriver::isOpen +120 (int (*)(...))QSqlDriver::beginTransaction +128 (int (*)(...))QSqlDriver::commitTransaction +136 (int (*)(...))QSqlDriver::rollbackTransaction +144 (int (*)(...))QSqlDriver::tables +152 (int (*)(...))QSqlDriver::primaryIndex +160 (int (*)(...))QSqlDriver::record +168 (int (*)(...))QSqlDriver::formatValue +176 (int (*)(...))QSqlDriver::escapeIdentifier +184 (int (*)(...))QSqlDriver::sqlStatement +192 (int (*)(...))QSqlDriver::handle +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))__cxa_pure_virtual +232 (int (*)(...))QSqlDriver::subscribeToNotification +240 (int (*)(...))QSqlDriver::unsubscribeFromNotification +248 (int (*)(...))QSqlDriver::subscribedToNotifications +256 (int (*)(...))QSqlDriver::isIdentifierEscaped +264 (int (*)(...))QSqlDriver::stripDelimiters +272 (int (*)(...))QSqlDriver::cancelQuery +280 (int (*)(...))QSqlDriver::setOpen +288 (int (*)(...))QSqlDriver::setOpenError +296 (int (*)(...))QSqlDriver::setLastError + +Class QSqlDriver + size=16 align=8 + base size=16 base align=8 +QSqlDriver (0x0x7f56aa9e0270) 0 + vptr=((& QSqlDriver::_ZTV10QSqlDriver) + 16) + QObject (0x0x7f56aa9eed20) 0 + primary-for QSqlDriver (0x0x7f56aa9e0270) + +Class QSqlDriverPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSqlDriverPlugin::QPrivateSignal (0x0x7f56aaa1f000) 0 empty + +Vtable for QSqlDriverPlugin +QSqlDriverPlugin::_ZTV16QSqlDriverPlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QSqlDriverPlugin) +16 (int (*)(...))QSqlDriverPlugin::metaObject +24 (int (*)(...))QSqlDriverPlugin::qt_metacast +32 (int (*)(...))QSqlDriverPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QSqlDriverPlugin + size=16 align=8 + base size=16 base align=8 +QSqlDriverPlugin (0x0x7f56aa9e02d8) 0 + vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 16) + QObject (0x0x7f56aa9eef60) 0 + primary-for QSqlDriverPlugin (0x0x7f56aa9e02d8) + +Class QSqlError::Unused + size=8 align=4 + base size=8 base align=4 +QSqlError::Unused (0x0x7f56aaa1f180) 0 + +Class QSqlError + size=24 align=8 + base size=24 base align=8 +QSqlError (0x0x7f56aaa1f120) 0 + +Class QSqlField + size=24 align=8 + base size=24 base align=8 +QSqlField (0x0x7f56aaa3c480) 0 + +Class QSqlRecord + size=8 align=8 + base size=8 base align=8 +QSqlRecord (0x0x7f56aaa3c600) 0 + +Class QSqlIndex + size=32 align=8 + base size=32 base align=8 +QSqlIndex (0x0x7f56aaa3e1a0) 0 + QSqlRecord (0x0x7f56aaa3c6c0) 0 + +Class QSqlQuery + size=8 align=8 + base size=8 base align=8 +QSqlQuery (0x0x7f56aaa3c8a0) 0 + +Class QSqlQueryModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSqlQueryModel::QPrivateSignal (0x0x7f56aaa3c960) 0 empty + +Vtable for QSqlQueryModel +QSqlQueryModel::_ZTV14QSqlQueryModel: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QSqlQueryModel) +16 (int (*)(...))QSqlQueryModel::metaObject +24 (int (*)(...))QSqlQueryModel::qt_metacast +32 (int (*)(...))QSqlQueryModel::qt_metacall +40 (int (*)(...))QSqlQueryModel::~QSqlQueryModel +48 (int (*)(...))QSqlQueryModel::~QSqlQueryModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractTableModel::index +120 (int (*)(...))QAbstractTableModel::parent +128 (int (*)(...))QAbstractTableModel::sibling +136 (int (*)(...))QSqlQueryModel::rowCount +144 (int (*)(...))QSqlQueryModel::columnCount +152 (int (*)(...))QAbstractTableModel::hasChildren +160 (int (*)(...))QSqlQueryModel::data +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QSqlQueryModel::headerData +184 (int (*)(...))QSqlQueryModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractTableModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QSqlQueryModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QSqlQueryModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QSqlQueryModel::fetchMore +312 (int (*)(...))QSqlQueryModel::canFetchMore +320 (int (*)(...))QAbstractTableModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QSqlQueryModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert +384 (int (*)(...))QSqlQueryModel::clear +392 (int (*)(...))QSqlQueryModel::queryChange +400 (int (*)(...))QSqlQueryModel::indexInQuery + +Class QSqlQueryModel + size=16 align=8 + base size=16 base align=8 +QSqlQueryModel (0x0x7f56aaa3e2d8) 0 + vptr=((& QSqlQueryModel::_ZTV14QSqlQueryModel) + 16) + QAbstractTableModel (0x0x7f56aaa3e340) 0 + primary-for QSqlQueryModel (0x0x7f56aaa3e2d8) + QAbstractItemModel (0x0x7f56aaa3e3a8) 0 + primary-for QAbstractTableModel (0x0x7f56aaa3e340) + QObject (0x0x7f56aaa3c900) 0 + primary-for QAbstractItemModel (0x0x7f56aaa3e3a8) + +Class QSqlTableModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSqlTableModel::QPrivateSignal (0x0x7f56aaa3cba0) 0 empty + +Vtable for QSqlTableModel +QSqlTableModel::_ZTV14QSqlTableModel: 63 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QSqlTableModel) +16 (int (*)(...))QSqlTableModel::metaObject +24 (int (*)(...))QSqlTableModel::qt_metacast +32 (int (*)(...))QSqlTableModel::qt_metacall +40 (int (*)(...))QSqlTableModel::~QSqlTableModel +48 (int (*)(...))QSqlTableModel::~QSqlTableModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractTableModel::index +120 (int (*)(...))QAbstractTableModel::parent +128 (int (*)(...))QAbstractTableModel::sibling +136 (int (*)(...))QSqlTableModel::rowCount +144 (int (*)(...))QSqlQueryModel::columnCount +152 (int (*)(...))QAbstractTableModel::hasChildren +160 (int (*)(...))QSqlTableModel::data +168 (int (*)(...))QSqlTableModel::setData +176 (int (*)(...))QSqlTableModel::headerData +184 (int (*)(...))QSqlQueryModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractTableModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QSqlTableModel::insertRows +264 (int (*)(...))QSqlQueryModel::insertColumns +272 (int (*)(...))QSqlTableModel::removeRows +280 (int (*)(...))QSqlTableModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QSqlQueryModel::fetchMore +312 (int (*)(...))QSqlQueryModel::canFetchMore +320 (int (*)(...))QSqlTableModel::flags +328 (int (*)(...))QSqlTableModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QSqlQueryModel::roleNames +368 (int (*)(...))QSqlTableModel::submit +376 (int (*)(...))QSqlTableModel::revert +384 (int (*)(...))QSqlTableModel::clear +392 (int (*)(...))QSqlQueryModel::queryChange +400 (int (*)(...))QSqlTableModel::indexInQuery +408 (int (*)(...))QSqlTableModel::setTable +416 (int (*)(...))QSqlTableModel::setEditStrategy +424 (int (*)(...))QSqlTableModel::setSort +432 (int (*)(...))QSqlTableModel::setFilter +440 (int (*)(...))QSqlTableModel::revertRow +448 (int (*)(...))QSqlTableModel::select +456 (int (*)(...))QSqlTableModel::selectRow +464 (int (*)(...))QSqlTableModel::updateRowInTable +472 (int (*)(...))QSqlTableModel::insertRowIntoTable +480 (int (*)(...))QSqlTableModel::deleteRowFromTable +488 (int (*)(...))QSqlTableModel::orderByClause +496 (int (*)(...))QSqlTableModel::selectStatement + +Class QSqlTableModel + size=16 align=8 + base size=16 base align=8 +QSqlTableModel (0x0x7f56aaa3e410) 0 + vptr=((& QSqlTableModel::_ZTV14QSqlTableModel) + 16) + QSqlQueryModel (0x0x7f56aaa3e478) 0 + primary-for QSqlTableModel (0x0x7f56aaa3e410) + QAbstractTableModel (0x0x7f56aaa3e4e0) 0 + primary-for QSqlQueryModel (0x0x7f56aaa3e478) + QAbstractItemModel (0x0x7f56aaa3e548) 0 + primary-for QAbstractTableModel (0x0x7f56aaa3e4e0) + QObject (0x0x7f56aaa3cb40) 0 + primary-for QAbstractItemModel (0x0x7f56aaa3e548) + +Class QSqlRelation + size=24 align=8 + base size=24 base align=8 +QSqlRelation (0x0x7f56aaa3cd80) 0 + +Class QSqlRelationalTableModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSqlRelationalTableModel::QPrivateSignal (0x0x7f56aaaa13c0) 0 empty + +Vtable for QSqlRelationalTableModel +QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QSqlRelationalTableModel) +16 (int (*)(...))QSqlRelationalTableModel::metaObject +24 (int (*)(...))QSqlRelationalTableModel::qt_metacast +32 (int (*)(...))QSqlRelationalTableModel::qt_metacall +40 (int (*)(...))QSqlRelationalTableModel::~QSqlRelationalTableModel +48 (int (*)(...))QSqlRelationalTableModel::~QSqlRelationalTableModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractTableModel::index +120 (int (*)(...))QAbstractTableModel::parent +128 (int (*)(...))QAbstractTableModel::sibling +136 (int (*)(...))QSqlTableModel::rowCount +144 (int (*)(...))QSqlQueryModel::columnCount +152 (int (*)(...))QAbstractTableModel::hasChildren +160 (int (*)(...))QSqlRelationalTableModel::data +168 (int (*)(...))QSqlRelationalTableModel::setData +176 (int (*)(...))QSqlTableModel::headerData +184 (int (*)(...))QSqlQueryModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractTableModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QSqlTableModel::insertRows +264 (int (*)(...))QSqlQueryModel::insertColumns +272 (int (*)(...))QSqlTableModel::removeRows +280 (int (*)(...))QSqlRelationalTableModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QSqlQueryModel::fetchMore +312 (int (*)(...))QSqlQueryModel::canFetchMore +320 (int (*)(...))QSqlTableModel::flags +328 (int (*)(...))QSqlTableModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QSqlQueryModel::roleNames +368 (int (*)(...))QSqlTableModel::submit +376 (int (*)(...))QSqlTableModel::revert +384 (int (*)(...))QSqlRelationalTableModel::clear +392 (int (*)(...))QSqlQueryModel::queryChange +400 (int (*)(...))QSqlTableModel::indexInQuery +408 (int (*)(...))QSqlRelationalTableModel::setTable +416 (int (*)(...))QSqlTableModel::setEditStrategy +424 (int (*)(...))QSqlTableModel::setSort +432 (int (*)(...))QSqlTableModel::setFilter +440 (int (*)(...))QSqlRelationalTableModel::revertRow +448 (int (*)(...))QSqlRelationalTableModel::select +456 (int (*)(...))QSqlTableModel::selectRow +464 (int (*)(...))QSqlRelationalTableModel::updateRowInTable +472 (int (*)(...))QSqlRelationalTableModel::insertRowIntoTable +480 (int (*)(...))QSqlTableModel::deleteRowFromTable +488 (int (*)(...))QSqlRelationalTableModel::orderByClause +496 (int (*)(...))QSqlRelationalTableModel::selectStatement +504 (int (*)(...))QSqlRelationalTableModel::setRelation +512 (int (*)(...))QSqlRelationalTableModel::relationModel + +Class QSqlRelationalTableModel + size=16 align=8 + base size=16 base align=8 +QSqlRelationalTableModel (0x0x7f56aaa9f888) 0 + vptr=((& QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel) + 16) + QSqlTableModel (0x0x7f56aaa9f8f0) 0 + primary-for QSqlRelationalTableModel (0x0x7f56aaa9f888) + QSqlQueryModel (0x0x7f56aaa9f958) 0 + primary-for QSqlTableModel (0x0x7f56aaa9f8f0) + QAbstractTableModel (0x0x7f56aaa9f9c0) 0 + primary-for QSqlQueryModel (0x0x7f56aaa9f958) + QAbstractItemModel (0x0x7f56aaa9fa28) 0 + primary-for QAbstractTableModel (0x0x7f56aaa9f9c0) + QObject (0x0x7f56aaaa1360) 0 + primary-for QAbstractItemModel (0x0x7f56aaa9fa28) + +Vtable for QSqlResult +QSqlResult::_ZTV10QSqlResult: 33 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QSqlResult) +16 0 +24 0 +32 (int (*)(...))QSqlResult::handle +40 (int (*)(...))QSqlResult::setAt +48 (int (*)(...))QSqlResult::setActive +56 (int (*)(...))QSqlResult::setLastError +64 (int (*)(...))QSqlResult::setQuery +72 (int (*)(...))QSqlResult::setSelect +80 (int (*)(...))QSqlResult::setForwardOnly +88 (int (*)(...))QSqlResult::exec +96 (int (*)(...))QSqlResult::prepare +104 (int (*)(...))QSqlResult::savePrepare +112 (int (*)(...))QSqlResult::bindValue +120 (int (*)(...))QSqlResult::bindValue +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))QSqlResult::fetchNext +168 (int (*)(...))QSqlResult::fetchPrevious +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))QSqlResult::record +216 (int (*)(...))QSqlResult::lastInsertId +224 (int (*)(...))QSqlResult::virtual_hook +232 (int (*)(...))QSqlResult::execBatch +240 (int (*)(...))QSqlResult::detachFromResultSet +248 (int (*)(...))QSqlResult::setNumericalPrecisionPolicy +256 (int (*)(...))QSqlResult::nextResult + +Class QSqlResult + size=16 align=8 + base size=16 base align=8 +QSqlResult (0x0x7f56aaaa15a0) 0 + vptr=((& QSqlResult::_ZTV10QSqlResult) + 16) + +Class QHelpGlobal + size=1 align=1 + base size=0 base align=1 +QHelpGlobal (0x0x7f56aaaa16c0) 0 empty + +Class QCompressedHelpInfo + size=8 align=8 + base size=8 base align=8 +QCompressedHelpInfo (0x0x7f56aaaa1720) 0 + +Class QHelpContentItem + size=8 align=8 + base size=8 base align=8 +QHelpContentItem (0x0x7f56aaaa1840) 0 + +Class QHelpContentModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpContentModel::QPrivateSignal (0x0x7f56aaaa1900) 0 empty + +Vtable for QHelpContentModel +QHelpContentModel::_ZTV17QHelpContentModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QHelpContentModel) +16 (int (*)(...))QHelpContentModel::metaObject +24 (int (*)(...))QHelpContentModel::qt_metacast +32 (int (*)(...))QHelpContentModel::qt_metacall +40 (int (*)(...))QHelpContentModel::~QHelpContentModel +48 (int (*)(...))QHelpContentModel::~QHelpContentModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QHelpContentModel::index +120 (int (*)(...))QHelpContentModel::parent +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))QHelpContentModel::rowCount +144 (int (*)(...))QHelpContentModel::columnCount +152 (int (*)(...))QAbstractItemModel::hasChildren +160 (int (*)(...))QHelpContentModel::data +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractItemModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QAbstractItemModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QHelpContentModel + size=24 align=8 + base size=24 base align=8 +QHelpContentModel (0x0x7f56aaa9fa90) 0 + vptr=((& QHelpContentModel::_ZTV17QHelpContentModel) + 16) + QAbstractItemModel (0x0x7f56aaa9faf8) 0 + primary-for QHelpContentModel (0x0x7f56aaa9fa90) + QObject (0x0x7f56aaaa18a0) 0 + primary-for QAbstractItemModel (0x0x7f56aaa9faf8) + +Class QHelpContentWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpContentWidget::QPrivateSignal (0x0x7f56aaaa1ae0) 0 empty + +Vtable for QHelpContentWidget +QHelpContentWidget::_ZTV18QHelpContentWidget: 108 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QHelpContentWidget) +16 (int (*)(...))QHelpContentWidget::metaObject +24 (int (*)(...))QHelpContentWidget::qt_metacast +32 (int (*)(...))QHelpContentWidget::qt_metacall +40 (int (*)(...))QHelpContentWidget::~QHelpContentWidget +48 (int (*)(...))QHelpContentWidget::~QHelpContentWidget +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTreeView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTreeView::mousePressEvent +176 (int (*)(...))QTreeView::mouseReleaseEvent +184 (int (*)(...))QTreeView::mouseDoubleClickEvent +192 (int (*)(...))QTreeView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QTreeView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTreeView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QTreeView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QTreeView::viewportEvent +448 (int (*)(...))QTreeView::scrollContentsBy +456 (int (*)(...))QTreeView::viewportSizeHint +464 (int (*)(...))QTreeView::setModel +472 (int (*)(...))QTreeView::setSelectionModel +480 (int (*)(...))QTreeView::keyboardSearch +488 (int (*)(...))QTreeView::visualRect +496 (int (*)(...))QTreeView::scrollTo +504 (int (*)(...))QTreeView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QTreeView::sizeHintForColumn +528 (int (*)(...))QTreeView::reset +536 (int (*)(...))QTreeView::setRootIndex +544 (int (*)(...))QTreeView::doItemsLayout +552 (int (*)(...))QTreeView::selectAll +560 (int (*)(...))QTreeView::dataChanged +568 (int (*)(...))QTreeView::rowsInserted +576 (int (*)(...))QTreeView::rowsAboutToBeRemoved +584 (int (*)(...))QTreeView::selectionChanged +592 (int (*)(...))QTreeView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QTreeView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QTreeView::horizontalScrollbarAction +640 (int (*)(...))QTreeView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QTreeView::moveCursor +688 (int (*)(...))QTreeView::horizontalOffset +696 (int (*)(...))QTreeView::verticalOffset +704 (int (*)(...))QTreeView::isIndexHidden +712 (int (*)(...))QTreeView::setSelection +720 (int (*)(...))QTreeView::visualRegionForSelection +728 (int (*)(...))QTreeView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))QTreeView::drawRow +776 (int (*)(...))QTreeView::drawBranches +784 (int (*)(...))-16 +792 (int (*)(...))(& _ZTI18QHelpContentWidget) +800 (int (*)(...))QHelpContentWidget::_ZThn16_N18QHelpContentWidgetD1Ev +808 (int (*)(...))QHelpContentWidget::_ZThn16_N18QHelpContentWidgetD0Ev +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QHelpContentWidget + size=72 align=8 + base size=72 base align=8 +QHelpContentWidget (0x0x7f56aaa9fb60) 0 + vptr=((& QHelpContentWidget::_ZTV18QHelpContentWidget) + 16) + QTreeView (0x0x7f56aaa9fbc8) 0 + primary-for QHelpContentWidget (0x0x7f56aaa9fb60) + QAbstractItemView (0x0x7f56aaa9fc30) 0 + primary-for QTreeView (0x0x7f56aaa9fbc8) + QAbstractScrollArea (0x0x7f56aaa9fc98) 0 + primary-for QAbstractItemView (0x0x7f56aaa9fc30) + QFrame (0x0x7f56aaa9fd00) 0 + primary-for QAbstractScrollArea (0x0x7f56aaa9fc98) + QWidget (0x0x7f56b1f845b0) 0 + primary-for QFrame (0x0x7f56aaa9fd00) + QObject (0x0x7f56aaaa1a20) 0 + primary-for QWidget (0x0x7f56b1f845b0) + QPaintDevice (0x0x7f56aaaa1a80) 16 + vptr=((& QHelpContentWidget::_ZTV18QHelpContentWidget) + 800) + +Class QHelpEngineCore::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpEngineCore::QPrivateSignal (0x0x7f56aaaa1c60) 0 empty + +Vtable for QHelpEngineCore +QHelpEngineCore::_ZTV15QHelpEngineCore: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QHelpEngineCore) +16 (int (*)(...))QHelpEngineCore::metaObject +24 (int (*)(...))QHelpEngineCore::qt_metacast +32 (int (*)(...))QHelpEngineCore::qt_metacall +40 (int (*)(...))QHelpEngineCore::~QHelpEngineCore +48 (int (*)(...))QHelpEngineCore::~QHelpEngineCore +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QHelpEngineCore + size=24 align=8 + base size=24 base align=8 +QHelpEngineCore (0x0x7f56aaa9fd68) 0 + vptr=((& QHelpEngineCore::_ZTV15QHelpEngineCore) + 16) + QObject (0x0x7f56aaaa1c00) 0 + primary-for QHelpEngineCore (0x0x7f56aaa9fd68) + +Class QHelpEngine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpEngine::QPrivateSignal (0x0x7f56aaaa1de0) 0 empty + +Vtable for QHelpEngine +QHelpEngine::_ZTV11QHelpEngine: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHelpEngine) +16 (int (*)(...))QHelpEngine::metaObject +24 (int (*)(...))QHelpEngine::qt_metacast +32 (int (*)(...))QHelpEngine::qt_metacall +40 (int (*)(...))QHelpEngine::~QHelpEngine +48 (int (*)(...))QHelpEngine::~QHelpEngine +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QHelpEngine + size=32 align=8 + base size=32 base align=8 +QHelpEngine (0x0x7f56aaa9fdd0) 0 + vptr=((& QHelpEngine::_ZTV11QHelpEngine) + 16) + QHelpEngineCore (0x0x7f56aaa9fe38) 0 + primary-for QHelpEngine (0x0x7f56aaa9fdd0) + QObject (0x0x7f56aaaa1d80) 0 + primary-for QHelpEngineCore (0x0x7f56aaa9fe38) + +Class QHelpFilterData + size=8 align=8 + base size=8 base align=8 +QHelpFilterData (0x0x7f56aaaa1f00) 0 + +Class QHelpFilterEngine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpFilterEngine::QPrivateSignal (0x0x7f56aaae30c0) 0 empty + +Vtable for QHelpFilterEngine +QHelpFilterEngine::_ZTV17QHelpFilterEngine: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QHelpFilterEngine) +16 (int (*)(...))QHelpFilterEngine::metaObject +24 (int (*)(...))QHelpFilterEngine::qt_metacast +32 (int (*)(...))QHelpFilterEngine::qt_metacall +40 (int (*)(...))QHelpFilterEngine::~QHelpFilterEngine +48 (int (*)(...))QHelpFilterEngine::~QHelpFilterEngine +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QHelpFilterEngine + size=24 align=8 + base size=24 base align=8 +QHelpFilterEngine (0x0x7f56aaa9fea0) 0 + vptr=((& QHelpFilterEngine::_ZTV17QHelpFilterEngine) + 16) + QObject (0x0x7f56aaae3060) 0 + primary-for QHelpFilterEngine (0x0x7f56aaa9fea0) + +Class QHelpIndexModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpIndexModel::QPrivateSignal (0x0x7f56aaae3240) 0 empty + +Vtable for QHelpIndexModel +QHelpIndexModel::_ZTV15QHelpIndexModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QHelpIndexModel) +16 (int (*)(...))QHelpIndexModel::metaObject +24 (int (*)(...))QHelpIndexModel::qt_metacast +32 (int (*)(...))QHelpIndexModel::qt_metacall +40 (int (*)(...))QHelpIndexModel::~QHelpIndexModel +48 (int (*)(...))QHelpIndexModel::~QHelpIndexModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractListModel::index +120 (int (*)(...))QAbstractListModel::parent +128 (int (*)(...))QStringListModel::sibling +136 (int (*)(...))QStringListModel::rowCount +144 (int (*)(...))QAbstractListModel::columnCount +152 (int (*)(...))QAbstractListModel::hasChildren +160 (int (*)(...))QStringListModel::data +168 (int (*)(...))QStringListModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QStringListModel::itemData +200 (int (*)(...))QStringListModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractListModel::dropMimeData +240 (int (*)(...))QStringListModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QStringListModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QStringListModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QStringListModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QStringListModel::flags +328 (int (*)(...))QStringListModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QHelpIndexModel + size=32 align=8 + base size=32 base align=8 +QHelpIndexModel (0x0x7f56aaa9ff08) 0 + vptr=((& QHelpIndexModel::_ZTV15QHelpIndexModel) + 16) + QStringListModel (0x0x7f56aaa9ff70) 0 + primary-for QHelpIndexModel (0x0x7f56aaa9ff08) + QAbstractListModel (0x0x7f56aaae9000) 0 + primary-for QStringListModel (0x0x7f56aaa9ff70) + QAbstractItemModel (0x0x7f56aaae9068) 0 + primary-for QAbstractListModel (0x0x7f56aaae9000) + QObject (0x0x7f56aaae31e0) 0 + primary-for QAbstractItemModel (0x0x7f56aaae9068) + +Class QHelpIndexWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpIndexWidget::QPrivateSignal (0x0x7f56aaae3420) 0 empty + +Vtable for QHelpIndexWidget +QHelpIndexWidget::_ZTV16QHelpIndexWidget: 106 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QHelpIndexWidget) +16 (int (*)(...))QHelpIndexWidget::metaObject +24 (int (*)(...))QHelpIndexWidget::qt_metacast +32 (int (*)(...))QHelpIndexWidget::qt_metacall +40 (int (*)(...))QHelpIndexWidget::~QHelpIndexWidget +48 (int (*)(...))QHelpIndexWidget::~QHelpIndexWidget +56 (int (*)(...))QListView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QListView::scrollContentsBy +456 (int (*)(...))QListView::viewportSizeHint +464 (int (*)(...))QAbstractItemView::setModel +472 (int (*)(...))QAbstractItemView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QListView::visualRect +496 (int (*)(...))QListView::scrollTo +504 (int (*)(...))QListView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QListView::reset +536 (int (*)(...))QListView::setRootIndex +544 (int (*)(...))QListView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QListView::dataChanged +568 (int (*)(...))QListView::rowsInserted +576 (int (*)(...))QListView::rowsAboutToBeRemoved +584 (int (*)(...))QListView::selectionChanged +592 (int (*)(...))QListView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QListView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QListView::moveCursor +688 (int (*)(...))QListView::horizontalOffset +696 (int (*)(...))QListView::verticalOffset +704 (int (*)(...))QListView::isIndexHidden +712 (int (*)(...))QListView::setSelection +720 (int (*)(...))QListView::visualRegionForSelection +728 (int (*)(...))QListView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QListView::startDrag +760 (int (*)(...))QListView::viewOptions +768 (int (*)(...))-16 +776 (int (*)(...))(& _ZTI16QHelpIndexWidget) +784 (int (*)(...))QHelpIndexWidget::_ZThn16_N16QHelpIndexWidgetD1Ev +792 (int (*)(...))QHelpIndexWidget::_ZThn16_N16QHelpIndexWidgetD0Ev +800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QHelpIndexWidget + size=48 align=8 + base size=48 base align=8 +QHelpIndexWidget (0x0x7f56aaae90d0) 0 + vptr=((& QHelpIndexWidget::_ZTV16QHelpIndexWidget) + 16) + QListView (0x0x7f56aaae9138) 0 + primary-for QHelpIndexWidget (0x0x7f56aaae90d0) + QAbstractItemView (0x0x7f56aaae91a0) 0 + primary-for QListView (0x0x7f56aaae9138) + QAbstractScrollArea (0x0x7f56aaae9208) 0 + primary-for QAbstractItemView (0x0x7f56aaae91a0) + QFrame (0x0x7f56aaae9270) 0 + primary-for QAbstractScrollArea (0x0x7f56aaae9208) + QWidget (0x0x7f56b1f84cb0) 0 + primary-for QFrame (0x0x7f56aaae9270) + QObject (0x0x7f56aaae3360) 0 + primary-for QWidget (0x0x7f56b1f84cb0) + QPaintDevice (0x0x7f56aaae33c0) 16 + vptr=((& QHelpIndexWidget::_ZTV16QHelpIndexWidget) + 784) + +Class QHelpSearchQuery + size=16 align=8 + base size=16 base align=8 +QHelpSearchQuery (0x0x7f56aaae3540) 0 + +Class QHelpSearchResult + size=8 align=8 + base size=8 base align=8 +QHelpSearchResult (0x0x7f56aaae3900) 0 + +Class QHelpSearchEngine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpSearchEngine::QPrivateSignal (0x0x7f56aaae3a20) 0 empty + +Vtable for QHelpSearchEngine +QHelpSearchEngine::_ZTV17QHelpSearchEngine: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QHelpSearchEngine) +16 (int (*)(...))QHelpSearchEngine::metaObject +24 (int (*)(...))QHelpSearchEngine::qt_metacast +32 (int (*)(...))QHelpSearchEngine::qt_metacall +40 (int (*)(...))QHelpSearchEngine::~QHelpSearchEngine +48 (int (*)(...))QHelpSearchEngine::~QHelpSearchEngine +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QHelpSearchEngine + size=24 align=8 + base size=24 base align=8 +QHelpSearchEngine (0x0x7f56aaae92d8) 0 + vptr=((& QHelpSearchEngine::_ZTV17QHelpSearchEngine) + 16) + QObject (0x0x7f56aaae39c0) 0 + primary-for QHelpSearchEngine (0x0x7f56aaae92d8) + +Class QHelpSearchQueryWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpSearchQueryWidget::QPrivateSignal (0x0x7f56aaae3c00) 0 empty + +Vtable for QHelpSearchQueryWidget +QHelpSearchQueryWidget::_ZTV22QHelpSearchQueryWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QHelpSearchQueryWidget) +16 (int (*)(...))QHelpSearchQueryWidget::metaObject +24 (int (*)(...))QHelpSearchQueryWidget::qt_metacast +32 (int (*)(...))QHelpSearchQueryWidget::qt_metacall +40 (int (*)(...))QHelpSearchQueryWidget::~QHelpSearchQueryWidget +48 (int (*)(...))QHelpSearchQueryWidget::~QHelpSearchQueryWidget +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QHelpSearchQueryWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QHelpSearchQueryWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI22QHelpSearchQueryWidget) +448 (int (*)(...))QHelpSearchQueryWidget::_ZThn16_N22QHelpSearchQueryWidgetD1Ev +456 (int (*)(...))QHelpSearchQueryWidget::_ZThn16_N22QHelpSearchQueryWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QHelpSearchQueryWidget + size=56 align=8 + base size=56 base align=8 +QHelpSearchQueryWidget (0x0x7f56aaae9340) 0 + vptr=((& QHelpSearchQueryWidget::_ZTV22QHelpSearchQueryWidget) + 16) + QWidget (0x0x7f56b1fc3380) 0 + primary-for QHelpSearchQueryWidget (0x0x7f56aaae9340) + QObject (0x0x7f56aaae3b40) 0 + primary-for QWidget (0x0x7f56b1fc3380) + QPaintDevice (0x0x7f56aaae3ba0) 16 + vptr=((& QHelpSearchQueryWidget::_ZTV22QHelpSearchQueryWidget) + 448) + +Class QHelpSearchResultWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHelpSearchResultWidget::QPrivateSignal (0x0x7f56aaae3de0) 0 empty + +Vtable for QHelpSearchResultWidget +QHelpSearchResultWidget::_ZTV23QHelpSearchResultWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QHelpSearchResultWidget) +16 (int (*)(...))QHelpSearchResultWidget::metaObject +24 (int (*)(...))QHelpSearchResultWidget::qt_metacast +32 (int (*)(...))QHelpSearchResultWidget::qt_metacall +40 (int (*)(...))QHelpSearchResultWidget::~QHelpSearchResultWidget +48 (int (*)(...))QHelpSearchResultWidget::~QHelpSearchResultWidget +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QHelpSearchResultWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI23QHelpSearchResultWidget) +448 (int (*)(...))QHelpSearchResultWidget::_ZThn16_N23QHelpSearchResultWidgetD1Ev +456 (int (*)(...))QHelpSearchResultWidget::_ZThn16_N23QHelpSearchResultWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QHelpSearchResultWidget + size=56 align=8 + base size=56 base align=8 +QHelpSearchResultWidget (0x0x7f56aaae93a8) 0 + vptr=((& QHelpSearchResultWidget::_ZTV23QHelpSearchResultWidget) + 16) + QWidget (0x0x7f56b1fc34d0) 0 + primary-for QHelpSearchResultWidget (0x0x7f56aaae93a8) + QObject (0x0x7f56aaae3d20) 0 + primary-for QWidget (0x0x7f56b1fc34d0) + QPaintDevice (0x0x7f56aaae3d80) 16 + vptr=((& QHelpSearchResultWidget::_ZTV23QHelpSearchResultWidget) + 448) + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aab1f1e0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aab1f540) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aab1f720) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aab1fa80) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aab1fc60) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aab34000) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aab341e0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aab34540) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aab34720) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aab34a80) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aab34c60) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aab49000) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aab491e0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aab49540) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aab49720) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aab49a80) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aab5cf60) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aa769300) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aa769480) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aa7697e0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aa769960) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aa769cc0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aa769e40) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aa7791e0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aa779360) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aa7796c0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aa779840) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aa779ba0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aa779d20) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aa7880c0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f56aa788240) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f56aa7885a0) 0 empty + diff --git a/tests/auto/bic/data/QtUiTools.5.14.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtUiTools.5.14.0.linux-gcc-amd64.txt new file mode 100644 index 000000000..441206bf9 --- /dev/null +++ b/tests/auto/bic/data/QtUiTools.5.14.0.linux-gcc-amd64.txt @@ -0,0 +1,19649 @@ +Class std::__failure_type + size=1 align=1 + base size=0 base align=1 +std::__failure_type (0x0x7fad76ce7c00) 0 empty + +Class std::__do_is_destructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_destructible_impl (0x0x7fad76d7b3c0) 0 empty + +Class std::__do_is_nt_destructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_nt_destructible_impl (0x0x7fad76d7b600) 0 empty + +Class std::__do_is_default_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_default_constructible_impl (0x0x7fad76d7b840) 0 empty + +Class std::__do_is_static_castable_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_static_castable_impl (0x0x7fad76d7ba80) 0 empty + +Class std::__do_is_direct_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_direct_constructible_impl (0x0x7fad76d7bc00) 0 empty + +Class std::__do_is_nary_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_nary_constructible_impl (0x0x7fad76db7000) 0 empty + +Class std::__do_is_implicitly_default_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_implicitly_default_constructible_impl (0x0x7fad76de7120) 0 empty + +Class std::__do_common_type_impl + size=1 align=1 + base size=0 base align=1 +std::__do_common_type_impl (0x0x7fad76e3a7e0) 0 empty + +Class std::__do_member_type_wrapper + size=1 align=1 + base size=0 base align=1 +std::__do_member_type_wrapper (0x0x7fad76e3a8a0) 0 empty + +Class std::__invoke_memfun_ref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memfun_ref (0x0x7fad76e3ac60) 0 empty + +Class std::__invoke_memfun_deref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memfun_deref (0x0x7fad76e3acc0) 0 empty + +Class std::__invoke_memobj_ref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memobj_ref (0x0x7fad76e3ad20) 0 empty + +Class std::__invoke_memobj_deref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memobj_deref (0x0x7fad76e3ad80) 0 empty + +Class std::__invoke_other + size=1 align=1 + base size=0 base align=1 +std::__invoke_other (0x0x7fad76e3ade0) 0 empty + +Class std::__result_of_memfun_ref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memfun_ref_impl (0x0x7fad76e3aea0) 0 empty + +Class std::__result_of_memfun_deref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memfun_deref_impl (0x0x7fad76e3af60) 0 empty + +Class std::__result_of_memobj_ref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memobj_ref_impl (0x0x7fad76e6e060) 0 empty + +Class std::__result_of_memobj_deref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memobj_deref_impl (0x0x7fad76e6e120) 0 empty + +Class std::__result_of_other_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_other_impl (0x0x7fad76e6e480) 0 empty + +Class std::__swappable_details::__do_is_swappable_impl + size=1 align=1 + base size=0 base align=1 +std::__swappable_details::__do_is_swappable_impl (0x0x7fad76e6e7e0) 0 empty + +Class std::__swappable_details::__do_is_nothrow_swappable_impl + size=1 align=1 + base size=0 base align=1 +std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7fad76e6e840) 0 empty + +Class std::__nonesuch + size=1 align=1 + base size=0 base align=1 +std::__nonesuch (0x0x7fad76e6ede0) 0 empty + +Class std::piecewise_construct_t + size=1 align=1 + base size=0 base align=1 +std::piecewise_construct_t (0x0x7fad76eb9480) 0 empty + +Class std::__nonesuch_no_braces + size=1 align=1 + base size=1 base align=1 +std::__nonesuch_no_braces (0x0x7fad76e698f0) 0 empty + std::__nonesuch (0x0x7fad76eb9960) 0 empty + +Class std::__true_type + size=1 align=1 + base size=0 base align=1 +std::__true_type (0x0x7fad76f39300) 0 empty + +Class std::__false_type + size=1 align=1 + base size=0 base align=1 +std::__false_type (0x0x7fad76f39360) 0 empty + +Class std::input_iterator_tag + size=1 align=1 + base size=0 base align=1 +std::input_iterator_tag (0x0x7fad76596060) 0 empty + +Class std::output_iterator_tag + size=1 align=1 + base size=0 base align=1 +std::output_iterator_tag (0x0x7fad765960c0) 0 empty + +Class std::forward_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::forward_iterator_tag (0x0x7fad76e69dd0) 0 empty + std::input_iterator_tag (0x0x7fad76596120) 0 empty + +Class std::bidirectional_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::bidirectional_iterator_tag (0x0x7fad76e69e38) 0 empty + std::forward_iterator_tag (0x0x7fad76e69ea0) 0 empty + std::input_iterator_tag (0x0x7fad76596180) 0 empty + +Class std::random_access_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::random_access_iterator_tag (0x0x7fad76e69f08) 0 empty + std::bidirectional_iterator_tag (0x0x7fad76e69f70) 0 empty + std::forward_iterator_tag (0x0x7fad76598000) 0 empty + std::input_iterator_tag (0x0x7fad765961e0) 0 empty + +Class __gnu_cxx::__ops::_Iter_less_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_less_iter (0x0x7fad76623cc0) 0 empty + +Class __gnu_cxx::__ops::_Iter_less_val + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_less_val (0x0x7fad76623de0) 0 empty + +Class __gnu_cxx::__ops::_Val_less_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Val_less_iter (0x0x7fad76647120) 0 empty + +Class __gnu_cxx::__ops::_Iter_equal_to_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7fad76647420) 0 empty + +Class __gnu_cxx::__ops::_Iter_equal_to_val + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7fad76647540) 0 empty + +Class __locale_struct + size=232 align=8 + base size=232 base align=8 +__locale_struct (0x0x7fad766d3840) 0 + +Class timeval + size=16 align=8 + base size=16 base align=8 +timeval (0x0x7fad766d3b40) 0 + +Class timespec + size=16 align=8 + base size=16 base align=8 +timespec (0x0x7fad766d3ba0) 0 + +Class __pthread_rwlock_arch_t + size=56 align=8 + base size=56 base align=8 +__pthread_rwlock_arch_t (0x0x7fad766d3c60) 0 + +Class __pthread_internal_list + size=16 align=8 + base size=16 base align=8 +__pthread_internal_list (0x0x7fad766d3cc0) 0 + +Class __pthread_mutex_s + size=40 align=8 + base size=40 base align=8 +__pthread_mutex_s (0x0x7fad766d3d20) 0 + +Class __pthread_cond_s + size=48 align=8 + base size=48 base align=8 +__pthread_cond_s (0x0x7fad766d3d80) 0 + +Class pthread_attr_t + size=56 align=8 + base size=56 base align=8 +pthread_attr_t (0x0x7fad76715060) 0 + +Class random_data + size=48 align=8 + base size=48 base align=8 +random_data (0x0x7fad76715300) 0 + +Class drand48_data + size=24 align=8 + base size=24 base align=8 +drand48_data (0x0x7fad76715360) 0 + +Vtable for std::exception +std::exception::_ZTVSt9exception: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9exception) +16 (int (*)(...))std::exception::~exception +24 (int (*)(...))std::exception::~exception +32 (int (*)(...))std::exception::what + +Class std::exception + size=8 align=8 + base size=8 base align=8 +std::exception (0x0x7fad763cf120) 0 nearly-empty + vptr=((& std::exception::_ZTVSt9exception) + 16) + +Vtable for std::bad_exception +std::bad_exception::_ZTVSt13bad_exception: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt13bad_exception) +16 (int (*)(...))std::bad_exception::~bad_exception +24 (int (*)(...))std::bad_exception::~bad_exception +32 (int (*)(...))std::bad_exception::what + +Class std::bad_exception + size=8 align=8 + base size=8 base align=8 +std::bad_exception (0x0x7fad76598340) 0 nearly-empty + vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16) + std::exception (0x0x7fad763cf300) 0 nearly-empty + primary-for std::bad_exception (0x0x7fad76598340) + +Vtable for std::type_info +std::type_info::_ZTVSt9type_info: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9type_info) +16 (int (*)(...))std::type_info::~type_info +24 (int (*)(...))std::type_info::~type_info +32 (int (*)(...))std::type_info::__is_pointer_p +40 (int (*)(...))std::type_info::__is_function_p +48 (int (*)(...))std::type_info::__do_catch +56 (int (*)(...))std::type_info::__do_upcast + +Class std::type_info + size=16 align=8 + base size=16 base align=8 +std::type_info (0x0x7fad763cf4e0) 0 + vptr=((& std::type_info::_ZTVSt9type_info) + 16) + +Vtable for std::bad_cast +std::bad_cast::_ZTVSt8bad_cast: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt8bad_cast) +16 (int (*)(...))std::bad_cast::~bad_cast +24 (int (*)(...))std::bad_cast::~bad_cast +32 (int (*)(...))std::bad_cast::what + +Class std::bad_cast + size=8 align=8 + base size=8 base align=8 +std::bad_cast (0x0x7fad765983a8) 0 nearly-empty + vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16) + std::exception (0x0x7fad763cf8a0) 0 nearly-empty + primary-for std::bad_cast (0x0x7fad765983a8) + +Vtable for std::bad_typeid +std::bad_typeid::_ZTVSt10bad_typeid: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt10bad_typeid) +16 (int (*)(...))std::bad_typeid::~bad_typeid +24 (int (*)(...))std::bad_typeid::~bad_typeid +32 (int (*)(...))std::bad_typeid::what + +Class std::bad_typeid + size=8 align=8 + base size=8 base align=8 +std::bad_typeid (0x0x7fad76598410) 0 nearly-empty + vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16) + std::exception (0x0x7fad763cfa80) 0 nearly-empty + primary-for std::bad_typeid (0x0x7fad76598410) + +Class std::__exception_ptr::exception_ptr + size=8 align=8 + base size=8 base align=8 +std::__exception_ptr::exception_ptr (0x0x7fad763cfc60) 0 + +Vtable for std::nested_exception +std::nested_exception::_ZTVSt16nested_exception: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt16nested_exception) +16 (int (*)(...))std::nested_exception::~nested_exception +24 (int (*)(...))std::nested_exception::~nested_exception + +Class std::nested_exception + size=16 align=8 + base size=16 base align=8 +std::nested_exception (0x0x7fad76403240) 0 + vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16) + +Vtable for std::bad_alloc +std::bad_alloc::_ZTVSt9bad_alloc: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9bad_alloc) +16 (int (*)(...))std::bad_alloc::~bad_alloc +24 (int (*)(...))std::bad_alloc::~bad_alloc +32 (int (*)(...))std::bad_alloc::what + +Class std::bad_alloc + size=8 align=8 + base size=8 base align=8 +std::bad_alloc (0x0x7fad76598478) 0 nearly-empty + vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16) + std::exception (0x0x7fad76403900) 0 nearly-empty + primary-for std::bad_alloc (0x0x7fad76598478) + +Vtable for std::bad_array_new_length +std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt20bad_array_new_length) +16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length +24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length +32 (int (*)(...))std::bad_array_new_length::what + +Class std::bad_array_new_length + size=8 align=8 + base size=8 base align=8 +std::bad_array_new_length (0x0x7fad765984e0) 0 nearly-empty + vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16) + std::bad_alloc (0x0x7fad76598548) 0 nearly-empty + primary-for std::bad_array_new_length (0x0x7fad765984e0) + std::exception (0x0x7fad76403ae0) 0 nearly-empty + primary-for std::bad_alloc (0x0x7fad76598548) + +Class std::nothrow_t + size=1 align=1 + base size=0 base align=1 +std::nothrow_t (0x0x7fad76403cc0) 0 empty + +Class std::__allocator_traits_base + size=1 align=1 + base size=0 base align=1 +std::__allocator_traits_base (0x0x7fad76403ea0) 0 empty + +Class std::__numeric_limits_base + size=1 align=1 + base size=0 base align=1 +std::__numeric_limits_base (0x0x7fad764a93c0) 0 empty + +Class QSysInfo + size=1 align=1 + base size=0 base align=1 +QSysInfo (0x0x7fad76123900) 0 empty + +Class QMessageLogContext + size=32 align=8 + base size=32 base align=8 +QMessageLogContext (0x0x7fad76123a20) 0 + +Class QMessageLogger + size=32 align=8 + base size=32 base align=8 +QMessageLogger (0x0x7fad76123c00) 0 + +Class QFlag + size=4 align=4 + base size=4 base align=4 +QFlag (0x0x7fad75d5f300) 0 + +Class QIncompatibleFlag + size=4 align=4 + base size=4 base align=4 +QIncompatibleFlag (0x0x7fad75d99a80) 0 + +Class std::__atomic_flag_base + size=1 align=1 + base size=1 base align=1 +std::__atomic_flag_base (0x0x7fad75e35f60) 0 + +Class std::atomic_flag + size=1 align=1 + base size=1 base align=1 +std::atomic_flag (0x0x7fad75de83a8) 0 + std::__atomic_flag_base (0x0x7fad75e50000) 0 + +Class QAtomicInt + size=4 align=4 + base size=4 base align=4 +QAtomicInt (0x0x7fad75de8af8) 0 + QAtomicInteger (0x0x7fad75de8b60) 0 + QBasicAtomicInteger (0x0x7fad7597e240) 0 + +Class QInternal + size=1 align=1 + base size=0 base align=1 +QInternal (0x0x7fad755bbd80) 0 empty + +Class QtPrivate::QSlotObjectBase + size=16 align=8 + base size=16 base align=8 +QtPrivate::QSlotObjectBase (0x0x7fad75623360) 0 + +Class QGenericArgument + size=16 align=8 + base size=16 base align=8 +QGenericArgument (0x0x7fad75623a80) 0 + +Class QGenericReturnArgument + size=16 align=8 + base size=16 base align=8 +QGenericReturnArgument (0x0x7fad759097b8) 0 + QGenericArgument (0x0x7fad75623d20) 0 + +Class QMetaObject::SuperData + size=8 align=8 + base size=8 base align=8 +QMetaObject::SuperData (0x0x7fad7565e1e0) 0 + +Class QMetaObject + size=48 align=8 + base size=48 base align=8 +QMetaObject (0x0x7fad7565e180) 0 + +Class QMetaObject::Connection + size=8 align=8 + base size=8 base align=8 +QMetaObject::Connection (0x0x7fad7565ea80) 0 + +Class QLatin1Char + size=1 align=1 + base size=1 base align=1 +QLatin1Char (0x0x7fad757145a0) 0 + +Class QChar + size=2 align=2 + base size=2 base align=2 +QChar (0x0x7fad75714cc0) 0 + +Class QtPrivate::RefCount + size=4 align=4 + base size=4 base align=4 +QtPrivate::RefCount (0x0x7fad753dfae0) 0 + +Class QArrayData + size=24 align=8 + base size=24 base align=8 +QArrayData (0x0x7fad753dfe40) 0 + +Class QtPrivate::QContainerImplHelper + size=1 align=1 + base size=0 base align=1 +QtPrivate::QContainerImplHelper (0x0x7fad75468180) 0 empty + +Class lconv + size=96 align=8 + base size=96 base align=8 +lconv (0x0x7fad7551d9c0) 0 + +Vtable for __cxxabiv1::__forced_unwind +__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class __cxxabiv1::__forced_unwind + size=8 align=8 + base size=8 base align=8 +__cxxabiv1::__forced_unwind (0x0x7fad7551da80) 0 nearly-empty + vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16) + +Class sched_param + size=4 align=4 + base size=4 base align=4 +sched_param (0x0x7fad751e1ba0) 0 + +Class timex + size=208 align=8 + base size=208 base align=8 +timex (0x0x7fad751e1c60) 0 + +Class tm + size=56 align=8 + base size=56 base align=8 +tm (0x0x7fad751e1cc0) 0 + +Class itimerspec + size=32 align=8 + base size=32 base align=8 +itimerspec (0x0x7fad751e1d20) 0 + +Class _pthread_cleanup_buffer + size=32 align=8 + base size=32 base align=8 +_pthread_cleanup_buffer (0x0x7fad751e1d80) 0 + +Class __pthread_cleanup_frame + size=24 align=8 + base size=24 base align=8 +__pthread_cleanup_frame (0x0x7fad751e1ea0) 0 + +Class __pthread_cleanup_class + size=24 align=8 + base size=24 base align=8 +__pthread_cleanup_class (0x0x7fad751e1f00) 0 + +Class _IO_marker + size=24 align=8 + base size=24 base align=8 +_IO_marker (0x0x7fad7531fea0) 0 + +Class _IO_FILE + size=216 align=8 + base size=216 base align=8 +_IO_FILE (0x0x7fad7531ff00) 0 + +Class std::_Hash_impl + size=1 align=1 + base size=0 base align=1 +std::_Hash_impl (0x0x7fad750e5f60) 0 empty + +Class std::_Fnv_hash_impl + size=1 align=1 + base size=0 base align=1 +std::_Fnv_hash_impl (0x0x7fad75105120) 0 empty + +Class std::locale + size=8 align=8 + base size=8 base align=8 +std::locale (0x0x7fad74e8e2a0) 0 + +Vtable for std::locale::facet +std::locale::facet::_ZTVNSt6locale5facetE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt6locale5facetE) +16 (int (*)(...))std::locale::facet::~facet +24 (int (*)(...))std::locale::facet::~facet + +Class std::locale::facet + size=16 align=8 + base size=12 base align=8 +std::locale::facet (0x0x7fad74e8e660) 0 + vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16) + +Class std::locale::id + size=8 align=8 + base size=8 base align=8 +std::locale::id (0x0x7fad74e8e900) 0 + +Class std::locale::_Impl + size=40 align=8 + base size=40 base align=8 +std::locale::_Impl (0x0x7fad74e8eae0) 0 + +Class std::__cow_string + size=8 align=8 + base size=8 base align=8 +std::__cow_string (0x0x7fad74ed8ae0) 0 + +Vtable for std::logic_error +std::logic_error::_ZTVSt11logic_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt11logic_error) +16 (int (*)(...))std::logic_error::~logic_error +24 (int (*)(...))std::logic_error::~logic_error +32 (int (*)(...))std::logic_error::what + +Class std::logic_error + size=16 align=8 + base size=16 base align=8 +std::logic_error (0x0x7fad74dab820) 0 + vptr=((& std::logic_error::_ZTVSt11logic_error) + 16) + std::exception (0x0x7fad74ed8ba0) 0 nearly-empty + primary-for std::logic_error (0x0x7fad74dab820) + +Vtable for std::domain_error +std::domain_error::_ZTVSt12domain_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12domain_error) +16 (int (*)(...))std::domain_error::~domain_error +24 (int (*)(...))std::domain_error::~domain_error +32 (int (*)(...))std::logic_error::what + +Class std::domain_error + size=16 align=8 + base size=16 base align=8 +std::domain_error (0x0x7fad74dab888) 0 + vptr=((& std::domain_error::_ZTVSt12domain_error) + 16) + std::logic_error (0x0x7fad74dab8f0) 0 + primary-for std::domain_error (0x0x7fad74dab888) + std::exception (0x0x7fad74ed8c00) 0 nearly-empty + primary-for std::logic_error (0x0x7fad74dab8f0) + +Vtable for std::invalid_argument +std::invalid_argument::_ZTVSt16invalid_argument: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt16invalid_argument) +16 (int (*)(...))std::invalid_argument::~invalid_argument +24 (int (*)(...))std::invalid_argument::~invalid_argument +32 (int (*)(...))std::logic_error::what + +Class std::invalid_argument + size=16 align=8 + base size=16 base align=8 +std::invalid_argument (0x0x7fad74dab958) 0 + vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16) + std::logic_error (0x0x7fad74dab9c0) 0 + primary-for std::invalid_argument (0x0x7fad74dab958) + std::exception (0x0x7fad74ed8c60) 0 nearly-empty + primary-for std::logic_error (0x0x7fad74dab9c0) + +Vtable for std::length_error +std::length_error::_ZTVSt12length_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12length_error) +16 (int (*)(...))std::length_error::~length_error +24 (int (*)(...))std::length_error::~length_error +32 (int (*)(...))std::logic_error::what + +Class std::length_error + size=16 align=8 + base size=16 base align=8 +std::length_error (0x0x7fad74daba28) 0 + vptr=((& std::length_error::_ZTVSt12length_error) + 16) + std::logic_error (0x0x7fad74daba90) 0 + primary-for std::length_error (0x0x7fad74daba28) + std::exception (0x0x7fad74ed8cc0) 0 nearly-empty + primary-for std::logic_error (0x0x7fad74daba90) + +Vtable for std::out_of_range +std::out_of_range::_ZTVSt12out_of_range: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12out_of_range) +16 (int (*)(...))std::out_of_range::~out_of_range +24 (int (*)(...))std::out_of_range::~out_of_range +32 (int (*)(...))std::logic_error::what + +Class std::out_of_range + size=16 align=8 + base size=16 base align=8 +std::out_of_range (0x0x7fad74dabaf8) 0 + vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16) + std::logic_error (0x0x7fad74dabb60) 0 + primary-for std::out_of_range (0x0x7fad74dabaf8) + std::exception (0x0x7fad74ed8d20) 0 nearly-empty + primary-for std::logic_error (0x0x7fad74dabb60) + +Vtable for std::runtime_error +std::runtime_error::_ZTVSt13runtime_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt13runtime_error) +16 (int (*)(...))std::runtime_error::~runtime_error +24 (int (*)(...))std::runtime_error::~runtime_error +32 (int (*)(...))std::runtime_error::what + +Class std::runtime_error + size=16 align=8 + base size=16 base align=8 +std::runtime_error (0x0x7fad74dabbc8) 0 + vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16) + std::exception (0x0x7fad74ed8d80) 0 nearly-empty + primary-for std::runtime_error (0x0x7fad74dabbc8) + +Vtable for std::range_error +std::range_error::_ZTVSt11range_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt11range_error) +16 (int (*)(...))std::range_error::~range_error +24 (int (*)(...))std::range_error::~range_error +32 (int (*)(...))std::runtime_error::what + +Class std::range_error + size=16 align=8 + base size=16 base align=8 +std::range_error (0x0x7fad74dabc30) 0 + vptr=((& std::range_error::_ZTVSt11range_error) + 16) + std::runtime_error (0x0x7fad74dabc98) 0 + primary-for std::range_error (0x0x7fad74dabc30) + std::exception (0x0x7fad74ed8de0) 0 nearly-empty + primary-for std::runtime_error (0x0x7fad74dabc98) + +Vtable for std::overflow_error +std::overflow_error::_ZTVSt14overflow_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt14overflow_error) +16 (int (*)(...))std::overflow_error::~overflow_error +24 (int (*)(...))std::overflow_error::~overflow_error +32 (int (*)(...))std::runtime_error::what + +Class std::overflow_error + size=16 align=8 + base size=16 base align=8 +std::overflow_error (0x0x7fad74dabd00) 0 + vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16) + std::runtime_error (0x0x7fad74dabd68) 0 + primary-for std::overflow_error (0x0x7fad74dabd00) + std::exception (0x0x7fad74ed8e40) 0 nearly-empty + primary-for std::runtime_error (0x0x7fad74dabd68) + +Vtable for std::underflow_error +std::underflow_error::_ZTVSt15underflow_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt15underflow_error) +16 (int (*)(...))std::underflow_error::~underflow_error +24 (int (*)(...))std::underflow_error::~underflow_error +32 (int (*)(...))std::runtime_error::what + +Class std::underflow_error + size=16 align=8 + base size=16 base align=8 +std::underflow_error (0x0x7fad74dabdd0) 0 + vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16) + std::runtime_error (0x0x7fad74dabe38) 0 + primary-for std::underflow_error (0x0x7fad74dabdd0) + std::exception (0x0x7fad74ed8ea0) 0 nearly-empty + primary-for std::runtime_error (0x0x7fad74dabe38) + +Vtable for std::_V2::error_category +std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt3_V214error_categoryE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))std::_V2::error_category::_M_message +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))std::_V2::error_category::default_error_condition +64 (int (*)(...))std::_V2::error_category::equivalent +72 (int (*)(...))std::_V2::error_category::equivalent + +Class std::_V2::error_category + size=8 align=8 + base size=8 base align=8 +std::_V2::error_category (0x0x7fad74f3c060) 0 nearly-empty + vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16) + +Class std::error_code + size=16 align=8 + base size=16 base align=8 +std::error_code (0x0x7fad74f3c3c0) 0 + +Class std::error_condition + size=16 align=8 + base size=16 base align=8 +std::error_condition (0x0x7fad74f3cc00) 0 + +Vtable for std::system_error +std::system_error::_ZTVSt12system_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12system_error) +16 (int (*)(...))std::system_error::~system_error +24 (int (*)(...))std::system_error::~system_error +32 (int (*)(...))std::runtime_error::what + +Class std::system_error + size=32 align=8 + base size=32 base align=8 +std::system_error (0x0x7fad74b791a0) 0 + vptr=((& std::system_error::_ZTVSt12system_error) + 16) + std::runtime_error (0x0x7fad74b79208) 0 + primary-for std::system_error (0x0x7fad74b791a0) + std::exception (0x0x7fad74b707e0) 0 nearly-empty + primary-for std::runtime_error (0x0x7fad74b79208) + +Vtable for std::ios_base::failure +std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E) +16 (int (*)(...))std::ios_base::failure::~failure +24 (int (*)(...))std::ios_base::failure::~failure +32 (int (*)(...))std::ios_base::failure::what + +Class std::ios_base::failure + size=32 align=8 + base size=32 base align=8 +std::ios_base::failure (0x0x7fad74b79478) 0 + vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16) + std::system_error (0x0x7fad74b794e0) 0 + primary-for std::ios_base::failure (0x0x7fad74b79478) + std::runtime_error (0x0x7fad74b79548) 0 + primary-for std::system_error (0x0x7fad74b794e0) + std::exception (0x0x7fad74ba6d80) 0 nearly-empty + primary-for std::runtime_error (0x0x7fad74b79548) + +Class std::ios_base::_Callback_list + size=24 align=8 + base size=24 base align=8 +std::ios_base::_Callback_list (0x0x7fad74ba6de0) 0 + +Class std::ios_base::_Words + size=16 align=8 + base size=16 base align=8 +std::ios_base::_Words (0x0x7fad74ba6e40) 0 + +Class std::ios_base::Init + size=1 align=1 + base size=0 base align=1 +std::ios_base::Init (0x0x7fad74ba6ea0) 0 empty + +Vtable for std::ios_base +std::ios_base::_ZTVSt8ios_base: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt8ios_base) +16 (int (*)(...))std::ios_base::~ios_base +24 (int (*)(...))std::ios_base::~ios_base + +Class std::ios_base + size=216 align=8 + base size=216 base align=8 +std::ios_base (0x0x7fad74ba6d20) 0 + vptr=((& std::ios_base::_ZTVSt8ios_base) + 16) + +Class std::ctype_base + size=1 align=1 + base size=0 base align=1 +std::ctype_base (0x0x7fad74c9c7e0) 0 empty + +Class std::__num_base + size=1 align=1 + base size=0 base align=1 +std::__num_base (0x0x7fad7495a9c0) 0 empty + +VTT for std::basic_ostream +std::basic_ostream::_ZTTSo: 2 entries +0 ((& std::basic_ostream::_ZTVSo) + 24) +8 ((& std::basic_ostream::_ZTVSo) + 64) + +VTT for std::basic_ostream +std::basic_ostream::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries +0 ((& std::basic_ostream::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_ostream::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64) + +VTT for std::basic_istream +std::basic_istream::_ZTTSi: 2 entries +0 ((& std::basic_istream::_ZTVSi) + 24) +8 ((& std::basic_istream::_ZTVSi) + 64) + +VTT for std::basic_istream +std::basic_istream::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries +0 ((& std::basic_istream::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_istream::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64) + +Construction vtable for std::basic_istream (0x0x7fad74901c30 instance) in std::basic_iostream +std::basic_iostream::_ZTCSd0_Si: 10 entries +0 24 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISi) +24 0 +32 0 +40 18446744073709551592 +48 (int (*)(...))-24 +56 (int (*)(...))(& _ZTISi) +64 0 +72 0 + +Construction vtable for std::basic_ostream (0x0x7fad74901d00 instance) in std::basic_iostream +std::basic_iostream::_ZTCSd16_So: 10 entries +0 8 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISo) +24 0 +32 0 +40 18446744073709551608 +48 (int (*)(...))-8 +56 (int (*)(...))(& _ZTISo) +64 0 +72 0 + +VTT for std::basic_iostream +std::basic_iostream::_ZTTSd: 7 entries +0 ((& std::basic_iostream::_ZTVSd) + 24) +8 ((& std::basic_iostream::_ZTCSd0_Si) + 24) +16 ((& std::basic_iostream::_ZTCSd0_Si) + 64) +24 ((& std::basic_iostream::_ZTCSd16_So) + 24) +32 ((& std::basic_iostream::_ZTCSd16_So) + 64) +40 ((& std::basic_iostream::_ZTVSd) + 104) +48 ((& std::basic_iostream::_ZTVSd) + 64) + +Construction vtable for std::basic_istream (0x0x7fad7493f9c0 instance) in std::basic_iostream +std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries +0 24 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551592 +48 (int (*)(...))-24 +56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +64 0 +72 0 + +Construction vtable for std::basic_ostream (0x0x7fad7493fa90 instance) in std::basic_iostream +std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries +0 8 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551608 +48 (int (*)(...))-8 +56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +64 0 +72 0 + +VTT for std::basic_iostream +std::basic_iostream::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries +0 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24) +16 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64) +24 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24) +32 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64) +40 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104) +48 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64) + +Class QByteArrayDataPtr + size=8 align=8 + base size=8 base align=8 +QByteArrayDataPtr (0x0x7fad7457f360) 0 + +Class QByteArray + size=8 align=8 + base size=8 base align=8 +QByteArray (0x0x7fad7457f3c0) 0 + +Class QByteRef + size=16 align=8 + base size=12 base align=8 +QByteRef (0x0x7fad746ab780) 0 + +Class QStringDataPtr + size=8 align=8 + base size=8 base align=8 +QStringDataPtr (0x0x7fad7434a600) 0 + +Class QStringView + size=16 align=8 + base size=16 base align=8 +QStringView (0x0x7fad7434aa80) 0 + +Class QLatin1String + size=16 align=8 + base size=16 base align=8 +QLatin1String (0x0x7fad7442fb40) 0 + +Class QString::Null + size=1 align=1 + base size=0 base align=1 +QString::Null (0x0x7fad744e4ae0) 0 empty + +Class QString + size=8 align=8 + base size=8 base align=8 +QString (0x0x7fad744e49c0) 0 + +Class QCharRef + size=16 align=8 + base size=12 base align=8 +QCharRef (0x0x7fad73fa8960) 0 + +Class QStringRef + size=16 align=8 + base size=16 base align=8 +QStringRef (0x0x7fad74139540) 0 + +Class QtPrivate::ArgBase + size=1 align=1 + base size=1 base align=1 +QtPrivate::ArgBase (0x0x7fad73ecc360) 0 + +Class QtPrivate::QStringViewArg + size=24 align=8 + base size=24 base align=8 +QtPrivate::QStringViewArg (0x0x7fad73dd08f0) 0 + QtPrivate::ArgBase (0x0x7fad73ecc3c0) 0 + +Class QtPrivate::QLatin1StringArg + size=24 align=8 + base size=24 base align=8 +QtPrivate::QLatin1StringArg (0x0x7fad73dd0958) 0 + QtPrivate::ArgBase (0x0x7fad73ecc5a0) 0 + +Class std::__erased_type + size=1 align=1 + base size=0 base align=1 +std::__erased_type (0x0x7fad73b994e0) 0 empty + +Class std::allocator_arg_t + size=1 align=1 + base size=0 base align=1 +std::allocator_arg_t (0x0x7fad73b99540) 0 empty + +Class std::__uses_alloc_base + size=1 align=1 + base size=0 base align=1 +std::__uses_alloc_base (0x0x7fad73b996c0) 0 empty + +Class std::__uses_alloc0::_Sink + size=1 align=1 + base size=0 base align=1 +std::__uses_alloc0::_Sink (0x0x7fad73b99780) 0 empty + +Class std::__uses_alloc0 + size=1 align=1 + base size=1 base align=1 +std::__uses_alloc0 (0x0x7fad73dd0d00) 0 + std::__uses_alloc_base (0x0x7fad73b99720) 0 empty + +Class std::_Swallow_assign + size=1 align=1 + base size=0 base align=1 +std::_Swallow_assign (0x0x7fad73cfbae0) 0 empty + +Vtable for std::bad_function_call +std::bad_function_call::_ZTVSt17bad_function_call: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt17bad_function_call) +16 (int (*)(...))std::bad_function_call::~bad_function_call +24 (int (*)(...))std::bad_function_call::~bad_function_call +32 (int (*)(...))std::bad_function_call::what + +Class std::bad_function_call + size=8 align=8 + base size=8 base align=8 +std::bad_function_call (0x0x7fad73bc0f70) 0 nearly-empty + vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16) + std::exception (0x0x7fad73977420) 0 nearly-empty + primary-for std::bad_function_call (0x0x7fad73bc0f70) + +Class std::_Nocopy_types + size=16 align=8 + base size=16 base align=8 +std::_Nocopy_types (0x0x7fad739774e0) 0 + +Class std::_Any_data + size=16 align=8 + base size=16 base align=8 +std::_Any_data (0x0x7fad73977540) 0 + +Class std::_Function_base + size=24 align=8 + base size=24 base align=8 +std::_Function_base (0x0x7fad73977840) 0 + +Class QtPrivate::QHashCombine + size=1 align=1 + base size=0 base align=1 +QtPrivate::QHashCombine (0x0x7fad7376ecc0) 0 empty + +Class QtPrivate::QHashCombineCommutative + size=1 align=1 + base size=0 base align=1 +QtPrivate::QHashCombineCommutative (0x0x7fad7376ed80) 0 empty + +Class std::_Bit_reference + size=16 align=8 + base size=16 base align=8 +std::_Bit_reference (0x0x7fad738a24e0) 0 + +Class std::_Bit_iterator_base + size=16 align=8 + base size=12 base align=8 +std::_Bit_iterator_base (0x0x7fad737c6af8) 0 + std::iterator (0x0x7fad738a2c00) 0 empty + +Class std::_Bit_iterator + size=16 align=8 + base size=12 base align=8 +std::_Bit_iterator (0x0x7fad737c6c30) 0 + std::_Bit_iterator_base (0x0x7fad737c6c98) 0 + std::iterator (0x0x7fad738d02a0) 0 empty + +Class std::_Bit_const_iterator + size=16 align=8 + base size=12 base align=8 +std::_Bit_const_iterator (0x0x7fad737c6d00) 0 + std::_Bit_iterator_base (0x0x7fad737c6d68) 0 + std::iterator (0x0x7fad738d0a80) 0 empty + +Class std::__detail::_List_node_base + size=16 align=8 + base size=16 base align=8 +std::__detail::_List_node_base (0x0x7fad73722600) 0 + +Class QListData::NotArrayCompatibleLayout + size=1 align=1 + base size=0 base align=1 +QListData::NotArrayCompatibleLayout (0x0x7fad733eb3c0) 0 empty + +Class QListData::NotIndirectLayout + size=1 align=1 + base size=0 base align=1 +QListData::NotIndirectLayout (0x0x7fad733eb420) 0 empty + +Class QListData::ArrayCompatibleLayout + size=1 align=1 + base size=1 base align=1 +QListData::ArrayCompatibleLayout (0x0x7fad735628f0) 0 empty + QListData::NotIndirectLayout (0x0x7fad733eb480) 0 empty + +Class QListData::InlineWithPaddingLayout + size=1 align=1 + base size=1 base align=1 +QListData::InlineWithPaddingLayout (0x0x7fad733468c0) 0 empty + QListData::NotArrayCompatibleLayout (0x0x7fad733eb4e0) 0 empty + QListData::NotIndirectLayout (0x0x7fad733eb540) 0 empty + +Class QListData::IndirectLayout + size=1 align=1 + base size=1 base align=1 +QListData::IndirectLayout (0x0x7fad73562958) 0 empty + QListData::NotArrayCompatibleLayout (0x0x7fad733eb5a0) 0 empty + +Class QListData::Data + size=24 align=8 + base size=24 base align=8 +QListData::Data (0x0x7fad733eb600) 0 + +Class QListData + size=8 align=8 + base size=8 base align=8 +QListData (0x0x7fad733eb360) 0 + +Class QRegExp + size=8 align=8 + base size=8 base align=8 +QRegExp (0x0x7fad734df780) 0 + +Class QStringMatcher::Data + size=272 align=8 + base size=272 base align=8 +QStringMatcher::Data (0x0x7fad731becc0) 0 + +Class QStringMatcher + size=1048 align=8 + base size=1048 base align=8 +QStringMatcher (0x0x7fad731bec60) 0 + +Class QStringList + size=8 align=8 + base size=8 base align=8 +QStringList (0x0x7fad731cb5b0) 0 + QList (0x0x7fad731cb618) 0 + QListSpecialMethods (0x0x7fad731bef00) 0 empty + +Class QScopedPointerPodDeleter + size=1 align=1 + base size=0 base align=1 +QScopedPointerPodDeleter (0x0x7fad73287e40) 0 empty + +Class std::_Rb_tree_node_base + size=32 align=8 + base size=32 base align=8 +std::_Rb_tree_node_base (0x0x7fad72f460c0) 0 + +Class std::_Rb_tree_header + size=40 align=8 + base size=40 base align=8 +std::_Rb_tree_header (0x0x7fad72f46420) 0 + +Class QtPrivate::AbstractDebugStreamFunction + size=16 align=8 + base size=16 base align=8 +QtPrivate::AbstractDebugStreamFunction (0x0x7fad72d8aa20) 0 + +Class QtPrivate::AbstractComparatorFunction + size=24 align=8 + base size=24 base align=8 +QtPrivate::AbstractComparatorFunction (0x0x7fad72d8ad80) 0 + +Class QtPrivate::AbstractConverterFunction + size=8 align=8 + base size=8 base align=8 +QtPrivate::AbstractConverterFunction (0x0x7fad72dab300) 0 + +Class QMetaType + size=80 align=8 + base size=80 base align=8 +QMetaType (0x0x7fad72dab840) 0 + +Class QtMetaTypePrivate::VariantData + size=24 align=8 + base size=20 base align=8 +QtMetaTypePrivate::VariantData (0x0x7fad72e10a20) 0 + +Class QtMetaTypePrivate::VectorBoolElements + size=1 align=1 + base size=0 base align=1 +QtMetaTypePrivate::VectorBoolElements (0x0x7fad72e34120) 0 empty + +Class QtMetaTypePrivate::QSequentialIterableImpl + size=104 align=8 + base size=104 base align=8 +QtMetaTypePrivate::QSequentialIterableImpl (0x0x7fad72e34f60) 0 + +Class QtMetaTypePrivate::QAssociativeIterableImpl + size=112 align=8 + base size=112 base align=8 +QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7fad72f1f660) 0 + +Class QtMetaTypePrivate::QPairVariantInterfaceImpl + size=40 align=8 + base size=40 base align=8 +QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7fad72b77ba0) 0 + +Class std::chrono::_V2::system_clock + size=1 align=1 + base size=0 base align=1 +std::chrono::_V2::system_clock (0x0x7fad72a48180) 0 empty + +Class std::chrono::_V2::steady_clock + size=1 align=1 + base size=0 base align=1 +std::chrono::_V2::steady_clock (0x0x7fad72744c00) 0 empty + +Vtable for QObjectData +QObjectData::_ZTV11QObjectData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QObjectData) +16 (int (*)(...))__cxa_pure_virtual +24 (int (*)(...))__cxa_pure_virtual + +Class QObjectData + size=48 align=8 + base size=48 base align=8 +QObjectData (0x0x7fad72744c60) 0 + vptr=((& QObjectData::_ZTV11QObjectData) + 16) + +Class QObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QObject::QPrivateSignal (0x0x7fad72744e40) 0 empty + +Vtable for QObject +QObject::_ZTV7QObject: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QObject) +16 (int (*)(...))QObject::metaObject +24 (int (*)(...))QObject::qt_metacast +32 (int (*)(...))QObject::qt_metacall +40 (int (*)(...))QObject::~QObject +48 (int (*)(...))QObject::~QObject +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QObject + size=16 align=8 + base size=16 base align=8 +QObject (0x0x7fad72744de0) 0 + vptr=((& QObject::_ZTV7QObject) + 16) + +Vtable for QObjectUserData +QObjectUserData::_ZTV15QObjectUserData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QObjectUserData) +16 (int (*)(...))QObjectUserData::~QObjectUserData +24 (int (*)(...))QObjectUserData::~QObjectUserData + +Class QObjectUserData + size=8 align=8 + base size=8 base align=8 +QObjectUserData (0x0x7fad72826c60) 0 nearly-empty + vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16) + +Class QSignalBlocker + size=16 align=8 + base size=10 base align=8 +QSignalBlocker (0x0x7fad72826de0) 0 + +Class QAbstractAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractAnimation::QPrivateSignal (0x0x7fad728496c0) 0 empty + +Vtable for QAbstractAnimation +QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractAnimation) +16 (int (*)(...))QAbstractAnimation::metaObject +24 (int (*)(...))QAbstractAnimation::qt_metacast +32 (int (*)(...))QAbstractAnimation::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QAbstractAnimation + size=16 align=8 + base size=16 base align=8 +QAbstractAnimation (0x0x7fad7280f750) 0 + vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16) + QObject (0x0x7fad72849660) 0 + primary-for QAbstractAnimation (0x0x7fad7280f750) + +Class QAnimationDriver::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAnimationDriver::QPrivateSignal (0x0x7fad72849a80) 0 empty + +Vtable for QAnimationDriver +QAnimationDriver::_ZTV16QAnimationDriver: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QAnimationDriver) +16 (int (*)(...))QAnimationDriver::metaObject +24 (int (*)(...))QAnimationDriver::qt_metacast +32 (int (*)(...))QAnimationDriver::qt_metacall +40 (int (*)(...))QAnimationDriver::~QAnimationDriver +48 (int (*)(...))QAnimationDriver::~QAnimationDriver +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAnimationDriver::advance +120 (int (*)(...))QAnimationDriver::elapsed +128 (int (*)(...))QAnimationDriver::start +136 (int (*)(...))QAnimationDriver::stop + +Class QAnimationDriver + size=16 align=8 + base size=16 base align=8 +QAnimationDriver (0x0x7fad7280f7b8) 0 + vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16) + QObject (0x0x7fad72849a20) 0 + primary-for QAnimationDriver (0x0x7fad7280f7b8) + +Class QEventLoop::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QEventLoop::QPrivateSignal (0x0x7fad72849cc0) 0 empty + +Vtable for QEventLoop +QEventLoop::_ZTV10QEventLoop: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QEventLoop) +16 (int (*)(...))QEventLoop::metaObject +24 (int (*)(...))QEventLoop::qt_metacast +32 (int (*)(...))QEventLoop::qt_metacall +40 (int (*)(...))QEventLoop::~QEventLoop +48 (int (*)(...))QEventLoop::~QEventLoop +56 (int (*)(...))QEventLoop::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QEventLoop + size=16 align=8 + base size=16 base align=8 +QEventLoop (0x0x7fad7280f820) 0 + vptr=((& QEventLoop::_ZTV10QEventLoop) + 16) + QObject (0x0x7fad72849c60) 0 + primary-for QEventLoop (0x0x7fad7280f820) + +Class QEventLoopLocker + size=8 align=8 + base size=8 base align=8 +QEventLoopLocker (0x0x7fad7289f5a0) 0 + +Class QAbstractEventDispatcher::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractEventDispatcher::QPrivateSignal (0x0x7fad7289f660) 0 empty + +Class QAbstractEventDispatcher::TimerInfo + size=12 align=4 + base size=12 base align=4 +QAbstractEventDispatcher::TimerInfo (0x0x7fad7289f6c0) 0 + +Vtable for QAbstractEventDispatcher +QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher) +16 (int (*)(...))QAbstractEventDispatcher::metaObject +24 (int (*)(...))QAbstractEventDispatcher::qt_metacast +32 (int (*)(...))QAbstractEventDispatcher::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))QAbstractEventDispatcher::startingUp +216 (int (*)(...))QAbstractEventDispatcher::closingDown + +Class QAbstractEventDispatcher + size=16 align=8 + base size=16 base align=8 +QAbstractEventDispatcher (0x0x7fad7280f958) 0 + vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16) + QObject (0x0x7fad7289f600) 0 + primary-for QAbstractEventDispatcher (0x0x7fad7280f958) + +Class QMapNodeBase + size=24 align=8 + base size=24 base align=8 +QMapNodeBase (0x0x7fad728ff6c0) 0 + +Class QMapDataBase + size=40 align=8 + base size=40 base align=8 +QMapDataBase (0x0x7fad7292c360) 0 + +Class QHashData::Node + size=16 align=8 + base size=16 base align=8 +QHashData::Node (0x0x7fad725f7cc0) 0 + +Class QHashData + size=48 align=8 + base size=44 base align=8 +QHashData (0x0x7fad725f7c60) 0 + +Class QHashDummyValue + size=1 align=1 + base size=0 base align=1 +QHashDummyValue (0x0x7fad725f7f60) 0 empty + +Class QVariant::PrivateShared + size=16 align=8 + base size=12 base align=8 +QVariant::PrivateShared (0x0x7fad727246c0) 0 + +Class QVariant::Private::Data + size=8 align=8 + base size=8 base align=8 +QVariant::Private::Data (0x0x7fad72724780) 0 + +Class QVariant::Private + size=16 align=8 + base size=12 base align=8 +QVariant::Private (0x0x7fad72724720) 0 + +Class QVariant::Handler + size=72 align=8 + base size=72 base align=8 +QVariant::Handler (0x0x7fad727247e0) 0 + +Class QVariant + size=16 align=8 + base size=16 base align=8 +QVariant (0x0x7fad72724660) 0 + +Class QVariantComparisonHelper + size=8 align=8 + base size=8 base align=8 +QVariantComparisonHelper (0x0x7fad72484a80) 0 + +Class QSequentialIterable::const_iterator + size=112 align=8 + base size=112 base align=8 +QSequentialIterable::const_iterator (0x0x7fad724e6120) 0 + +Class QSequentialIterable + size=104 align=8 + base size=104 base align=8 +QSequentialIterable (0x0x7fad724e60c0) 0 + +Class QAssociativeIterable::const_iterator + size=120 align=8 + base size=120 base align=8 +QAssociativeIterable::const_iterator (0x0x7fad724e6240) 0 + +Class QAssociativeIterable + size=112 align=8 + base size=112 base align=8 +QAssociativeIterable (0x0x7fad724e61e0) 0 + +Class QModelIndex + size=24 align=8 + base size=24 base align=8 +QModelIndex (0x0x7fad721b43c0) 0 + +Class QPersistentModelIndex + size=8 align=8 + base size=8 base align=8 +QPersistentModelIndex (0x0x7fad72225000) 0 + +Class QAbstractItemModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemModel::QPrivateSignal (0x0x7fad722dade0) 0 empty + +Vtable for QAbstractItemModel +QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractItemModel) +16 (int (*)(...))QAbstractItemModel::metaObject +24 (int (*)(...))QAbstractItemModel::qt_metacast +32 (int (*)(...))QAbstractItemModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractItemModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractItemModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QAbstractItemModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QAbstractItemModel + size=16 align=8 + base size=16 base align=8 +QAbstractItemModel (0x0x7fad722dfaf8) 0 + vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16) + QObject (0x0x7fad722dad80) 0 + primary-for QAbstractItemModel (0x0x7fad722dfaf8) + +Class QAbstractTableModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractTableModel::QPrivateSignal (0x0x7fad71fbe1e0) 0 empty + +Vtable for QAbstractTableModel +QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractTableModel) +16 (int (*)(...))QAbstractTableModel::metaObject +24 (int (*)(...))QAbstractTableModel::qt_metacast +32 (int (*)(...))QAbstractTableModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractTableModel::index +120 (int (*)(...))QAbstractTableModel::parent +128 (int (*)(...))QAbstractTableModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractTableModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractTableModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QAbstractTableModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QAbstractTableModel + size=16 align=8 + base size=16 base align=8 +QAbstractTableModel (0x0x7fad71f57138) 0 + vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16) + QAbstractItemModel (0x0x7fad71f571a0) 0 + primary-for QAbstractTableModel (0x0x7fad71f57138) + QObject (0x0x7fad71fbe180) 0 + primary-for QAbstractItemModel (0x0x7fad71f571a0) + +Class QAbstractListModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractListModel::QPrivateSignal (0x0x7fad71fbe360) 0 empty + +Vtable for QAbstractListModel +QAbstractListModel::_ZTV18QAbstractListModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractListModel) +16 (int (*)(...))QAbstractListModel::metaObject +24 (int (*)(...))QAbstractListModel::qt_metacast +32 (int (*)(...))QAbstractListModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractListModel::index +120 (int (*)(...))QAbstractListModel::parent +128 (int (*)(...))QAbstractListModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))QAbstractListModel::columnCount +152 (int (*)(...))QAbstractListModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractListModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QAbstractListModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QAbstractListModel + size=16 align=8 + base size=16 base align=8 +QAbstractListModel (0x0x7fad71f57208) 0 + vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16) + QAbstractItemModel (0x0x7fad71f57270) 0 + primary-for QAbstractListModel (0x0x7fad71f57208) + QObject (0x0x7fad71fbe300) 0 + primary-for QAbstractItemModel (0x0x7fad71f57270) + +Vtable for QAbstractNativeEventFilter +QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QAbstractNativeEventFilter + size=16 align=8 + base size=16 base align=8 +QAbstractNativeEventFilter (0x0x7fad71fbea80) 0 + vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16) + +Class QAbstractProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractProxyModel::QPrivateSignal (0x0x7fad71fbeb40) 0 empty + +Vtable for QAbstractProxyModel +QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractProxyModel) +16 (int (*)(...))QAbstractProxyModel::metaObject +24 (int (*)(...))QAbstractProxyModel::qt_metacast +32 (int (*)(...))QAbstractProxyModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractProxyModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QAbstractProxyModel::headerData +184 (int (*)(...))QAbstractProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::mimeTypes +216 (int (*)(...))QAbstractProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QAbstractProxyModel::dropMimeData +240 (int (*)(...))QAbstractProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractProxyModel::fetchMore +312 (int (*)(...))QAbstractProxyModel::canFetchMore +320 (int (*)(...))QAbstractProxyModel::flags +328 (int (*)(...))QAbstractProxyModel::sort +336 (int (*)(...))QAbstractProxyModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QAbstractProxyModel::setSourceModel +392 (int (*)(...))__cxa_pure_virtual +400 (int (*)(...))__cxa_pure_virtual +408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource +416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource + +Class QAbstractProxyModel + size=16 align=8 + base size=16 base align=8 +QAbstractProxyModel (0x0x7fad71f57340) 0 + vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16) + QAbstractItemModel (0x0x7fad71f573a8) 0 + primary-for QAbstractProxyModel (0x0x7fad71f57340) + QObject (0x0x7fad71fbeae0) 0 + primary-for QAbstractItemModel (0x0x7fad71f573a8) + +Class QAbstractState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractState::QPrivateSignal (0x0x7fad71fbed80) 0 empty + +Vtable for QAbstractState +QAbstractState::_ZTV14QAbstractState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QAbstractState) +16 (int (*)(...))QAbstractState::metaObject +24 (int (*)(...))QAbstractState::qt_metacast +32 (int (*)(...))QAbstractState::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QAbstractState + size=16 align=8 + base size=16 base align=8 +QAbstractState (0x0x7fad71f57410) 0 + vptr=((& QAbstractState::_ZTV14QAbstractState) + 16) + QObject (0x0x7fad71fbed20) 0 + primary-for QAbstractState (0x0x7fad71f57410) + +Class QAbstractTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractTransition::QPrivateSignal (0x0x7fad7204f000) 0 empty + +Vtable for QAbstractTransition +QAbstractTransition::_ZTV19QAbstractTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractTransition) +16 (int (*)(...))QAbstractTransition::metaObject +24 (int (*)(...))QAbstractTransition::qt_metacast +32 (int (*)(...))QAbstractTransition::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QAbstractTransition + size=16 align=8 + base size=16 base align=8 +QAbstractTransition (0x0x7fad71f57478) 0 + vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16) + QObject (0x0x7fad71fbef60) 0 + primary-for QAbstractTransition (0x0x7fad71f57478) + +Class QAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAnimationGroup::QPrivateSignal (0x0x7fad7204f300) 0 empty + +Vtable for QAnimationGroup +QAnimationGroup::_ZTV15QAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAnimationGroup) +16 (int (*)(...))QAnimationGroup::metaObject +24 (int (*)(...))QAnimationGroup::qt_metacast +32 (int (*)(...))QAnimationGroup::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QAnimationGroup + size=16 align=8 + base size=16 base align=8 +QAnimationGroup (0x0x7fad71f574e0) 0 + vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16) + QAbstractAnimation (0x0x7fad71f57548) 0 + primary-for QAnimationGroup (0x0x7fad71f574e0) + QObject (0x0x7fad7204f2a0) 0 + primary-for QAbstractAnimation (0x0x7fad71f57548) + +Class QBasicTimer + size=4 align=4 + base size=4 base align=4 +QBasicTimer (0x0x7fad720ad600) 0 + +Class QBitArray + size=8 align=8 + base size=8 base align=8 +QBitArray (0x0x7fad72127f60) 0 + +Class QBitRef + size=16 align=8 + base size=12 base align=8 +QBitRef (0x0x7fad71da8420) 0 + +Class QIODevice::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIODevice::QPrivateSignal (0x0x7fad71def6c0) 0 empty + +Vtable for QIODevice +QIODevice::_ZTV9QIODevice: 30 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QIODevice) +16 (int (*)(...))QIODevice::metaObject +24 (int (*)(...))QIODevice::qt_metacast +32 (int (*)(...))QIODevice::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIODevice::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QIODevice::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QIODevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))__cxa_pure_virtual + +Class QIODevice + size=16 align=8 + base size=16 base align=8 +QIODevice (0x0x7fad71de8af8) 0 + vptr=((& QIODevice::_ZTV9QIODevice) + 16) + QObject (0x0x7fad71def660) 0 + primary-for QIODevice (0x0x7fad71de8af8) + +Class QBuffer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QBuffer::QPrivateSignal (0x0x7fad71e3e060) 0 empty + +Vtable for QBuffer +QBuffer::_ZTV7QBuffer: 30 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QBuffer) +16 (int (*)(...))QBuffer::metaObject +24 (int (*)(...))QBuffer::qt_metacast +32 (int (*)(...))QBuffer::qt_metacall +40 (int (*)(...))QBuffer::~QBuffer +48 (int (*)(...))QBuffer::~QBuffer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QBuffer::connectNotify +104 (int (*)(...))QBuffer::disconnectNotify +112 (int (*)(...))QIODevice::isSequential +120 (int (*)(...))QBuffer::open +128 (int (*)(...))QBuffer::close +136 (int (*)(...))QBuffer::pos +144 (int (*)(...))QBuffer::size +152 (int (*)(...))QBuffer::seek +160 (int (*)(...))QBuffer::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QBuffer::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QBuffer::readData +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QBuffer::writeData + +Class QBuffer + size=16 align=8 + base size=16 base align=8 +QBuffer (0x0x7fad71de8c30) 0 + vptr=((& QBuffer::_ZTV7QBuffer) + 16) + QIODevice (0x0x7fad71de8c98) 0 + primary-for QBuffer (0x0x7fad71de8c30) + QObject (0x0x7fad71e3e000) 0 + primary-for QIODevice (0x0x7fad71de8c98) + +Class QByteArrayMatcher::Data + size=272 align=8 + base size=272 base align=8 +QByteArrayMatcher::Data (0x0x7fad71e3e300) 0 + +Class QByteArrayMatcher + size=1040 align=8 + base size=1040 base align=8 +QByteArrayMatcher (0x0x7fad71e3e2a0) 0 + +Class QStaticByteArrayMatcherBase::Skiptable + size=256 align=1 + base size=256 base align=1 +QStaticByteArrayMatcherBase::Skiptable (0x0x7fad71e3e480) 0 + +Class QStaticByteArrayMatcherBase + size=256 align=16 + base size=256 base align=16 +QStaticByteArrayMatcherBase (0x0x7fad71e3e420) 0 + +Class QSharedData + size=4 align=4 + base size=4 base align=4 +QSharedData (0x0x7fad71e86360) 0 + +Class QLocale + size=8 align=8 + base size=8 base align=8 +QLocale (0x0x7fad71ecb240) 0 + +Class QCalendar::YearMonthDay + size=12 align=4 + base size=12 base align=4 +QCalendar::YearMonthDay (0x0x7fad71c3b720) 0 + +Class QCalendar + size=8 align=8 + base size=8 base align=8 +QCalendar (0x0x7fad71c3b6c0) 0 + +Class QDate + size=8 align=8 + base size=8 base align=8 +QDate (0x0x7fad71c3bf00) 0 + +Class QTime + size=4 align=4 + base size=4 base align=4 +QTime (0x0x7fad71cc87e0) 0 + +Class QDateTime::ShortData + size=8 align=8 + base size=8 base align=8 +QDateTime::ShortData (0x0x7fad71d33480) 0 + +Class QDateTime::Data + size=8 align=8 + base size=8 base align=8 +QDateTime::Data (0x0x7fad71d334e0) 0 + +Class QDateTime + size=8 align=8 + base size=8 base align=8 +QDateTime (0x0x7fad71d33420) 0 + +Vtable for QTextStream +QTextStream::_ZTV11QTextStream: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTextStream) +16 (int (*)(...))QTextStream::~QTextStream +24 (int (*)(...))QTextStream::~QTextStream + +Class QTextStream + size=16 align=8 + base size=16 base align=8 +QTextStream (0x0x7fad71a02ba0) 0 + vptr=((& QTextStream::_ZTV11QTextStream) + 16) + +Class QTextStreamManipulator + size=40 align=8 + base size=38 base align=8 +QTextStreamManipulator (0x0x7fad71a68480) 0 + +Class QContiguousCacheData + size=24 align=4 + base size=24 base align=4 +QContiguousCacheData (0x0x7fad71af7120) 0 + +Vtable for __gnu_cxx::__concurrence_lock_error +__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error +24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error +32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what + +Class __gnu_cxx::__concurrence_lock_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_lock_error (0x0x7fad71a0ec98) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16) + std::exception (0x0x7fad71b20f60) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_lock_error (0x0x7fad71a0ec98) + +Vtable for __gnu_cxx::__concurrence_unlock_error +__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error +24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error +32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what + +Class __gnu_cxx::__concurrence_unlock_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_unlock_error (0x0x7fad71a0ed00) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16) + std::exception (0x0x7fad7174b0c0) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7fad71a0ed00) + +Vtable for __gnu_cxx::__concurrence_broadcast_error +__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error +24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error +32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what + +Class __gnu_cxx::__concurrence_broadcast_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_broadcast_error (0x0x7fad71a0ed68) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16) + std::exception (0x0x7fad7174b1e0) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7fad71a0ed68) + +Vtable for __gnu_cxx::__concurrence_wait_error +__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error +24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error +32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what + +Class __gnu_cxx::__concurrence_wait_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_wait_error (0x0x7fad71a0ee38) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16) + std::exception (0x0x7fad7174b300) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_wait_error (0x0x7fad71a0ee38) + +Class __gnu_cxx::__mutex + size=40 align=8 + base size=40 base align=8 +__gnu_cxx::__mutex (0x0x7fad71771360) 0 + +Class __gnu_cxx::__recursive_mutex + size=40 align=8 + base size=40 base align=8 +__gnu_cxx::__recursive_mutex (0x0x7fad71771660) 0 + +Class __gnu_cxx::__scoped_lock + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__scoped_lock (0x0x7fad71771960) 0 + +Class __gnu_cxx::__cond + size=48 align=8 + base size=48 base align=8 +__gnu_cxx::__cond (0x0x7fad71771cc0) 0 + +Vtable for std::bad_weak_ptr +std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12bad_weak_ptr) +16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr +24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr +32 (int (*)(...))std::bad_weak_ptr::what + +Class std::bad_weak_ptr + size=8 align=8 + base size=8 base align=8 +std::bad_weak_ptr (0x0x7fad71a0eea0) 0 nearly-empty + vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16) + std::exception (0x0x7fad717ecea0) 0 nearly-empty + primary-for std::bad_weak_ptr (0x0x7fad71a0eea0) + +Class std::_Sp_make_shared_tag + size=1 align=1 + base size=0 base align=1 +std::_Sp_make_shared_tag (0x0x7fad7184ce40) 0 empty + +Class std::__sp_array_delete + size=1 align=1 + base size=0 base align=1 +std::__sp_array_delete (0x0x7fad7187c2a0) 0 empty + +Class std::_Sp_locker + size=2 align=1 + base size=2 base align=1 +std::_Sp_locker (0x0x7fad715be120) 0 + +Class QtSharedPointer::NormalDeleter + size=1 align=1 + base size=0 base align=1 +QtSharedPointer::NormalDeleter (0x0x7fad715eb600) 0 empty + +Class QtSharedPointer::ExternalRefCountData + size=16 align=8 + base size=16 base align=8 +QtSharedPointer::ExternalRefCountData (0x0x7fad715eb780) 0 + +Class QtPrivate::EnableInternalData + size=1 align=1 + base size=0 base align=1 +QtPrivate::EnableInternalData (0x0x7fad716710c0) 0 empty + +Class QDebug::Stream + size=80 align=8 + base size=76 base align=8 +QDebug::Stream (0x0x7fad716a0780) 0 + +Class QDebug + size=8 align=8 + base size=8 base align=8 +QDebug (0x0x7fad716a0720) 0 + +Class QDebugStateSaver + size=8 align=8 + base size=8 base align=8 +QDebugStateSaver (0x0x7fad714340c0) 0 + +Class QNoDebug + size=1 align=1 + base size=0 base align=1 +QNoDebug (0x0x7fad71434180) 0 empty + +Class QCborError + size=4 align=4 + base size=4 base align=4 +QCborError (0x0x7fad714bd3c0) 0 + +Class QRegularExpression + size=8 align=8 + base size=8 base align=8 +QRegularExpression (0x0x7fad714bdb40) 0 + +Class QRegularExpressionMatch + size=8 align=8 + base size=8 base align=8 +QRegularExpressionMatch (0x0x7fad71173a20) 0 + +Class QRegularExpressionMatchIterator + size=8 align=8 + base size=8 base align=8 +QRegularExpressionMatchIterator (0x0x7fad711df7e0) 0 + +Class QUrl + size=8 align=8 + base size=8 base align=8 +QUrl (0x0x7fad71254240) 0 + +Class QUuid + size=16 align=4 + base size=16 base align=4 +QUuid (0x0x7fad70faa1e0) 0 + +Class QCborParserError + size=16 align=8 + base size=12 base align=8 +QCborParserError (0x0x7fad71009d20) 0 + +Class QCborValue + size=24 align=8 + base size=20 base align=8 +QCborValue (0x0x7fad71009de0) 0 + +Class QCborValueRef + size=16 align=8 + base size=16 base align=8 +QCborValueRef (0x0x7fad70e809c0) 0 + +Class QCborArray::Iterator + size=16 align=8 + base size=16 base align=8 +QCborArray::Iterator (0x0x7fad70f25420) 0 + +Class QCborArray::ConstIterator + size=16 align=8 + base size=16 base align=8 +QCborArray::ConstIterator (0x0x7fad70f25480) 0 + +Class QCborArray + size=8 align=8 + base size=8 base align=8 +QCborArray (0x0x7fad70f253c0) 0 + +Class QCborMap::Iterator + size=16 align=8 + base size=16 base align=8 +QCborMap::Iterator (0x0x7fad70c9c060) 0 + +Class QCborMap::ConstIterator + size=16 align=8 + base size=16 base align=8 +QCborMap::ConstIterator (0x0x7fad70c9c0c0) 0 + +Class QCborMap + size=8 align=8 + base size=8 base align=8 +QCborMap (0x0x7fad70c9c000) 0 + +Class qfloat16::Wrap + size=2 align=2 + base size=2 base align=2 +qfloat16::Wrap (0x0x7fad70aa0840) 0 + +Class qfloat16 + size=2 align=2 + base size=2 base align=2 +qfloat16 (0x0x7fad70aa07e0) 0 + +Class QCborStreamWriter + size=8 align=8 + base size=8 base align=8 +QCborStreamWriter (0x0x7fad7078b4e0) 0 + +Class QCborStreamReader + size=24 align=8 + base size=20 base align=8 +QCborStreamReader (0x0x7fad707bb240) 0 + +Class QCollatorSortKey + size=8 align=8 + base size=8 base align=8 +QCollatorSortKey (0x0x7fad7083f360) 0 + +Class QCollator + size=8 align=8 + base size=8 base align=8 +QCollator (0x0x7fad7083f540) 0 + +Class QCommandLineOption + size=8 align=8 + base size=8 base align=8 +QCommandLineOption (0x0x7fad70938b40) 0 + +Vtable for QEvent +QEvent::_ZTV6QEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QEvent) +16 (int (*)(...))QEvent::~QEvent +24 (int (*)(...))QEvent::~QEvent + +Class QEvent + size=24 align=8 + base size=20 base align=8 +QEvent (0x0x7fad706360c0) 0 + vptr=((& QEvent::_ZTV6QEvent) + 16) + +Vtable for QTimerEvent +QTimerEvent::_ZTV11QTimerEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTimerEvent) +16 (int (*)(...))QTimerEvent::~QTimerEvent +24 (int (*)(...))QTimerEvent::~QTimerEvent + +Class QTimerEvent + size=24 align=8 + base size=24 base align=8 +QTimerEvent (0x0x7fad706068f0) 0 + vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16) + QEvent (0x0x7fad70636480) 0 + primary-for QTimerEvent (0x0x7fad706068f0) + +Vtable for QChildEvent +QChildEvent::_ZTV11QChildEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QChildEvent) +16 (int (*)(...))QChildEvent::~QChildEvent +24 (int (*)(...))QChildEvent::~QChildEvent + +Class QChildEvent + size=32 align=8 + base size=32 base align=8 +QChildEvent (0x0x7fad70606958) 0 + vptr=((& QChildEvent::_ZTV11QChildEvent) + 16) + QEvent (0x0x7fad70636540) 0 + primary-for QChildEvent (0x0x7fad70606958) + +Vtable for QDynamicPropertyChangeEvent +QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent) +16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent +24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent + +Class QDynamicPropertyChangeEvent + size=32 align=8 + base size=32 base align=8 +QDynamicPropertyChangeEvent (0x0x7fad70606ea0) 0 + vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16) + QEvent (0x0x7fad70636ba0) 0 + primary-for QDynamicPropertyChangeEvent (0x0x7fad70606ea0) + +Vtable for QDeferredDeleteEvent +QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent) +16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent +24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent + +Class QDeferredDeleteEvent + size=24 align=8 + base size=24 base align=8 +QDeferredDeleteEvent (0x0x7fad70606f08) 0 + vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16) + QEvent (0x0x7fad70636c60) 0 + primary-for QDeferredDeleteEvent (0x0x7fad70606f08) + +Class QCoreApplication::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCoreApplication::QPrivateSignal (0x0x7fad70636d80) 0 empty + +Vtable for QCoreApplication +QCoreApplication::_ZTV16QCoreApplication: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QCoreApplication) +16 (int (*)(...))QCoreApplication::metaObject +24 (int (*)(...))QCoreApplication::qt_metacast +32 (int (*)(...))QCoreApplication::qt_metacall +40 (int (*)(...))QCoreApplication::~QCoreApplication +48 (int (*)(...))QCoreApplication::~QCoreApplication +56 (int (*)(...))QCoreApplication::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QCoreApplication::notify +120 (int (*)(...))QCoreApplication::compressEvent + +Class QCoreApplication + size=16 align=8 + base size=16 base align=8 +QCoreApplication (0x0x7fad70606f70) 0 + vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16) + QObject (0x0x7fad70636d20) 0 + primary-for QCoreApplication (0x0x7fad70606f70) + +Class QCommandLineParser + size=8 align=8 + base size=8 base align=8 +QCommandLineParser (0x0x7fad7068c000) 0 + +Class QConcatenateTablesProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QConcatenateTablesProxyModel::QPrivateSignal (0x0x7fad7068c180) 0 empty + +Vtable for QConcatenateTablesProxyModel +QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel) +16 (int (*)(...))QConcatenateTablesProxyModel::metaObject +24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast +32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall +40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel +48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QConcatenateTablesProxyModel::index +120 (int (*)(...))QConcatenateTablesProxyModel::parent +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))QConcatenateTablesProxyModel::rowCount +144 (int (*)(...))QConcatenateTablesProxyModel::columnCount +152 (int (*)(...))QAbstractItemModel::hasChildren +160 (int (*)(...))QConcatenateTablesProxyModel::data +168 (int (*)(...))QConcatenateTablesProxyModel::setData +176 (int (*)(...))QConcatenateTablesProxyModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QConcatenateTablesProxyModel::itemData +200 (int (*)(...))QConcatenateTablesProxyModel::setItemData +208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes +216 (int (*)(...))QConcatenateTablesProxyModel::mimeData +224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData +232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QConcatenateTablesProxyModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QConcatenateTablesProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QConcatenateTablesProxyModel + size=16 align=8 + base size=16 base align=8 +QConcatenateTablesProxyModel (0x0x7fad70698000) 0 + vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16) + QAbstractItemModel (0x0x7fad70698068) 0 + primary-for QConcatenateTablesProxyModel (0x0x7fad70698000) + QObject (0x0x7fad7068c120) 0 + primary-for QAbstractItemModel (0x0x7fad70698068) + +Class QCryptographicHash + size=8 align=8 + base size=8 base align=8 +QCryptographicHash (0x0x7fad7068c360) 0 + +Class QDataStream + size=32 align=8 + base size=32 base align=8 +QDataStream (0x0x7fad7068c480) 0 + +Class QtPrivate::StreamStateSaver + size=16 align=8 + base size=12 base align=8 +QtPrivate::StreamStateSaver (0x0x7fad7068c600) 0 + +Class QElapsedTimer + size=16 align=8 + base size=16 base align=8 +QElapsedTimer (0x0x7fad706fdd20) 0 + +Class QDeadlineTimer + size=16 align=8 + base size=16 base align=8 +QDeadlineTimer (0x0x7fad7073b480) 0 + +Class QFileDevice::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileDevice::QPrivateSignal (0x0x7fad70479180) 0 empty + +Vtable for QFileDevice +QFileDevice::_ZTV11QFileDevice: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFileDevice) +16 (int (*)(...))QFileDevice::metaObject +24 (int (*)(...))QFileDevice::qt_metacast +32 (int (*)(...))QFileDevice::qt_metacall +40 (int (*)(...))QFileDevice::~QFileDevice +48 (int (*)(...))QFileDevice::~QFileDevice +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFileDevice::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QFileDevice::writeData +240 (int (*)(...))QFileDevice::fileName +248 (int (*)(...))QFileDevice::resize +256 (int (*)(...))QFileDevice::permissions +264 (int (*)(...))QFileDevice::setPermissions + +Class QFileDevice + size=16 align=8 + base size=16 base align=8 +QFileDevice (0x0x7fad70470270) 0 + vptr=((& QFileDevice::_ZTV11QFileDevice) + 16) + QIODevice (0x0x7fad704702d8) 0 + primary-for QFileDevice (0x0x7fad70470270) + QObject (0x0x7fad70479120) 0 + primary-for QIODevice (0x0x7fad704702d8) + +Class QFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFile::QPrivateSignal (0x0x7fad70479a80) 0 empty + +Vtable for QFile +QFile::_ZTV5QFile: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QFile) +16 (int (*)(...))QFile::metaObject +24 (int (*)(...))QFile::qt_metacast +32 (int (*)(...))QFile::qt_metacall +40 (int (*)(...))QFile::~QFile +48 (int (*)(...))QFile::~QFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QFile::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFile::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QFileDevice::writeData +240 (int (*)(...))QFile::fileName +248 (int (*)(...))QFile::resize +256 (int (*)(...))QFile::permissions +264 (int (*)(...))QFile::setPermissions + +Class QFile + size=16 align=8 + base size=16 base align=8 +QFile (0x0x7fad70470410) 0 + vptr=((& QFile::_ZTV5QFile) + 16) + QFileDevice (0x0x7fad70470478) 0 + primary-for QFile (0x0x7fad70470410) + QIODevice (0x0x7fad704704e0) 0 + primary-for QFileDevice (0x0x7fad70470478) + QObject (0x0x7fad70479a20) 0 + primary-for QIODevice (0x0x7fad704704e0) + +Class QFileInfo + size=8 align=8 + base size=8 base align=8 +QFileInfo (0x0x7fad704eb120) 0 + +Class QDir + size=8 align=8 + base size=8 base align=8 +QDir (0x0x7fad701b8000) 0 + +Class QDirIterator + size=8 align=8 + base size=8 base align=8 +QDirIterator (0x0x7fad702e7000) 0 + +Class QEasingCurve + size=8 align=8 + base size=8 base align=8 +QEasingCurve (0x0x7fad702e7780) 0 + +Class QEventTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QEventTransition::QPrivateSignal (0x0x7fad700138a0) 0 empty + +Vtable for QEventTransition +QEventTransition::_ZTV16QEventTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QEventTransition) +16 (int (*)(...))QEventTransition::metaObject +24 (int (*)(...))QEventTransition::qt_metacast +32 (int (*)(...))QEventTransition::qt_metacall +40 (int (*)(...))QEventTransition::~QEventTransition +48 (int (*)(...))QEventTransition::~QEventTransition +56 (int (*)(...))QEventTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QEventTransition::eventTest +120 (int (*)(...))QEventTransition::onTransition + +Class QEventTransition + size=16 align=8 + base size=16 base align=8 +QEventTransition (0x0x7fad6ffdf1a0) 0 + vptr=((& QEventTransition::_ZTV16QEventTransition) + 16) + QAbstractTransition (0x0x7fad6ffdf208) 0 + primary-for QEventTransition (0x0x7fad6ffdf1a0) + QObject (0x0x7fad70013840) 0 + primary-for QAbstractTransition (0x0x7fad6ffdf208) + +Vtable for QException +QException::_ZTV10QException: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QException) +16 (int (*)(...))QException::~QException +24 (int (*)(...))QException::~QException +32 (int (*)(...))std::exception::what +40 (int (*)(...))QException::raise +48 (int (*)(...))QException::clone + +Class QException + size=8 align=8 + base size=8 base align=8 +QException (0x0x7fad6ffdf270) 0 nearly-empty + vptr=((& QException::_ZTV10QException) + 16) + std::exception (0x0x7fad70013a80) 0 nearly-empty + primary-for QException (0x0x7fad6ffdf270) + +Vtable for QUnhandledException +QUnhandledException::_ZTV19QUnhandledException: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QUnhandledException) +16 (int (*)(...))QUnhandledException::~QUnhandledException +24 (int (*)(...))QUnhandledException::~QUnhandledException +32 (int (*)(...))std::exception::what +40 (int (*)(...))QUnhandledException::raise +48 (int (*)(...))QUnhandledException::clone + +Class QUnhandledException + size=8 align=8 + base size=8 base align=8 +QUnhandledException (0x0x7fad6ffdf2d8) 0 nearly-empty + vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16) + QException (0x0x7fad6ffdf340) 0 nearly-empty + primary-for QUnhandledException (0x0x7fad6ffdf2d8) + std::exception (0x0x7fad70013ae0) 0 nearly-empty + primary-for QException (0x0x7fad6ffdf340) + +Class QtPrivate::ExceptionHolder + size=8 align=8 + base size=8 base align=8 +QtPrivate::ExceptionHolder (0x0x7fad70013b40) 0 + +Class QtPrivate::ExceptionStore + size=8 align=8 + base size=8 base align=8 +QtPrivate::ExceptionStore (0x0x7fad70013c00) 0 + +Vtable for QFactoryInterface +QFactoryInterface::_ZTV17QFactoryInterface: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QFactoryInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QFactoryInterface + size=8 align=8 + base size=8 base align=8 +QFactoryInterface (0x0x7fad70013c60) 0 nearly-empty + vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16) + +Class QFileSelector::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSelector::QPrivateSignal (0x0x7fad70013ea0) 0 empty + +Vtable for QFileSelector +QFileSelector::_ZTV13QFileSelector: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QFileSelector) +16 (int (*)(...))QFileSelector::metaObject +24 (int (*)(...))QFileSelector::qt_metacast +32 (int (*)(...))QFileSelector::qt_metacall +40 (int (*)(...))QFileSelector::~QFileSelector +48 (int (*)(...))QFileSelector::~QFileSelector +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QFileSelector + size=16 align=8 + base size=16 base align=8 +QFileSelector (0x0x7fad6ffdf3a8) 0 + vptr=((& QFileSelector::_ZTV13QFileSelector) + 16) + QObject (0x0x7fad70013e40) 0 + primary-for QFileSelector (0x0x7fad6ffdf3a8) + +Class QFileSystemWatcher::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSystemWatcher::QPrivateSignal (0x0x7fad7005d120) 0 empty + +Vtable for QFileSystemWatcher +QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QFileSystemWatcher) +16 (int (*)(...))QFileSystemWatcher::metaObject +24 (int (*)(...))QFileSystemWatcher::qt_metacast +32 (int (*)(...))QFileSystemWatcher::qt_metacall +40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher +48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QFileSystemWatcher + size=16 align=8 + base size=16 base align=8 +QFileSystemWatcher (0x0x7fad6ffdf410) 0 + vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16) + QObject (0x0x7fad7005d0c0) 0 + primary-for QFileSystemWatcher (0x0x7fad6ffdf410) + +Class QFinalState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFinalState::QPrivateSignal (0x0x7fad7005d360) 0 empty + +Vtable for QFinalState +QFinalState::_ZTV11QFinalState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFinalState) +16 (int (*)(...))QFinalState::metaObject +24 (int (*)(...))QFinalState::qt_metacast +32 (int (*)(...))QFinalState::qt_metacall +40 (int (*)(...))QFinalState::~QFinalState +48 (int (*)(...))QFinalState::~QFinalState +56 (int (*)(...))QFinalState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFinalState::onEntry +120 (int (*)(...))QFinalState::onExit + +Class QFinalState + size=16 align=8 + base size=16 base align=8 +QFinalState (0x0x7fad6ffdf478) 0 + vptr=((& QFinalState::_ZTV11QFinalState) + 16) + QAbstractState (0x0x7fad6ffdf4e0) 0 + primary-for QFinalState (0x0x7fad6ffdf478) + QObject (0x0x7fad7005d300) 0 + primary-for QAbstractState (0x0x7fad6ffdf4e0) + +Vtable for QRunnable +QRunnable::_ZTV9QRunnable: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QRunnable) +16 (int (*)(...))__cxa_pure_virtual +24 0 +32 0 + +Class QRunnable + size=16 align=8 + base size=12 base align=8 +QRunnable (0x0x7fad7005d540) 0 + vptr=((& QRunnable::_ZTV9QRunnable) + 16) + +Class QBasicMutex + size=8 align=8 + base size=8 base align=8 +QBasicMutex (0x0x7fad7005d7e0) 0 + +Class QMutex + size=8 align=8 + base size=8 base align=8 +QMutex (0x0x7fad6ffdf5b0) 0 + QBasicMutex (0x0x7fad700ef480) 0 + +Class QRecursiveMutex + size=8 align=8 + base size=8 base align=8 +QRecursiveMutex (0x0x7fad6ffdf618) 0 + QMutex (0x0x7fad6ffdf680) 0 + QBasicMutex (0x0x7fad700ef6c0) 0 + +Class QMutexLocker + size=8 align=8 + base size=8 base align=8 +QMutexLocker (0x0x7fad700ef720) 0 + +Class QtPrivate::ResultItem + size=16 align=8 + base size=16 base align=8 +QtPrivate::ResultItem (0x0x7fad700efd20) 0 + +Class QtPrivate::ResultIteratorBase + size=16 align=8 + base size=12 base align=8 +QtPrivate::ResultIteratorBase (0x0x7fad7011d360) 0 + +Vtable for QtPrivate::ResultStoreBase +QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE) +16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase +24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase + +Class QtPrivate::ResultStoreBase + size=48 align=8 + base size=44 base align=8 +QtPrivate::ResultStoreBase (0x0x7fad7011d540) 0 + vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16) + +Class std::__mutex_base + size=40 align=8 + base size=40 base align=8 +std::__mutex_base (0x0x7fad6fd95d20) 0 + +Class std::mutex + size=40 align=8 + base size=40 base align=8 +std::mutex (0x0x7fad6fd92f70) 0 + std::__mutex_base (0x0x7fad6fd95d80) 0 + +Class std::defer_lock_t + size=1 align=1 + base size=0 base align=1 +std::defer_lock_t (0x0x7fad6fd95f60) 0 empty + +Class std::try_to_lock_t + size=1 align=1 + base size=0 base align=1 +std::try_to_lock_t (0x0x7fad6fdb6000) 0 empty + +Class std::adopt_lock_t + size=1 align=1 + base size=0 base align=1 +std::adopt_lock_t (0x0x7fad6fdb6060) 0 empty + +Class std::__recursive_mutex_base + size=40 align=8 + base size=40 base align=8 +std::__recursive_mutex_base (0x0x7fad6fdb6a80) 0 + +Class std::recursive_mutex + size=40 align=8 + base size=40 base align=8 +std::recursive_mutex (0x0x7fad6fddd000) 0 + std::__recursive_mutex_base (0x0x7fad6fdb6ae0) 0 + +Class std::timed_mutex + size=40 align=8 + base size=40 base align=8 +std::timed_mutex (0x0x7fad6fdafaf0) 0 + std::__mutex_base (0x0x7fad6fdb6ea0) 0 + std::__timed_mutex_impl (0x0x7fad6fdb6f00) 0 empty + +Class std::recursive_timed_mutex + size=40 align=8 + base size=40 base align=8 +std::recursive_timed_mutex (0x0x7fad6fdafe70) 0 + std::__recursive_mutex_base (0x0x7fad6fdfd2a0) 0 + std::__timed_mutex_impl (0x0x7fad6fdfd300) 0 empty + +Class std::once_flag + size=4 align=4 + base size=4 base align=4 +std::once_flag (0x0x7fad6fdfda20) 0 + +Vtable for QFutureInterfaceBase +QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QFutureInterfaceBase) +16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase +24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase + +Class QFutureInterfaceBase + size=16 align=8 + base size=16 base align=8 +QFutureInterfaceBase (0x0x7fad6fdfdc60) 0 + vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16) + +Class QFutureWatcherBase::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFutureWatcherBase::QPrivateSignal (0x0x7fad6fed4000) 0 empty + +Vtable for QFutureWatcherBase +QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QFutureWatcherBase) +16 (int (*)(...))QFutureWatcherBase::metaObject +24 (int (*)(...))QFutureWatcherBase::qt_metacast +32 (int (*)(...))QFutureWatcherBase::qt_metacall +40 0 +48 0 +56 (int (*)(...))QFutureWatcherBase::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QFutureWatcherBase::connectNotify +104 (int (*)(...))QFutureWatcherBase::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QFutureWatcherBase + size=16 align=8 + base size=16 base align=8 +QFutureWatcherBase (0x0x7fad6fddddd0) 0 + vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16) + QObject (0x0x7fad6feb5f60) 0 + primary-for QFutureWatcherBase (0x0x7fad6fddddd0) + +Class QHistoryState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHistoryState::QPrivateSignal (0x0x7fad6ff02360) 0 empty + +Vtable for QHistoryState +QHistoryState::_ZTV13QHistoryState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QHistoryState) +16 (int (*)(...))QHistoryState::metaObject +24 (int (*)(...))QHistoryState::qt_metacast +32 (int (*)(...))QHistoryState::qt_metacall +40 (int (*)(...))QHistoryState::~QHistoryState +48 (int (*)(...))QHistoryState::~QHistoryState +56 (int (*)(...))QHistoryState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QHistoryState::onEntry +120 (int (*)(...))QHistoryState::onExit + +Class QHistoryState + size=16 align=8 + base size=16 base align=8 +QHistoryState (0x0x7fad6fee8618) 0 + vptr=((& QHistoryState::_ZTV13QHistoryState) + 16) + QAbstractState (0x0x7fad6fee8680) 0 + primary-for QHistoryState (0x0x7fad6fee8618) + QObject (0x0x7fad6ff02300) 0 + primary-for QAbstractState (0x0x7fad6fee8680) + +Class QIdentityProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIdentityProxyModel::QPrivateSignal (0x0x7fad6ff02660) 0 empty + +Vtable for QIdentityProxyModel +QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QIdentityProxyModel) +16 (int (*)(...))QIdentityProxyModel::metaObject +24 (int (*)(...))QIdentityProxyModel::qt_metacast +32 (int (*)(...))QIdentityProxyModel::qt_metacall +40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel +48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIdentityProxyModel::index +120 (int (*)(...))QIdentityProxyModel::parent +128 (int (*)(...))QIdentityProxyModel::sibling +136 (int (*)(...))QIdentityProxyModel::rowCount +144 (int (*)(...))QIdentityProxyModel::columnCount +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QIdentityProxyModel::headerData +184 (int (*)(...))QAbstractProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::mimeTypes +216 (int (*)(...))QAbstractProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QIdentityProxyModel::dropMimeData +240 (int (*)(...))QAbstractProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QIdentityProxyModel::insertRows +264 (int (*)(...))QIdentityProxyModel::insertColumns +272 (int (*)(...))QIdentityProxyModel::removeRows +280 (int (*)(...))QIdentityProxyModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractProxyModel::fetchMore +312 (int (*)(...))QAbstractProxyModel::canFetchMore +320 (int (*)(...))QAbstractProxyModel::flags +328 (int (*)(...))QAbstractProxyModel::sort +336 (int (*)(...))QAbstractProxyModel::buddy +344 (int (*)(...))QIdentityProxyModel::match +352 (int (*)(...))QAbstractProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QIdentityProxyModel::setSourceModel +392 (int (*)(...))QIdentityProxyModel::mapToSource +400 (int (*)(...))QIdentityProxyModel::mapFromSource +408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource +416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource + +Class QIdentityProxyModel + size=16 align=8 + base size=16 base align=8 +QIdentityProxyModel (0x0x7fad6fee86e8) 0 + vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16) + QAbstractProxyModel (0x0x7fad6fee8750) 0 + primary-for QIdentityProxyModel (0x0x7fad6fee86e8) + QAbstractItemModel (0x0x7fad6fee87b8) 0 + primary-for QAbstractProxyModel (0x0x7fad6fee8750) + QObject (0x0x7fad6ff02600) 0 + primary-for QAbstractItemModel (0x0x7fad6fee87b8) + +Class QItemSelectionRange + size=16 align=8 + base size=16 base align=8 +QItemSelectionRange (0x0x7fad6ff02840) 0 + +Class QItemSelectionModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QItemSelectionModel::QPrivateSignal (0x0x7fad6fbea180) 0 empty + +Vtable for QItemSelectionModel +QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QItemSelectionModel) +16 (int (*)(...))QItemSelectionModel::metaObject +24 (int (*)(...))QItemSelectionModel::qt_metacast +32 (int (*)(...))QItemSelectionModel::qt_metacall +40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel +48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QItemSelectionModel::setCurrentIndex +120 (int (*)(...))QItemSelectionModel::select +128 (int (*)(...))QItemSelectionModel::select +136 (int (*)(...))QItemSelectionModel::clear +144 (int (*)(...))QItemSelectionModel::reset +152 (int (*)(...))QItemSelectionModel::clearCurrentIndex + +Class QItemSelectionModel + size=16 align=8 + base size=16 base align=8 +QItemSelectionModel (0x0x7fad6fbe8138) 0 + vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16) + QObject (0x0x7fad6fbea120) 0 + primary-for QItemSelectionModel (0x0x7fad6fbe8138) + +Class QItemSelection + size=8 align=8 + base size=8 base align=8 +QItemSelection (0x0x7fad6fbe82d8) 0 + QList (0x0x7fad6fbe8340) 0 + QListSpecialMethods (0x0x7fad6fbeac60) 0 empty + +Class QJsonValue + size=24 align=8 + base size=20 base align=8 +QJsonValue (0x0x7fad6fc995a0) 0 + +Class QJsonValueRef + size=16 align=8 + base size=12 base align=8 +QJsonValueRef (0x0x7fad6fa02240) 0 + +Class QJsonValuePtr + size=24 align=8 + base size=24 base align=8 +QJsonValuePtr (0x0x7fad6fa411e0) 0 + +Class QJsonValueRefPtr + size=16 align=8 + base size=16 base align=8 +QJsonValueRefPtr (0x0x7fad6fa41480) 0 + +Class QJsonArray::iterator + size=16 align=8 + base size=12 base align=8 +QJsonArray::iterator (0x0x7fad6fa847e0) 0 + +Class QJsonArray::const_iterator + size=16 align=8 + base size=12 base align=8 +QJsonArray::const_iterator (0x0x7fad6fa84840) 0 + +Class QJsonArray + size=16 align=8 + base size=16 base align=8 +QJsonArray (0x0x7fad6fa84780) 0 + +Class QJsonParseError + size=8 align=4 + base size=8 base align=4 +QJsonParseError (0x0x7fad6f7b3720) 0 + +Class QJsonDocument + size=8 align=8 + base size=8 base align=8 +QJsonDocument (0x0x7fad6f7b3780) 0 + +Class QJsonObject::iterator + size=16 align=8 + base size=12 base align=8 +QJsonObject::iterator (0x0x7fad6f802f60) 0 + +Class QJsonObject::const_iterator + size=16 align=8 + base size=12 base align=8 +QJsonObject::const_iterator (0x0x7fad6f834000) 0 + +Class QJsonObject + size=16 align=8 + base size=16 base align=8 +QJsonObject (0x0x7fad6f802f00) 0 + +Class QLibrary::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLibrary::QPrivateSignal (0x0x7fad6f541420) 0 empty + +Vtable for QLibrary +QLibrary::_ZTV8QLibrary: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QLibrary) +16 (int (*)(...))QLibrary::metaObject +24 (int (*)(...))QLibrary::qt_metacast +32 (int (*)(...))QLibrary::qt_metacall +40 (int (*)(...))QLibrary::~QLibrary +48 (int (*)(...))QLibrary::~QLibrary +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QLibrary + size=32 align=8 + base size=25 base align=8 +QLibrary (0x0x7fad6f92ef70) 0 + vptr=((& QLibrary::_ZTV8QLibrary) + 16) + QObject (0x0x7fad6f5413c0) 0 + primary-for QLibrary (0x0x7fad6f92ef70) + +Class QVersionNumber::SegmentStorage + size=8 align=8 + base size=8 base align=8 +QVersionNumber::SegmentStorage (0x0x7fad6f58d2a0) 0 + +Class QVersionNumber + size=8 align=8 + base size=8 base align=8 +QVersionNumber (0x0x7fad6f541d80) 0 + +Class QLibraryInfo + size=1 align=1 + base size=0 base align=1 +QLibraryInfo (0x0x7fad6f626a20) 0 empty + +Class QPoint + size=8 align=4 + base size=8 base align=4 +QPoint (0x0x7fad6f626a80) 0 + +Class QPointF + size=16 align=8 + base size=16 base align=8 +QPointF (0x0x7fad6f693900) 0 + +Class QLine + size=16 align=4 + base size=16 base align=4 +QLine (0x0x7fad6f705ae0) 0 + +Class QLineF + size=32 align=8 + base size=32 base align=8 +QLineF (0x0x7fad6e378ea0) 0 + +Class QLinkedListData + size=32 align=8 + base size=25 base align=8 +QLinkedListData (0x0x7fad6e421180) 0 + +Class QLockFile + size=8 align=8 + base size=8 base align=8 +QLockFile (0x0x7fad6e4be6c0) 0 + +Class QLoggingCategory::AtomicBools + size=4 align=1 + base size=4 base align=1 +QLoggingCategory::AtomicBools (0x0x7fad6e4be900) 0 + +Class QLoggingCategory + size=24 align=8 + base size=24 base align=8 +QLoggingCategory (0x0x7fad6e4be8a0) 0 + +Class QMargins + size=16 align=4 + base size=16 base align=4 +QMargins (0x0x7fad6e4bed20) 0 + +Class QMarginsF + size=32 align=8 + base size=32 base align=8 +QMarginsF (0x0x7fad6e174c60) 0 + +Class QMessageAuthenticationCode + size=8 align=8 + base size=8 base align=8 +QMessageAuthenticationCode (0x0x7fad6dfe4480) 0 + +Class QMetaMethod + size=16 align=8 + base size=12 base align=8 +QMetaMethod (0x0x7fad6dfe44e0) 0 + +Class QMetaEnum + size=16 align=8 + base size=12 base align=8 +QMetaEnum (0x0x7fad6e051d20) 0 + +Class QMetaProperty + size=32 align=8 + base size=32 base align=8 +QMetaProperty (0x0x7fad6e090f00) 0 + +Class QMetaClassInfo + size=16 align=8 + base size=12 base align=8 +QMetaClassInfo (0x0x7fad6e0b4060) 0 + +Class QMimeData::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMimeData::QPrivateSignal (0x0x7fad6e0eb600) 0 empty + +Vtable for QMimeData +QMimeData::_ZTV9QMimeData: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QMimeData) +16 (int (*)(...))QMimeData::metaObject +24 (int (*)(...))QMimeData::qt_metacast +32 (int (*)(...))QMimeData::qt_metacall +40 (int (*)(...))QMimeData::~QMimeData +48 (int (*)(...))QMimeData::~QMimeData +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QMimeData::hasFormat +120 (int (*)(...))QMimeData::formats +128 (int (*)(...))QMimeData::retrieveData + +Class QMimeData + size=16 align=8 + base size=16 base align=8 +QMimeData (0x0x7fad6e0e0bc8) 0 + vptr=((& QMimeData::_ZTV9QMimeData) + 16) + QObject (0x0x7fad6e0eb5a0) 0 + primary-for QMimeData (0x0x7fad6e0e0bc8) + +Class QMimeType + size=8 align=8 + base size=8 base align=8 +QMimeType (0x0x7fad6e0eb7e0) 0 + +Class QMimeDatabase + size=8 align=8 + base size=8 base align=8 +QMimeDatabase (0x0x7fad6ddbc720) 0 + +Class QObjectCleanupHandler::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QObjectCleanupHandler::QPrivateSignal (0x0x7fad6ddbc7e0) 0 empty + +Vtable for QObjectCleanupHandler +QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QObjectCleanupHandler) +16 (int (*)(...))QObjectCleanupHandler::metaObject +24 (int (*)(...))QObjectCleanupHandler::qt_metacast +32 (int (*)(...))QObjectCleanupHandler::qt_metacall +40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler +48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QObjectCleanupHandler + size=24 align=8 + base size=24 base align=8 +QObjectCleanupHandler (0x0x7fad6ddbe750) 0 + vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16) + QObject (0x0x7fad6ddbc780) 0 + primary-for QObjectCleanupHandler (0x0x7fad6ddbe750) + +Class QOperatingSystemVersion + size=16 align=4 + base size=16 base align=4 +QOperatingSystemVersion (0x0x7fad6ddbc900) 0 + +Class QParallelAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QParallelAnimationGroup::QPrivateSignal (0x0x7fad6de480c0) 0 empty + +Vtable for QParallelAnimationGroup +QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QParallelAnimationGroup) +16 (int (*)(...))QParallelAnimationGroup::metaObject +24 (int (*)(...))QParallelAnimationGroup::qt_metacast +32 (int (*)(...))QParallelAnimationGroup::qt_metacall +40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup +48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup +56 (int (*)(...))QParallelAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QParallelAnimationGroup::duration +120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime +128 (int (*)(...))QParallelAnimationGroup::updateState +136 (int (*)(...))QParallelAnimationGroup::updateDirection + +Class QParallelAnimationGroup + size=16 align=8 + base size=16 base align=8 +QParallelAnimationGroup (0x0x7fad6de4a000) 0 + vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16) + QAnimationGroup (0x0x7fad6de4a068) 0 + primary-for QParallelAnimationGroup (0x0x7fad6de4a000) + QAbstractAnimation (0x0x7fad6de4a0d0) 0 + primary-for QAnimationGroup (0x0x7fad6de4a068) + QObject (0x0x7fad6de48060) 0 + primary-for QAbstractAnimation (0x0x7fad6de4a0d0) + +Class QPauseAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPauseAnimation::QPrivateSignal (0x0x7fad6de48300) 0 empty + +Vtable for QPauseAnimation +QPauseAnimation::_ZTV15QPauseAnimation: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QPauseAnimation) +16 (int (*)(...))QPauseAnimation::metaObject +24 (int (*)(...))QPauseAnimation::qt_metacast +32 (int (*)(...))QPauseAnimation::qt_metacall +40 (int (*)(...))QPauseAnimation::~QPauseAnimation +48 (int (*)(...))QPauseAnimation::~QPauseAnimation +56 (int (*)(...))QPauseAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPauseAnimation::duration +120 (int (*)(...))QPauseAnimation::updateCurrentTime +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QPauseAnimation + size=16 align=8 + base size=16 base align=8 +QPauseAnimation (0x0x7fad6de4a138) 0 + vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16) + QAbstractAnimation (0x0x7fad6de4a1a0) 0 + primary-for QPauseAnimation (0x0x7fad6de4a138) + QObject (0x0x7fad6de482a0) 0 + primary-for QAbstractAnimation (0x0x7fad6de4a1a0) + +Class QStaticPlugin + size=16 align=8 + base size=16 base align=8 +QStaticPlugin (0x0x7fad6de48e40) 0 + +Class QPluginLoader::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPluginLoader::QPrivateSignal (0x0x7fad6dec2000) 0 empty + +Vtable for QPluginLoader +QPluginLoader::_ZTV13QPluginLoader: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QPluginLoader) +16 (int (*)(...))QPluginLoader::metaObject +24 (int (*)(...))QPluginLoader::qt_metacast +32 (int (*)(...))QPluginLoader::qt_metacall +40 (int (*)(...))QPluginLoader::~QPluginLoader +48 (int (*)(...))QPluginLoader::~QPluginLoader +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPluginLoader + size=32 align=8 + base size=25 base align=8 +QPluginLoader (0x0x7fad6deb44e0) 0 + vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16) + QObject (0x0x7fad6dea1f60) 0 + primary-for QPluginLoader (0x0x7fad6deb44e0) + +Class QProcessEnvironment + size=8 align=8 + base size=8 base align=8 +QProcessEnvironment (0x0x7fad6dec2120) 0 + +Class QProcess::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProcess::QPrivateSignal (0x0x7fad6db8b5a0) 0 empty + +Vtable for QProcess +QProcess::_ZTV8QProcess: 31 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QProcess) +16 (int (*)(...))QProcess::metaObject +24 (int (*)(...))QProcess::qt_metacast +32 (int (*)(...))QProcess::qt_metacall +40 (int (*)(...))QProcess::~QProcess +48 (int (*)(...))QProcess::~QProcess +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QProcess::isSequential +120 (int (*)(...))QProcess::open +128 (int (*)(...))QProcess::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QProcess::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QProcess::bytesAvailable +184 (int (*)(...))QProcess::bytesToWrite +192 (int (*)(...))QProcess::canReadLine +200 (int (*)(...))QProcess::waitForReadyRead +208 (int (*)(...))QProcess::waitForBytesWritten +216 (int (*)(...))QProcess::readData +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QProcess::writeData +240 (int (*)(...))QProcess::setupChildProcess + +Class QProcess + size=16 align=8 + base size=16 base align=8 +QProcess (0x0x7fad6db85958) 0 + vptr=((& QProcess::_ZTV8QProcess) + 16) + QIODevice (0x0x7fad6db859c0) 0 + primary-for QProcess (0x0x7fad6db85958) + QObject (0x0x7fad6db8b540) 0 + primary-for QIODevice (0x0x7fad6db859c0) + +Class QVariantAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QVariantAnimation::QPrivateSignal (0x0x7fad6db8bc60) 0 empty + +Vtable for QVariantAnimation +QVariantAnimation::_ZTV17QVariantAnimation: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QVariantAnimation) +16 (int (*)(...))QVariantAnimation::metaObject +24 (int (*)(...))QVariantAnimation::qt_metacast +32 (int (*)(...))QVariantAnimation::qt_metacall +40 (int (*)(...))QVariantAnimation::~QVariantAnimation +48 (int (*)(...))QVariantAnimation::~QVariantAnimation +56 (int (*)(...))QVariantAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QVariantAnimation::duration +120 (int (*)(...))QVariantAnimation::updateCurrentTime +128 (int (*)(...))QVariantAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection +144 (int (*)(...))QVariantAnimation::updateCurrentValue +152 (int (*)(...))QVariantAnimation::interpolated + +Class QVariantAnimation + size=16 align=8 + base size=16 base align=8 +QVariantAnimation (0x0x7fad6db85a28) 0 + vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16) + QAbstractAnimation (0x0x7fad6db85a90) 0 + primary-for QVariantAnimation (0x0x7fad6db85a28) + QObject (0x0x7fad6db8bc00) 0 + primary-for QAbstractAnimation (0x0x7fad6db85a90) + +Class QPropertyAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPropertyAnimation::QPrivateSignal (0x0x7fad6db8bf00) 0 empty + +Vtable for QPropertyAnimation +QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QPropertyAnimation) +16 (int (*)(...))QPropertyAnimation::metaObject +24 (int (*)(...))QPropertyAnimation::qt_metacast +32 (int (*)(...))QPropertyAnimation::qt_metacall +40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation +48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation +56 (int (*)(...))QPropertyAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QVariantAnimation::duration +120 (int (*)(...))QVariantAnimation::updateCurrentTime +128 (int (*)(...))QPropertyAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection +144 (int (*)(...))QPropertyAnimation::updateCurrentValue +152 (int (*)(...))QVariantAnimation::interpolated + +Class QPropertyAnimation + size=16 align=8 + base size=16 base align=8 +QPropertyAnimation (0x0x7fad6db85b60) 0 + vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16) + QVariantAnimation (0x0x7fad6db85bc8) 0 + primary-for QPropertyAnimation (0x0x7fad6db85b60) + QAbstractAnimation (0x0x7fad6db85c30) 0 + primary-for QVariantAnimation (0x0x7fad6db85bc8) + QObject (0x0x7fad6db8bea0) 0 + primary-for QAbstractAnimation (0x0x7fad6db85c30) + +Class std::random_device + size=5000 align=8 + base size=5000 base align=8 +std::random_device (0x0x7fad6dc53660) 0 + +Class std::bernoulli_distribution::param_type + size=8 align=8 + base size=8 base align=8 +std::bernoulli_distribution::param_type (0x0x7fad6d95c3c0) 0 + +Class std::bernoulli_distribution + size=8 align=8 + base size=8 base align=8 +std::bernoulli_distribution (0x0x7fad6d95c360) 0 + +Class std::seed_seq + size=24 align=8 + base size=24 base align=8 +std::seed_seq (0x0x7fad6d74e120) 0 + +Class QRandomGenerator::Storage + size=2504 align=8 + base size=2504 base align=8 +QRandomGenerator::Storage (0x0x7fad6d556d80) 0 + +Class QRandomGenerator + size=2512 align=8 + base size=2512 base align=8 +QRandomGenerator (0x0x7fad6d556d20) 0 + +Class QRandomGenerator64 + size=2512 align=8 + base size=2512 base align=8 +QRandomGenerator64 (0x0x7fad6d5e88f0) 0 + QRandomGenerator (0x0x7fad6d6038a0) 0 + +Class QReadWriteLock + size=8 align=8 + base size=8 base align=8 +QReadWriteLock (0x0x7fad6d62a480) 0 + +Class QReadLocker + size=8 align=8 + base size=8 base align=8 +QReadLocker (0x0x7fad6d62a720) 0 + +Class QWriteLocker + size=8 align=8 + base size=8 base align=8 +QWriteLocker (0x0x7fad6d62ac00) 0 + +Class QSize + size=8 align=4 + base size=8 base align=4 +QSize (0x0x7fad6d6b1120) 0 + +Class QSizeF + size=16 align=8 + base size=16 base align=8 +QSizeF (0x0x7fad6d727000) 0 + +Class QRect + size=16 align=4 + base size=16 base align=4 +QRect (0x0x7fad6d3a0060) 0 + +Class QRectF + size=32 align=8 + base size=32 base align=8 +QRectF (0x0x7fad6d4640c0) 0 + +Class QResource + size=8 align=8 + base size=8 base align=8 +QResource (0x0x7fad6d5221e0) 0 + +Class QSaveFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSaveFile::QPrivateSignal (0x0x7fad6d522480) 0 empty + +Vtable for QSaveFile +QSaveFile::_ZTV9QSaveFile: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSaveFile) +16 (int (*)(...))QSaveFile::metaObject +24 (int (*)(...))QSaveFile::qt_metacast +32 (int (*)(...))QSaveFile::qt_metacall +40 (int (*)(...))QSaveFile::~QSaveFile +48 (int (*)(...))QSaveFile::~QSaveFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QSaveFile::open +128 (int (*)(...))QSaveFile::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFileDevice::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QSaveFile::writeData +240 (int (*)(...))QSaveFile::fileName +248 (int (*)(...))QFileDevice::resize +256 (int (*)(...))QFileDevice::permissions +264 (int (*)(...))QFileDevice::setPermissions + +Class QSaveFile + size=16 align=8 + base size=16 base align=8 +QSaveFile (0x0x7fad6d4c42d8) 0 + vptr=((& QSaveFile::_ZTV9QSaveFile) + 16) + QFileDevice (0x0x7fad6d4c4340) 0 + primary-for QSaveFile (0x0x7fad6d4c42d8) + QIODevice (0x0x7fad6d4c43a8) 0 + primary-for QFileDevice (0x0x7fad6d4c4340) + QObject (0x0x7fad6d522420) 0 + primary-for QIODevice (0x0x7fad6d4c43a8) + +Class QSemaphore + size=8 align=8 + base size=8 base align=8 +QSemaphore (0x0x7fad6d522a80) 0 + +Class QSemaphoreReleaser + size=16 align=8 + base size=12 base align=8 +QSemaphoreReleaser (0x0x7fad6d522c00) 0 + +Class QSequentialAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSequentialAnimationGroup::QPrivateSignal (0x0x7fad6d212840) 0 empty + +Vtable for QSequentialAnimationGroup +QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup) +16 (int (*)(...))QSequentialAnimationGroup::metaObject +24 (int (*)(...))QSequentialAnimationGroup::qt_metacast +32 (int (*)(...))QSequentialAnimationGroup::qt_metacall +40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup +48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup +56 (int (*)(...))QSequentialAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSequentialAnimationGroup::duration +120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime +128 (int (*)(...))QSequentialAnimationGroup::updateState +136 (int (*)(...))QSequentialAnimationGroup::updateDirection + +Class QSequentialAnimationGroup + size=16 align=8 + base size=16 base align=8 +QSequentialAnimationGroup (0x0x7fad6d219b60) 0 + vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16) + QAnimationGroup (0x0x7fad6d219bc8) 0 + primary-for QSequentialAnimationGroup (0x0x7fad6d219b60) + QAbstractAnimation (0x0x7fad6d219c30) 0 + primary-for QAnimationGroup (0x0x7fad6d219bc8) + QObject (0x0x7fad6d2127e0) 0 + primary-for QAbstractAnimation (0x0x7fad6d219c30) + +Class QSettings::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSettings::QPrivateSignal (0x0x7fad6d212a80) 0 empty + +Vtable for QSettings +QSettings::_ZTV9QSettings: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSettings) +16 (int (*)(...))QSettings::metaObject +24 (int (*)(...))QSettings::qt_metacast +32 (int (*)(...))QSettings::qt_metacall +40 (int (*)(...))QSettings::~QSettings +48 (int (*)(...))QSettings::~QSettings +56 (int (*)(...))QSettings::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSettings + size=16 align=8 + base size=16 base align=8 +QSettings (0x0x7fad6d219c98) 0 + vptr=((& QSettings::_ZTV9QSettings) + 16) + QObject (0x0x7fad6d212a20) 0 + primary-for QSettings (0x0x7fad6d219c98) + +Class QSharedMemory::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSharedMemory::QPrivateSignal (0x0x7fad6d212f00) 0 empty + +Vtable for QSharedMemory +QSharedMemory::_ZTV13QSharedMemory: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSharedMemory) +16 (int (*)(...))QSharedMemory::metaObject +24 (int (*)(...))QSharedMemory::qt_metacast +32 (int (*)(...))QSharedMemory::qt_metacall +40 (int (*)(...))QSharedMemory::~QSharedMemory +48 (int (*)(...))QSharedMemory::~QSharedMemory +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSharedMemory + size=16 align=8 + base size=16 base align=8 +QSharedMemory (0x0x7fad6d219d00) 0 + vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16) + QObject (0x0x7fad6d212ea0) 0 + primary-for QSharedMemory (0x0x7fad6d219d00) + +Class QSignalMapper::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSignalMapper::QPrivateSignal (0x0x7fad6d265180) 0 empty + +Vtable for QSignalMapper +QSignalMapper::_ZTV13QSignalMapper: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSignalMapper) +16 (int (*)(...))QSignalMapper::metaObject +24 (int (*)(...))QSignalMapper::qt_metacast +32 (int (*)(...))QSignalMapper::qt_metacall +40 (int (*)(...))QSignalMapper::~QSignalMapper +48 (int (*)(...))QSignalMapper::~QSignalMapper +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSignalMapper + size=16 align=8 + base size=16 base align=8 +QSignalMapper (0x0x7fad6d219d68) 0 + vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16) + QObject (0x0x7fad6d265120) 0 + primary-for QSignalMapper (0x0x7fad6d219d68) + +Class QSignalTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSignalTransition::QPrivateSignal (0x0x7fad6d2653c0) 0 empty + +Vtable for QSignalTransition +QSignalTransition::_ZTV17QSignalTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QSignalTransition) +16 (int (*)(...))QSignalTransition::metaObject +24 (int (*)(...))QSignalTransition::qt_metacast +32 (int (*)(...))QSignalTransition::qt_metacall +40 (int (*)(...))QSignalTransition::~QSignalTransition +48 (int (*)(...))QSignalTransition::~QSignalTransition +56 (int (*)(...))QSignalTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSignalTransition::eventTest +120 (int (*)(...))QSignalTransition::onTransition + +Class QSignalTransition + size=16 align=8 + base size=16 base align=8 +QSignalTransition (0x0x7fad6d219dd0) 0 + vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16) + QAbstractTransition (0x0x7fad6d219e38) 0 + primary-for QSignalTransition (0x0x7fad6d219dd0) + QObject (0x0x7fad6d265360) 0 + primary-for QAbstractTransition (0x0x7fad6d219e38) + +Class QSocketNotifier::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSocketNotifier::QPrivateSignal (0x0x7fad6d265660) 0 empty + +Vtable for QSocketNotifier +QSocketNotifier::_ZTV15QSocketNotifier: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSocketNotifier) +16 (int (*)(...))QSocketNotifier::metaObject +24 (int (*)(...))QSocketNotifier::qt_metacast +32 (int (*)(...))QSocketNotifier::qt_metacall +40 (int (*)(...))QSocketNotifier::~QSocketNotifier +48 (int (*)(...))QSocketNotifier::~QSocketNotifier +56 (int (*)(...))QSocketNotifier::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSocketNotifier + size=16 align=8 + base size=16 base align=8 +QSocketNotifier (0x0x7fad6d219ea0) 0 + vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16) + QObject (0x0x7fad6d265600) 0 + primary-for QSocketNotifier (0x0x7fad6d219ea0) + +Class QSortFilterProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSortFilterProxyModel::QPrivateSignal (0x0x7fad6d2658a0) 0 empty + +Vtable for QSortFilterProxyModel +QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QSortFilterProxyModel) +16 (int (*)(...))QSortFilterProxyModel::metaObject +24 (int (*)(...))QSortFilterProxyModel::qt_metacast +32 (int (*)(...))QSortFilterProxyModel::qt_metacall +40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel +48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSortFilterProxyModel::index +120 (int (*)(...))QSortFilterProxyModel::parent +128 (int (*)(...))QSortFilterProxyModel::sibling +136 (int (*)(...))QSortFilterProxyModel::rowCount +144 (int (*)(...))QSortFilterProxyModel::columnCount +152 (int (*)(...))QSortFilterProxyModel::hasChildren +160 (int (*)(...))QSortFilterProxyModel::data +168 (int (*)(...))QSortFilterProxyModel::setData +176 (int (*)(...))QSortFilterProxyModel::headerData +184 (int (*)(...))QSortFilterProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QSortFilterProxyModel::mimeTypes +216 (int (*)(...))QSortFilterProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QSortFilterProxyModel::dropMimeData +240 (int (*)(...))QSortFilterProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QSortFilterProxyModel::insertRows +264 (int (*)(...))QSortFilterProxyModel::insertColumns +272 (int (*)(...))QSortFilterProxyModel::removeRows +280 (int (*)(...))QSortFilterProxyModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QSortFilterProxyModel::fetchMore +312 (int (*)(...))QSortFilterProxyModel::canFetchMore +320 (int (*)(...))QSortFilterProxyModel::flags +328 (int (*)(...))QSortFilterProxyModel::sort +336 (int (*)(...))QSortFilterProxyModel::buddy +344 (int (*)(...))QSortFilterProxyModel::match +352 (int (*)(...))QSortFilterProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QSortFilterProxyModel::setSourceModel +392 (int (*)(...))QSortFilterProxyModel::mapToSource +400 (int (*)(...))QSortFilterProxyModel::mapFromSource +408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource +416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource +424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow +432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn +440 (int (*)(...))QSortFilterProxyModel::lessThan + +Class QSortFilterProxyModel + size=16 align=8 + base size=16 base align=8 +QSortFilterProxyModel (0x0x7fad6d219f08) 0 + vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16) + QAbstractProxyModel (0x0x7fad6d219f70) 0 + primary-for QSortFilterProxyModel (0x0x7fad6d219f08) + QAbstractItemModel (0x0x7fad6d297000) 0 + primary-for QAbstractProxyModel (0x0x7fad6d219f70) + QObject (0x0x7fad6d265840) 0 + primary-for QAbstractItemModel (0x0x7fad6d297000) + +Class QStandardPaths + size=1 align=1 + base size=0 base align=1 +QStandardPaths (0x0x7fad6d265cc0) 0 empty + +Class QState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QState::QPrivateSignal (0x0x7fad6d2dd600) 0 empty + +Vtable for QState +QState::_ZTV6QState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QState) +16 (int (*)(...))QState::metaObject +24 (int (*)(...))QState::qt_metacast +32 (int (*)(...))QState::qt_metacall +40 (int (*)(...))QState::~QState +48 (int (*)(...))QState::~QState +56 (int (*)(...))QState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QState::onEntry +120 (int (*)(...))QState::onExit + +Class QState + size=16 align=8 + base size=16 base align=8 +QState (0x0x7fad6d2971a0) 0 + vptr=((& QState::_ZTV6QState) + 16) + QAbstractState (0x0x7fad6d297208) 0 + primary-for QState (0x0x7fad6d2971a0) + QObject (0x0x7fad6d2dd5a0) 0 + primary-for QAbstractState (0x0x7fad6d297208) + +Class QStateMachine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStateMachine::QPrivateSignal (0x0x7fad6d2dda80) 0 empty + +Vtable for QStateMachine::SignalEvent +QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE) +16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent +24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent + +Class QStateMachine::SignalEvent + size=48 align=8 + base size=48 base align=8 +QStateMachine::SignalEvent (0x0x7fad6d2973a8) 0 + vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16) + QEvent (0x0x7fad6d2ddae0) 0 + primary-for QStateMachine::SignalEvent (0x0x7fad6d2973a8) + +Vtable for QStateMachine::WrappedEvent +QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE) +16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent +24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent + +Class QStateMachine::WrappedEvent + size=40 align=8 + base size=40 base align=8 +QStateMachine::WrappedEvent (0x0x7fad6d297410) 0 + vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16) + QEvent (0x0x7fad6d2ddb40) 0 + primary-for QStateMachine::WrappedEvent (0x0x7fad6d297410) + +Vtable for QStateMachine +QStateMachine::_ZTV13QStateMachine: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QStateMachine) +16 (int (*)(...))QStateMachine::metaObject +24 (int (*)(...))QStateMachine::qt_metacast +32 (int (*)(...))QStateMachine::qt_metacall +40 (int (*)(...))QStateMachine::~QStateMachine +48 (int (*)(...))QStateMachine::~QStateMachine +56 (int (*)(...))QStateMachine::event +64 (int (*)(...))QStateMachine::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStateMachine::onEntry +120 (int (*)(...))QStateMachine::onExit +128 (int (*)(...))QStateMachine::beginSelectTransitions +136 (int (*)(...))QStateMachine::endSelectTransitions +144 (int (*)(...))QStateMachine::beginMicrostep +152 (int (*)(...))QStateMachine::endMicrostep + +Class QStateMachine + size=16 align=8 + base size=16 base align=8 +QStateMachine (0x0x7fad6d297270) 0 + vptr=((& QStateMachine::_ZTV13QStateMachine) + 16) + QState (0x0x7fad6d2972d8) 0 + primary-for QStateMachine (0x0x7fad6d297270) + QAbstractState (0x0x7fad6d297340) 0 + primary-for QState (0x0x7fad6d2972d8) + QObject (0x0x7fad6d2dda20) 0 + primary-for QAbstractState (0x0x7fad6d297340) + +Class QStorageInfo + size=8 align=8 + base size=8 base align=8 +QStorageInfo (0x0x7fad6d2ddf00) 0 + +Class QAbstractConcatenable + size=1 align=1 + base size=0 base align=1 +QAbstractConcatenable (0x0x7fad6d009cc0) 0 empty + +Class QStringListModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStringListModel::QPrivateSignal (0x0x7fad6d0bc060) 0 empty + +Vtable for QStringListModel +QStringListModel::_ZTV16QStringListModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QStringListModel) +16 (int (*)(...))QStringListModel::metaObject +24 (int (*)(...))QStringListModel::qt_metacast +32 (int (*)(...))QStringListModel::qt_metacall +40 (int (*)(...))QStringListModel::~QStringListModel +48 (int (*)(...))QStringListModel::~QStringListModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractListModel::index +120 (int (*)(...))QAbstractListModel::parent +128 (int (*)(...))QStringListModel::sibling +136 (int (*)(...))QStringListModel::rowCount +144 (int (*)(...))QAbstractListModel::columnCount +152 (int (*)(...))QAbstractListModel::hasChildren +160 (int (*)(...))QStringListModel::data +168 (int (*)(...))QStringListModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QStringListModel::itemData +200 (int (*)(...))QStringListModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractListModel::dropMimeData +240 (int (*)(...))QStringListModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QStringListModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QStringListModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QStringListModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QStringListModel::flags +328 (int (*)(...))QStringListModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QStringListModel + size=24 align=8 + base size=24 base align=8 +QStringListModel (0x0x7fad6d083d00) 0 + vptr=((& QStringListModel::_ZTV16QStringListModel) + 16) + QAbstractListModel (0x0x7fad6d083d68) 0 + primary-for QStringListModel (0x0x7fad6d083d00) + QAbstractItemModel (0x0x7fad6d083dd0) 0 + primary-for QAbstractListModel (0x0x7fad6d083d68) + QObject (0x0x7fad6d0bc000) 0 + primary-for QAbstractItemModel (0x0x7fad6d083dd0) + +Class QSystemSemaphore + size=8 align=8 + base size=8 base align=8 +QSystemSemaphore (0x0x7fad6d0bc180) 0 + +Class QTemporaryDir + size=8 align=8 + base size=8 base align=8 +QTemporaryDir (0x0x7fad6d0bc240) 0 + +Class QTemporaryFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTemporaryFile::QPrivateSignal (0x0x7fad6d0bc360) 0 empty + +Vtable for QTemporaryFile +QTemporaryFile::_ZTV14QTemporaryFile: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QTemporaryFile) +16 (int (*)(...))QTemporaryFile::metaObject +24 (int (*)(...))QTemporaryFile::qt_metacast +32 (int (*)(...))QTemporaryFile::qt_metacall +40 (int (*)(...))QTemporaryFile::~QTemporaryFile +48 (int (*)(...))QTemporaryFile::~QTemporaryFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QTemporaryFile::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFile::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QFileDevice::writeData +240 (int (*)(...))QTemporaryFile::fileName +248 (int (*)(...))QFile::resize +256 (int (*)(...))QFile::permissions +264 (int (*)(...))QFile::setPermissions + +Class QTemporaryFile + size=16 align=8 + base size=16 base align=8 +QTemporaryFile (0x0x7fad6d083e38) 0 + vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16) + QFile (0x0x7fad6d083ea0) 0 + primary-for QTemporaryFile (0x0x7fad6d083e38) + QFileDevice (0x0x7fad6d083f08) 0 + primary-for QFile (0x0x7fad6d083ea0) + QIODevice (0x0x7fad6d083f70) 0 + primary-for QFileDevice (0x0x7fad6d083f08) + QObject (0x0x7fad6d0bc300) 0 + primary-for QIODevice (0x0x7fad6d083f70) + +Class QTextBoundaryFinder + size=48 align=8 + base size=48 base align=8 +QTextBoundaryFinder (0x0x7fad6d0bc6c0) 0 + +Class QTextCodec::ConverterState + size=32 align=8 + base size=32 base align=8 +QTextCodec::ConverterState (0x0x7fad6d0bcf00) 0 + +Vtable for QTextCodec +QTextCodec::_ZTV10QTextCodec: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTextCodec) +16 (int (*)(...))__cxa_pure_virtual +24 (int (*)(...))QTextCodec::aliases +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 0 +64 0 + +Class QTextCodec + size=8 align=8 + base size=8 base align=8 +QTextCodec (0x0x7fad6d0bcea0) 0 nearly-empty + vptr=((& QTextCodec::_ZTV10QTextCodec) + 16) + +Class QTextEncoder + size=40 align=8 + base size=40 base align=8 +QTextEncoder (0x0x7fad6d13a900) 0 + +Class QTextDecoder + size=40 align=8 + base size=40 base align=8 +QTextDecoder (0x0x7fad6d13aae0) 0 + +Vtable for std::thread::_State +std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt6thread6_StateE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class std::thread::_State + size=8 align=8 + base size=8 base align=8 +std::thread::_State (0x0x7fad6d13ad20) 0 nearly-empty + vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16) + +Class std::thread::id + size=8 align=8 + base size=8 base align=8 +std::thread::id (0x0x7fad6d13ad80) 0 + +Class std::thread + size=8 align=8 + base size=8 base align=8 +std::thread (0x0x7fad6d13acc0) 0 + +Class std::condition_variable + size=48 align=8 + base size=48 base align=8 +std::condition_variable (0x0x7fad6cc25180) 0 + +Class std::__at_thread_exit_elt + size=16 align=8 + base size=16 base align=8 +std::__at_thread_exit_elt (0x0x7fad6cc25540) 0 + +Class std::_V2::condition_variable_any + size=64 align=8 + base size=64 base align=8 +std::_V2::condition_variable_any (0x0x7fad6cc255a0) 0 + +Class std::__atomic_futex_unsigned_base + size=1 align=1 + base size=0 base align=1 +std::__atomic_futex_unsigned_base (0x0x7fad6c9a98a0) 0 empty + +Vtable for std::future_error +std::future_error::_ZTVSt12future_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12future_error) +16 (int (*)(...))std::future_error::~future_error +24 (int (*)(...))std::future_error::~future_error +32 (int (*)(...))std::future_error::what + +Class std::future_error + size=32 align=8 + base size=32 base align=8 +std::future_error (0x0x7fad6c9af340) 0 + vptr=((& std::future_error::_ZTVSt12future_error) + 16) + std::logic_error (0x0x7fad6c9af3a8) 0 + primary-for std::future_error (0x0x7fad6c9af340) + std::exception (0x0x7fad6c9d8000) 0 nearly-empty + primary-for std::logic_error (0x0x7fad6c9af3a8) + +Class std::__future_base::_Result_base::_Deleter + size=1 align=1 + base size=0 base align=1 +std::__future_base::_Result_base::_Deleter (0x0x7fad6c9d8720) 0 empty + +Vtable for std::__future_base::_Result_base +std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE) +16 (int (*)(...))__cxa_pure_virtual +24 0 +32 0 + +Class std::__future_base::_Result_base + size=16 align=8 + base size=16 base align=8 +std::__future_base::_Result_base (0x0x7fad6c9d86c0) 0 + vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16) + +Class std::__future_base::_State_baseV2::__exception_ptr_tag + size=1 align=1 + base size=0 base align=1 +std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7fad6c79ce40) 0 empty + +Class std::__future_base::_State_baseV2::_Make_ready + size=32 align=8 + base size=32 base align=8 +std::__future_base::_State_baseV2::_Make_ready (0x0x7fad6c7a5bc8) 0 + std::__at_thread_exit_elt (0x0x7fad6c79cf00) 0 + +Vtable for std::__future_base::_State_baseV2 +std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E) +16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2 +24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2 +32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async +40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future + +Class std::__future_base::_State_baseV2 + size=32 align=8 + base size=28 base align=8 +std::__future_base::_State_baseV2 (0x0x7fad6c9d88a0) 0 + vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16) + +Class std::__future_base + size=1 align=1 + base size=0 base align=1 +std::__future_base (0x0x7fad6c9d8660) 0 empty + +Vtable for std::__future_base::_Async_state_commonV2 +std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E) +16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2 +24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2 +32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async +40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future + +Class std::__future_base::_Async_state_commonV2 + size=48 align=8 + base size=44 base align=8 +std::__future_base::_Async_state_commonV2 (0x0x7fad6bf468f0) 0 + vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16) + std::__future_base::_State_baseV2 (0x0x7fad6bf58f00) 0 + primary-for std::__future_base::_Async_state_commonV2 (0x0x7fad6bf468f0) + +Class QThread::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QThread::QPrivateSignal (0x0x7fad6bf937e0) 0 empty + +Vtable for QThread +QThread::_ZTV7QThread: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QThread) +16 (int (*)(...))QThread::metaObject +24 (int (*)(...))QThread::qt_metacast +32 (int (*)(...))QThread::qt_metacall +40 (int (*)(...))QThread::~QThread +48 (int (*)(...))QThread::~QThread +56 (int (*)(...))QThread::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QThread::run + +Class QThread + size=16 align=8 + base size=16 base align=8 +QThread (0x0x7fad6bf46c30) 0 + vptr=((& QThread::_ZTV7QThread) + 16) + QObject (0x0x7fad6bf93780) 0 + primary-for QThread (0x0x7fad6bf46c30) + +Class QThreadPool::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QThreadPool::QPrivateSignal (0x0x7fad6bf93ba0) 0 empty + +Vtable for QThreadPool +QThreadPool::_ZTV11QThreadPool: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QThreadPool) +16 (int (*)(...))QThreadPool::metaObject +24 (int (*)(...))QThreadPool::qt_metacast +32 (int (*)(...))QThreadPool::qt_metacall +40 (int (*)(...))QThreadPool::~QThreadPool +48 (int (*)(...))QThreadPool::~QThreadPool +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QThreadPool + size=16 align=8 + base size=16 base align=8 +QThreadPool (0x0x7fad6bf46c98) 0 + vptr=((& QThreadPool::_ZTV11QThreadPool) + 16) + QObject (0x0x7fad6bf93b40) 0 + primary-for QThreadPool (0x0x7fad6bf46c98) + +Class QThreadStorageData + size=4 align=4 + base size=4 base align=4 +QThreadStorageData (0x0x7fad6bf93d80) 0 + +Class QTimeLine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimeLine::QPrivateSignal (0x0x7fad6bfda480) 0 empty + +Vtable for QTimeLine +QTimeLine::_ZTV9QTimeLine: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTimeLine) +16 (int (*)(...))QTimeLine::metaObject +24 (int (*)(...))QTimeLine::qt_metacast +32 (int (*)(...))QTimeLine::qt_metacall +40 (int (*)(...))QTimeLine::~QTimeLine +48 (int (*)(...))QTimeLine::~QTimeLine +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTimeLine::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTimeLine::valueForTime + +Class QTimeLine + size=16 align=8 + base size=16 base align=8 +QTimeLine (0x0x7fad6bf46d00) 0 + vptr=((& QTimeLine::_ZTV9QTimeLine) + 16) + QObject (0x0x7fad6bfda420) 0 + primary-for QTimeLine (0x0x7fad6bf46d00) + +Class QTimer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimer::QPrivateSignal (0x0x7fad6bfda6c0) 0 empty + +Vtable for QTimer +QTimer::_ZTV6QTimer: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QTimer) +16 (int (*)(...))QTimer::metaObject +24 (int (*)(...))QTimer::qt_metacast +32 (int (*)(...))QTimer::qt_metacall +40 (int (*)(...))QTimer::~QTimer +48 (int (*)(...))QTimer::~QTimer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTimer::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTimer + size=32 align=8 + base size=29 base align=8 +QTimer (0x0x7fad6bf46d68) 0 + vptr=((& QTimer::_ZTV6QTimer) + 16) + QObject (0x0x7fad6bfda660) 0 + primary-for QTimer (0x0x7fad6bf46d68) + +Class QTimeZone::OffsetData + size=32 align=8 + base size=28 base align=8 +QTimeZone::OffsetData (0x0x7fad6c043060) 0 + +Class QTimeZone + size=8 align=8 + base size=8 base align=8 +QTimeZone (0x0x7fad6c043000) 0 + +Class QTranslator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTranslator::QPrivateSignal (0x0x7fad6c0e0120) 0 empty + +Vtable for QTranslator +QTranslator::_ZTV11QTranslator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTranslator) +16 (int (*)(...))QTranslator::metaObject +24 (int (*)(...))QTranslator::qt_metacast +32 (int (*)(...))QTranslator::qt_metacall +40 (int (*)(...))QTranslator::~QTranslator +48 (int (*)(...))QTranslator::~QTranslator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTranslator::translate +120 (int (*)(...))QTranslator::isEmpty + +Class QTranslator + size=16 align=8 + base size=16 base align=8 +QTranslator (0x0x7fad6c0da478) 0 + vptr=((& QTranslator::_ZTV11QTranslator) + 16) + QObject (0x0x7fad6c0e00c0) 0 + primary-for QTranslator (0x0x7fad6c0da478) + +Class QTransposeProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTransposeProxyModel::QPrivateSignal (0x0x7fad6c0e0360) 0 empty + +Vtable for QTransposeProxyModel +QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QTransposeProxyModel) +16 (int (*)(...))QTransposeProxyModel::metaObject +24 (int (*)(...))QTransposeProxyModel::qt_metacast +32 (int (*)(...))QTransposeProxyModel::qt_metacall +40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel +48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTransposeProxyModel::index +120 (int (*)(...))QTransposeProxyModel::parent +128 (int (*)(...))QAbstractProxyModel::sibling +136 (int (*)(...))QTransposeProxyModel::rowCount +144 (int (*)(...))QTransposeProxyModel::columnCount +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QTransposeProxyModel::headerData +184 (int (*)(...))QTransposeProxyModel::setHeaderData +192 (int (*)(...))QTransposeProxyModel::itemData +200 (int (*)(...))QTransposeProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::mimeTypes +216 (int (*)(...))QAbstractProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QAbstractProxyModel::dropMimeData +240 (int (*)(...))QAbstractProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QTransposeProxyModel::insertRows +264 (int (*)(...))QTransposeProxyModel::insertColumns +272 (int (*)(...))QTransposeProxyModel::removeRows +280 (int (*)(...))QTransposeProxyModel::removeColumns +288 (int (*)(...))QTransposeProxyModel::moveRows +296 (int (*)(...))QTransposeProxyModel::moveColumns +304 (int (*)(...))QAbstractProxyModel::fetchMore +312 (int (*)(...))QAbstractProxyModel::canFetchMore +320 (int (*)(...))QAbstractProxyModel::flags +328 (int (*)(...))QTransposeProxyModel::sort +336 (int (*)(...))QAbstractProxyModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QTransposeProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QTransposeProxyModel::setSourceModel +392 (int (*)(...))QTransposeProxyModel::mapToSource +400 (int (*)(...))QTransposeProxyModel::mapFromSource +408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource +416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource + +Class QTransposeProxyModel + size=16 align=8 + base size=16 base align=8 +QTransposeProxyModel (0x0x7fad6c0da4e0) 0 + vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16) + QAbstractProxyModel (0x0x7fad6c0da548) 0 + primary-for QTransposeProxyModel (0x0x7fad6c0da4e0) + QAbstractItemModel (0x0x7fad6c0da5b0) 0 + primary-for QAbstractProxyModel (0x0x7fad6c0da548) + QObject (0x0x7fad6c0e0300) 0 + primary-for QAbstractItemModel (0x0x7fad6c0da5b0) + +Class QUrlQuery + size=8 align=8 + base size=8 base align=8 +QUrlQuery (0x0x7fad6c0e0540) 0 + +Class QWaitCondition + size=8 align=8 + base size=8 base align=8 +QWaitCondition (0x0x7fad6bddba20) 0 + +Class QXmlStreamStringRef + size=16 align=8 + base size=16 base align=8 +QXmlStreamStringRef (0x0x7fad6bddbb40) 0 + +Class QXmlStreamAttribute + size=80 align=8 + base size=73 base align=8 +QXmlStreamAttribute (0x0x7fad6be71f00) 0 + +Class QXmlStreamAttributes + size=8 align=8 + base size=8 base align=8 +QXmlStreamAttributes (0x0x7fad6bee9888) 0 + QVector (0x0x7fad6beec660) 0 + +Class QXmlStreamNamespaceDeclaration + size=40 align=8 + base size=40 base align=8 +QXmlStreamNamespaceDeclaration (0x0x7fad6beec960) 0 + +Class QXmlStreamNotationDeclaration + size=56 align=8 + base size=56 base align=8 +QXmlStreamNotationDeclaration (0x0x7fad6bb6f900) 0 + +Class QXmlStreamEntityDeclaration + size=88 align=8 + base size=88 base align=8 +QXmlStreamEntityDeclaration (0x0x7fad6bbce900) 0 + +Vtable for QXmlStreamEntityResolver +QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver) +16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver +24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver +32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity +40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity + +Class QXmlStreamEntityResolver + size=8 align=8 + base size=8 base align=8 +QXmlStreamEntityResolver (0x0x7fad6bc3a9c0) 0 nearly-empty + vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16) + +Class QXmlStreamReader + size=8 align=8 + base size=8 base align=8 +QXmlStreamReader (0x0x7fad6bc3aa20) 0 + +Class QXmlStreamWriter + size=8 align=8 + base size=8 base align=8 +QXmlStreamWriter (0x0x7fad6bc7d900) 0 + +Class QRgba64 + size=8 align=8 + base size=8 base align=8 +QRgba64 (0x0x7fad6bc7df00) 0 + +Class QColor::CT + size=10 align=2 + base size=10 base align=2 +QColor::CT (0x0x7fad6b993000) 0 + +Class QColor + size=16 align=4 + base size=14 base align=4 +QColor (0x0x7fad6b94cf60) 0 + +Class QRegion::QRegionData + size=16 align=8 + base size=16 base align=8 +QRegion::QRegionData (0x0x7fad6ba15ea0) 0 + +Class QRegion + size=8 align=8 + base size=8 base align=8 +QRegion (0x0x7fad6ba15e40) 0 + +Class QKeySequence + size=8 align=8 + base size=8 base align=8 +QKeySequence (0x0x7fad6b7a0ae0) 0 + +Class QVector2D + size=8 align=4 + base size=8 base align=4 +QVector2D (0x0x7fad6b887660) 0 + +Class QTouchDevice + size=8 align=8 + base size=8 base align=8 +QTouchDevice (0x0x7fad6b8f4720) 0 + +Vtable for QInputEvent +QInputEvent::_ZTV11QInputEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QInputEvent) +16 (int (*)(...))QInputEvent::~QInputEvent +24 (int (*)(...))QInputEvent::~QInputEvent + +Class QInputEvent + size=32 align=8 + base size=32 base align=8 +QInputEvent (0x0x7fad6b8cbf70) 0 + vptr=((& QInputEvent::_ZTV11QInputEvent) + 16) + QEvent (0x0x7fad6b543000) 0 + primary-for QInputEvent (0x0x7fad6b8cbf70) + +Vtable for QEnterEvent +QEnterEvent::_ZTV11QEnterEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QEnterEvent) +16 (int (*)(...))QEnterEvent::~QEnterEvent +24 (int (*)(...))QEnterEvent::~QEnterEvent + +Class QEnterEvent + size=72 align=8 + base size=72 base align=8 +QEnterEvent (0x0x7fad6b54c000) 0 + vptr=((& QEnterEvent::_ZTV11QEnterEvent) + 16) + QEvent (0x0x7fad6b5431e0) 0 + primary-for QEnterEvent (0x0x7fad6b54c000) + +Vtable for QMouseEvent +QMouseEvent::_ZTV11QMouseEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QMouseEvent) +16 (int (*)(...))QMouseEvent::~QMouseEvent +24 (int (*)(...))QMouseEvent::~QMouseEvent + +Class QMouseEvent + size=104 align=8 + base size=100 base align=8 +QMouseEvent (0x0x7fad6b54c068) 0 + vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16) + QInputEvent (0x0x7fad6b54c0d0) 0 + primary-for QMouseEvent (0x0x7fad6b54c068) + QEvent (0x0x7fad6b5435a0) 0 + primary-for QInputEvent (0x0x7fad6b54c0d0) + +Vtable for QHoverEvent +QHoverEvent::_ZTV11QHoverEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHoverEvent) +16 (int (*)(...))QHoverEvent::~QHoverEvent +24 (int (*)(...))QHoverEvent::~QHoverEvent + +Class QHoverEvent + size=64 align=8 + base size=64 base align=8 +QHoverEvent (0x0x7fad6b54c138) 0 + vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16) + QInputEvent (0x0x7fad6b54c1a0) 0 + primary-for QHoverEvent (0x0x7fad6b54c138) + QEvent (0x0x7fad6b543a80) 0 + primary-for QInputEvent (0x0x7fad6b54c1a0) + +Vtable for QWheelEvent +QWheelEvent::_ZTV11QWheelEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QWheelEvent) +16 (int (*)(...))QWheelEvent::~QWheelEvent +24 (int (*)(...))QWheelEvent::~QWheelEvent + +Class QWheelEvent + size=96 align=8 + base size=96 base align=8 +QWheelEvent (0x0x7fad6b54c208) 0 + vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16) + QInputEvent (0x0x7fad6b54c270) 0 + primary-for QWheelEvent (0x0x7fad6b54c208) + QEvent (0x0x7fad6b543c60) 0 + primary-for QInputEvent (0x0x7fad6b54c270) + +Vtable for QTabletEvent +QTabletEvent::_ZTV12QTabletEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QTabletEvent) +16 (int (*)(...))QTabletEvent::~QTabletEvent +24 (int (*)(...))QTabletEvent::~QTabletEvent + +Class QTabletEvent + size=128 align=8 + base size=128 base align=8 +QTabletEvent (0x0x7fad6b54c2d8) 0 + vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16) + QInputEvent (0x0x7fad6b54c340) 0 + primary-for QTabletEvent (0x0x7fad6b54c2d8) + QEvent (0x0x7fad6b58a3c0) 0 + primary-for QInputEvent (0x0x7fad6b54c340) + +Vtable for QNativeGestureEvent +QNativeGestureEvent::_ZTV19QNativeGestureEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QNativeGestureEvent) +16 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent +24 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent + +Class QNativeGestureEvent + size=112 align=8 + base size=112 base align=8 +QNativeGestureEvent (0x0x7fad6b54c3a8) 0 + vptr=((& QNativeGestureEvent::_ZTV19QNativeGestureEvent) + 16) + QInputEvent (0x0x7fad6b54c410) 0 + primary-for QNativeGestureEvent (0x0x7fad6b54c3a8) + QEvent (0x0x7fad6b58acc0) 0 + primary-for QInputEvent (0x0x7fad6b54c410) + +Vtable for QKeyEvent +QKeyEvent::_ZTV9QKeyEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QKeyEvent) +16 (int (*)(...))QKeyEvent::~QKeyEvent +24 (int (*)(...))QKeyEvent::~QKeyEvent + +Class QKeyEvent + size=64 align=8 + base size=59 base align=8 +QKeyEvent (0x0x7fad6b54c478) 0 + vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16) + QInputEvent (0x0x7fad6b54c4e0) 0 + primary-for QKeyEvent (0x0x7fad6b54c478) + QEvent (0x0x7fad6b5ba000) 0 + primary-for QInputEvent (0x0x7fad6b54c4e0) + +Vtable for QFocusEvent +QFocusEvent::_ZTV11QFocusEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFocusEvent) +16 (int (*)(...))QFocusEvent::~QFocusEvent +24 (int (*)(...))QFocusEvent::~QFocusEvent + +Class QFocusEvent + size=24 align=8 + base size=24 base align=8 +QFocusEvent (0x0x7fad6b54c548) 0 + vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16) + QEvent (0x0x7fad6b5ba300) 0 + primary-for QFocusEvent (0x0x7fad6b54c548) + +Vtable for QPaintEvent +QPaintEvent::_ZTV11QPaintEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QPaintEvent) +16 (int (*)(...))QPaintEvent::~QPaintEvent +24 (int (*)(...))QPaintEvent::~QPaintEvent + +Class QPaintEvent + size=56 align=8 + base size=49 base align=8 +QPaintEvent (0x0x7fad6b54c5b0) 0 + vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16) + QEvent (0x0x7fad6b5ba420) 0 + primary-for QPaintEvent (0x0x7fad6b54c5b0) + +Vtable for QMoveEvent +QMoveEvent::_ZTV10QMoveEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QMoveEvent) +16 (int (*)(...))QMoveEvent::~QMoveEvent +24 (int (*)(...))QMoveEvent::~QMoveEvent + +Class QMoveEvent + size=40 align=8 + base size=36 base align=8 +QMoveEvent (0x0x7fad6b54c618) 0 + vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16) + QEvent (0x0x7fad6b5ba540) 0 + primary-for QMoveEvent (0x0x7fad6b54c618) + +Vtable for QExposeEvent +QExposeEvent::_ZTV12QExposeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QExposeEvent) +16 (int (*)(...))QExposeEvent::~QExposeEvent +24 (int (*)(...))QExposeEvent::~QExposeEvent + +Class QExposeEvent + size=32 align=8 + base size=32 base align=8 +QExposeEvent (0x0x7fad6b54c680) 0 + vptr=((& QExposeEvent::_ZTV12QExposeEvent) + 16) + QEvent (0x0x7fad6b5ba660) 0 + primary-for QExposeEvent (0x0x7fad6b54c680) + +Vtable for QPlatformSurfaceEvent +QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QPlatformSurfaceEvent) +16 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent +24 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent + +Class QPlatformSurfaceEvent + size=24 align=8 + base size=24 base align=8 +QPlatformSurfaceEvent (0x0x7fad6b54c6e8) 0 + vptr=((& QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent) + 16) + QEvent (0x0x7fad6b5ba720) 0 + primary-for QPlatformSurfaceEvent (0x0x7fad6b54c6e8) + +Vtable for QResizeEvent +QResizeEvent::_ZTV12QResizeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QResizeEvent) +16 (int (*)(...))QResizeEvent::~QResizeEvent +24 (int (*)(...))QResizeEvent::~QResizeEvent + +Class QResizeEvent + size=40 align=8 + base size=36 base align=8 +QResizeEvent (0x0x7fad6b54c750) 0 + vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16) + QEvent (0x0x7fad6b5ba7e0) 0 + primary-for QResizeEvent (0x0x7fad6b54c750) + +Vtable for QCloseEvent +QCloseEvent::_ZTV11QCloseEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QCloseEvent) +16 (int (*)(...))QCloseEvent::~QCloseEvent +24 (int (*)(...))QCloseEvent::~QCloseEvent + +Class QCloseEvent + size=24 align=8 + base size=20 base align=8 +QCloseEvent (0x0x7fad6b54c7b8) 0 + vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16) + QEvent (0x0x7fad6b5ba900) 0 + primary-for QCloseEvent (0x0x7fad6b54c7b8) + +Vtable for QIconDragEvent +QIconDragEvent::_ZTV14QIconDragEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QIconDragEvent) +16 (int (*)(...))QIconDragEvent::~QIconDragEvent +24 (int (*)(...))QIconDragEvent::~QIconDragEvent + +Class QIconDragEvent + size=24 align=8 + base size=20 base align=8 +QIconDragEvent (0x0x7fad6b54c820) 0 + vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16) + QEvent (0x0x7fad6b5ba960) 0 + primary-for QIconDragEvent (0x0x7fad6b54c820) + +Vtable for QShowEvent +QShowEvent::_ZTV10QShowEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QShowEvent) +16 (int (*)(...))QShowEvent::~QShowEvent +24 (int (*)(...))QShowEvent::~QShowEvent + +Class QShowEvent + size=24 align=8 + base size=20 base align=8 +QShowEvent (0x0x7fad6b54c888) 0 + vptr=((& QShowEvent::_ZTV10QShowEvent) + 16) + QEvent (0x0x7fad6b5ba9c0) 0 + primary-for QShowEvent (0x0x7fad6b54c888) + +Vtable for QHideEvent +QHideEvent::_ZTV10QHideEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QHideEvent) +16 (int (*)(...))QHideEvent::~QHideEvent +24 (int (*)(...))QHideEvent::~QHideEvent + +Class QHideEvent + size=24 align=8 + base size=20 base align=8 +QHideEvent (0x0x7fad6b54c8f0) 0 + vptr=((& QHideEvent::_ZTV10QHideEvent) + 16) + QEvent (0x0x7fad6b5baa20) 0 + primary-for QHideEvent (0x0x7fad6b54c8f0) + +Vtable for QContextMenuEvent +QContextMenuEvent::_ZTV17QContextMenuEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QContextMenuEvent) +16 (int (*)(...))QContextMenuEvent::~QContextMenuEvent +24 (int (*)(...))QContextMenuEvent::~QContextMenuEvent + +Class QContextMenuEvent + size=56 align=8 + base size=49 base align=8 +QContextMenuEvent (0x0x7fad6b54c958) 0 + vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16) + QInputEvent (0x0x7fad6b54c9c0) 0 + primary-for QContextMenuEvent (0x0x7fad6b54c958) + QEvent (0x0x7fad6b5baa80) 0 + primary-for QInputEvent (0x0x7fad6b54c9c0) + +Class QInputMethodEvent::Attribute + size=32 align=8 + base size=32 base align=8 +QInputMethodEvent::Attribute (0x0x7fad6b5bade0) 0 + +Vtable for QInputMethodEvent +QInputMethodEvent::_ZTV17QInputMethodEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QInputMethodEvent) +16 (int (*)(...))QInputMethodEvent::~QInputMethodEvent +24 (int (*)(...))QInputMethodEvent::~QInputMethodEvent + +Class QInputMethodEvent + size=56 align=8 + base size=56 base align=8 +QInputMethodEvent (0x0x7fad6b54ca28) 0 + vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16) + QEvent (0x0x7fad6b5bad80) 0 + primary-for QInputMethodEvent (0x0x7fad6b54ca28) + +Class QInputMethodQueryEvent::QueryPair + size=24 align=8 + base size=24 base align=8 +QInputMethodQueryEvent::QueryPair (0x0x7fad6b682180) 0 + +Vtable for QInputMethodQueryEvent +QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QInputMethodQueryEvent) +16 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent +24 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent + +Class QInputMethodQueryEvent + size=32 align=8 + base size=32 base align=8 +QInputMethodQueryEvent (0x0x7fad6b66ec30) 0 + vptr=((& QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent) + 16) + QEvent (0x0x7fad6b682120) 0 + primary-for QInputMethodQueryEvent (0x0x7fad6b66ec30) + +Vtable for QDropEvent +QDropEvent::_ZTV10QDropEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QDropEvent) +16 (int (*)(...))QDropEvent::~QDropEvent +24 (int (*)(...))QDropEvent::~QDropEvent + +Class QDropEvent + size=72 align=8 + base size=72 base align=8 +QDropEvent (0x0x7fad6b6e6d00) 0 + vptr=((& QDropEvent::_ZTV10QDropEvent) + 16) + QEvent (0x0x7fad6b6dfea0) 0 + primary-for QDropEvent (0x0x7fad6b6e6d00) + +Vtable for QDragMoveEvent +QDragMoveEvent::_ZTV14QDragMoveEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QDragMoveEvent) +16 (int (*)(...))QDragMoveEvent::~QDragMoveEvent +24 (int (*)(...))QDragMoveEvent::~QDragMoveEvent + +Class QDragMoveEvent + size=88 align=8 + base size=88 base align=8 +QDragMoveEvent (0x0x7fad6b6e6d68) 0 + vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16) + QDropEvent (0x0x7fad6b6e6dd0) 0 + primary-for QDragMoveEvent (0x0x7fad6b6e6d68) + QEvent (0x0x7fad6b7082a0) 0 + primary-for QDropEvent (0x0x7fad6b6e6dd0) + +Vtable for QDragEnterEvent +QDragEnterEvent::_ZTV15QDragEnterEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QDragEnterEvent) +16 (int (*)(...))QDragEnterEvent::~QDragEnterEvent +24 (int (*)(...))QDragEnterEvent::~QDragEnterEvent + +Class QDragEnterEvent + size=88 align=8 + base size=88 base align=8 +QDragEnterEvent (0x0x7fad6b6e6e38) 0 + vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16) + QDragMoveEvent (0x0x7fad6b6e6ea0) 0 + primary-for QDragEnterEvent (0x0x7fad6b6e6e38) + QDropEvent (0x0x7fad6b6e6f08) 0 + primary-for QDragMoveEvent (0x0x7fad6b6e6ea0) + QEvent (0x0x7fad6b7084e0) 0 + primary-for QDropEvent (0x0x7fad6b6e6f08) + +Vtable for QDragLeaveEvent +QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QDragLeaveEvent) +16 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent +24 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent + +Class QDragLeaveEvent + size=24 align=8 + base size=20 base align=8 +QDragLeaveEvent (0x0x7fad6b6e6f70) 0 + vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16) + QEvent (0x0x7fad6b708540) 0 + primary-for QDragLeaveEvent (0x0x7fad6b6e6f70) + +Vtable for QHelpEvent +QHelpEvent::_ZTV10QHelpEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QHelpEvent) +16 (int (*)(...))QHelpEvent::~QHelpEvent +24 (int (*)(...))QHelpEvent::~QHelpEvent + +Class QHelpEvent + size=40 align=8 + base size=36 base align=8 +QHelpEvent (0x0x7fad6b71b000) 0 + vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16) + QEvent (0x0x7fad6b7085a0) 0 + primary-for QHelpEvent (0x0x7fad6b71b000) + +Vtable for QStatusTipEvent +QStatusTipEvent::_ZTV15QStatusTipEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QStatusTipEvent) +16 (int (*)(...))QStatusTipEvent::~QStatusTipEvent +24 (int (*)(...))QStatusTipEvent::~QStatusTipEvent + +Class QStatusTipEvent + size=32 align=8 + base size=32 base align=8 +QStatusTipEvent (0x0x7fad6b71b068) 0 + vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16) + QEvent (0x0x7fad6b708840) 0 + primary-for QStatusTipEvent (0x0x7fad6b71b068) + +Vtable for QWhatsThisClickedEvent +QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent) +16 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent +24 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent + +Class QWhatsThisClickedEvent + size=32 align=8 + base size=32 base align=8 +QWhatsThisClickedEvent (0x0x7fad6b71b0d0) 0 + vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16) + QEvent (0x0x7fad6b708900) 0 + primary-for QWhatsThisClickedEvent (0x0x7fad6b71b0d0) + +Vtable for QActionEvent +QActionEvent::_ZTV12QActionEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QActionEvent) +16 (int (*)(...))QActionEvent::~QActionEvent +24 (int (*)(...))QActionEvent::~QActionEvent + +Class QActionEvent + size=40 align=8 + base size=40 base align=8 +QActionEvent (0x0x7fad6b71b138) 0 + vptr=((& QActionEvent::_ZTV12QActionEvent) + 16) + QEvent (0x0x7fad6b7089c0) 0 + primary-for QActionEvent (0x0x7fad6b71b138) + +Vtable for QFileOpenEvent +QFileOpenEvent::_ZTV14QFileOpenEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QFileOpenEvent) +16 (int (*)(...))QFileOpenEvent::~QFileOpenEvent +24 (int (*)(...))QFileOpenEvent::~QFileOpenEvent + +Class QFileOpenEvent + size=40 align=8 + base size=40 base align=8 +QFileOpenEvent (0x0x7fad6b71b1a0) 0 + vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16) + QEvent (0x0x7fad6b708ae0) 0 + primary-for QFileOpenEvent (0x0x7fad6b71b1a0) + +Vtable for QToolBarChangeEvent +QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QToolBarChangeEvent) +16 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent +24 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent + +Class QToolBarChangeEvent + size=24 align=8 + base size=21 base align=8 +QToolBarChangeEvent (0x0x7fad6b71b208) 0 + vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16) + QEvent (0x0x7fad6b708c00) 0 + primary-for QToolBarChangeEvent (0x0x7fad6b71b208) + +Vtable for QShortcutEvent +QShortcutEvent::_ZTV14QShortcutEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QShortcutEvent) +16 (int (*)(...))QShortcutEvent::~QShortcutEvent +24 (int (*)(...))QShortcutEvent::~QShortcutEvent + +Class QShortcutEvent + size=40 align=8 + base size=40 base align=8 +QShortcutEvent (0x0x7fad6b71b270) 0 + vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16) + QEvent (0x0x7fad6b708cc0) 0 + primary-for QShortcutEvent (0x0x7fad6b71b270) + +Vtable for QWindowStateChangeEvent +QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent) +16 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent +24 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent + +Class QWindowStateChangeEvent + size=32 align=8 + base size=25 base align=8 +QWindowStateChangeEvent (0x0x7fad6b71b2d8) 0 + vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16) + QEvent (0x0x7fad6b708e40) 0 + primary-for QWindowStateChangeEvent (0x0x7fad6b71b2d8) + +Class QPointingDeviceUniqueId + size=8 align=8 + base size=8 base align=8 +QPointingDeviceUniqueId (0x0x7fad6b345000) 0 + +Class QTouchEvent::TouchPoint + size=8 align=8 + base size=8 base align=8 +QTouchEvent::TouchPoint (0x0x7fad6b38f3c0) 0 + +Vtable for QTouchEvent +QTouchEvent::_ZTV11QTouchEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTouchEvent) +16 (int (*)(...))QTouchEvent::~QTouchEvent +24 (int (*)(...))QTouchEvent::~QTouchEvent + +Class QTouchEvent + size=72 align=8 + base size=72 base align=8 +QTouchEvent (0x0x7fad6b380af8) 0 + vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16) + QInputEvent (0x0x7fad6b380b60) 0 + primary-for QTouchEvent (0x0x7fad6b380af8) + QEvent (0x0x7fad6b38f360) 0 + primary-for QInputEvent (0x0x7fad6b380b60) + +Vtable for QScrollPrepareEvent +QScrollPrepareEvent::_ZTV19QScrollPrepareEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QScrollPrepareEvent) +16 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent +24 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent + +Class QScrollPrepareEvent + size=112 align=8 + base size=112 base align=8 +QScrollPrepareEvent (0x0x7fad6b495820) 0 + vptr=((& QScrollPrepareEvent::_ZTV19QScrollPrepareEvent) + 16) + QEvent (0x0x7fad6b49a960) 0 + primary-for QScrollPrepareEvent (0x0x7fad6b495820) + +Vtable for QScrollEvent +QScrollEvent::_ZTV12QScrollEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QScrollEvent) +16 (int (*)(...))QScrollEvent::~QScrollEvent +24 (int (*)(...))QScrollEvent::~QScrollEvent + +Class QScrollEvent + size=64 align=8 + base size=60 base align=8 +QScrollEvent (0x0x7fad6b495888) 0 + vptr=((& QScrollEvent::_ZTV12QScrollEvent) + 16) + QEvent (0x0x7fad6b49a9c0) 0 + primary-for QScrollEvent (0x0x7fad6b495888) + +Vtable for QScreenOrientationChangeEvent +QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QScreenOrientationChangeEvent) +16 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent +24 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent + +Class QScreenOrientationChangeEvent + size=40 align=8 + base size=36 base align=8 +QScreenOrientationChangeEvent (0x0x7fad6b4958f0) 0 + vptr=((& QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent) + 16) + QEvent (0x0x7fad6b49aa20) 0 + primary-for QScreenOrientationChangeEvent (0x0x7fad6b4958f0) + +Vtable for QApplicationStateChangeEvent +QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QApplicationStateChangeEvent) +16 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent +24 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent + +Class QApplicationStateChangeEvent + size=24 align=8 + base size=24 base align=8 +QApplicationStateChangeEvent (0x0x7fad6b495958) 0 + vptr=((& QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent) + 16) + QEvent (0x0x7fad6b49aa80) 0 + primary-for QApplicationStateChangeEvent (0x0x7fad6b495958) + +Class QFont + size=16 align=8 + base size=12 base align=8 +QFont (0x0x7fad6b49aae0) 0 + +Class QPolygon + size=8 align=8 + base size=8 base align=8 +QPolygon (0x0x7fad6b140dd0) 0 + QVector (0x0x7fad6b14fb40) 0 + +Class QPolygonF + size=8 align=8 + base size=8 base align=8 +QPolygonF (0x0x7fad6b1fc138) 0 + QVector (0x0x7fad6b1f4c60) 0 + +Class QMatrix + size=48 align=8 + base size=48 base align=8 +QMatrix (0x0x7fad6b292b40) 0 + +Class QPainterPath::Element + size=24 align=8 + base size=24 base align=8 +QPainterPath::Element (0x0x7fad6aefa960) 0 + +Class QPainterPath + size=8 align=8 + base size=8 base align=8 +QPainterPath (0x0x7fad6aefa900) 0 + +Class QPainterPathStroker + size=8 align=8 + base size=8 base align=8 +QPainterPathStroker (0x0x7fad6b036cc0) 0 + +Class QTransform + size=88 align=8 + base size=88 base align=8 +QTransform (0x0x7fad6b0663c0) 0 + +Vtable for QPaintDevice +QPaintDevice::_ZTV12QPaintDevice: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QPaintDevice) +16 0 +24 0 +32 (int (*)(...))QPaintDevice::devType +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QPaintDevice::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QPaintDevice + size=24 align=8 + base size=24 base align=8 +QPaintDevice (0x0x7fad6ace8e40) 0 + vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16) + +Class QPixelFormat + size=8 align=8 + base size=8 base align=8 +QPixelFormat (0x0x7fad6ad3c480) 0 + +Vtable for QImage +QImage::_ZTV6QImage: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QImage) +16 (int (*)(...))QImage::~QImage +24 (int (*)(...))QImage::~QImage +32 (int (*)(...))QImage::devType +40 (int (*)(...))QImage::paintEngine +48 (int (*)(...))QImage::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QImage + size=32 align=8 + base size=32 base align=8 +QImage (0x0x7fad6adc7f70) 0 + vptr=((& QImage::_ZTV6QImage) + 16) + QPaintDevice (0x0x7fad6add4d80) 0 + primary-for QImage (0x0x7fad6adc7f70) + +Vtable for QPixmap +QPixmap::_ZTV7QPixmap: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QPixmap) +16 (int (*)(...))QPixmap::~QPixmap +24 (int (*)(...))QPixmap::~QPixmap +32 (int (*)(...))QPixmap::devType +40 (int (*)(...))QPixmap::paintEngine +48 (int (*)(...))QPixmap::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QPixmap + size=32 align=8 + base size=32 base align=8 +QPixmap (0x0x7fad6aae79c0) 0 + vptr=((& QPixmap::_ZTV7QPixmap) + 16) + QPaintDevice (0x0x7fad6aae8b40) 0 + primary-for QPixmap (0x0x7fad6aae79c0) + +Class QBrush + size=8 align=8 + base size=8 base align=8 +QBrush (0x0x7fad6abc3e40) 0 + +Class QBrushData + size=112 align=8 + base size=112 base align=8 +QBrushData (0x0x7fad6aca13c0) 0 + +Class QGradient + size=64 align=8 + base size=64 base align=8 +QGradient (0x0x7fad6aca1600) 0 + +Class QLinearGradient + size=64 align=8 + base size=64 base align=8 +QLinearGradient (0x0x7fad6ac9e3a8) 0 + QGradient (0x0x7fad6aca1d20) 0 + +Class QRadialGradient + size=64 align=8 + base size=64 base align=8 +QRadialGradient (0x0x7fad6ac9e410) 0 + QGradient (0x0x7fad6aca1e40) 0 + +Class QConicalGradient + size=64 align=8 + base size=64 base align=8 +QConicalGradient (0x0x7fad6ac9e478) 0 + QGradient (0x0x7fad6aca1f60) 0 + +Class QPen + size=8 align=8 + base size=8 base align=8 +QPen (0x0x7fad6a918060) 0 + +Class QTextOption::Tab + size=16 align=8 + base size=14 base align=8 +QTextOption::Tab (0x0x7fad6a9c89c0) 0 + +Class QTextOption + size=32 align=8 + base size=32 base align=8 +QTextOption (0x0x7fad6a9c8960) 0 + +Class QTextLength + size=16 align=8 + base size=16 base align=8 +QTextLength (0x0x7fad6aa35120) 0 + +Class QTextFormat + size=16 align=8 + base size=12 base align=8 +QTextFormat (0x0x7fad6aa89a80) 0 + +Class QTextCharFormat + size=16 align=8 + base size=12 base align=8 +QTextCharFormat (0x0x7fad6a7fb1a0) 0 + QTextFormat (0x0x7fad6a822180) 0 + +Class QTextBlockFormat + size=16 align=8 + base size=12 base align=8 +QTextBlockFormat (0x0x7fad6a89e5b0) 0 + QTextFormat (0x0x7fad6a89ab40) 0 + +Class QTextListFormat + size=16 align=8 + base size=12 base align=8 +QTextListFormat (0x0x7fad6a4faaf8) 0 + QTextFormat (0x0x7fad6a4fd900) 0 + +Class QTextImageFormat + size=16 align=8 + base size=12 base align=8 +QTextImageFormat (0x0x7fad6a53df08) 0 + QTextCharFormat (0x0x7fad6a53df70) 0 + QTextFormat (0x0x7fad6a5580c0) 0 + +Class QTextFrameFormat + size=16 align=8 + base size=12 base align=8 +QTextFrameFormat (0x0x7fad6a5954e0) 0 + QTextFormat (0x0x7fad6a596720) 0 + +Class QTextTableFormat + size=16 align=8 + base size=12 base align=8 +QTextTableFormat (0x0x7fad6a5e9a28) 0 + QTextFrameFormat (0x0x7fad6a5e9a90) 0 + QTextFormat (0x0x7fad6a5fb360) 0 + +Class QTextTableCellFormat + size=16 align=8 + base size=12 base align=8 +QTextTableCellFormat (0x0x7fad6a659000) 0 + QTextCharFormat (0x0x7fad6a659068) 0 + QTextFormat (0x0x7fad6a63fcc0) 0 + +Class QFontDatabase + size=8 align=8 + base size=8 base align=8 +QFontDatabase (0x0x7fad6a6b0b40) 0 + +Class QRawFont + size=8 align=8 + base size=8 base align=8 +QRawFont (0x0x7fad6a6b0d20) 0 + +Class QGlyphRun + size=8 align=8 + base size=8 base align=8 +QGlyphRun (0x0x7fad6a3d0540) 0 + +Class QTextCursor + size=8 align=8 + base size=8 base align=8 +QTextCursor (0x0x7fad6a4a5480) 0 + +Class QTextInlineObject + size=16 align=8 + base size=16 base align=8 +QTextInlineObject (0x0x7fad6a17f120) 0 + +Class QTextLayout::FormatRange + size=24 align=8 + base size=24 base align=8 +QTextLayout::FormatRange (0x0x7fad6a17f540) 0 + +Class QTextLayout + size=8 align=8 + base size=8 base align=8 +QTextLayout (0x0x7fad6a17f4e0) 0 + +Class QTextLine + size=16 align=8 + base size=16 base align=8 +QTextLine (0x0x7fad6a214c00) 0 + +Vtable for QAbstractUndoItem +QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAbstractUndoItem) +16 (int (*)(...))__cxa_pure_virtual +24 (int (*)(...))__cxa_pure_virtual +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QAbstractUndoItem + size=8 align=8 + base size=8 base align=8 +QAbstractUndoItem (0x0x7fad6a23e0c0) 0 nearly-empty + vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16) + +Class QTextDocument::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextDocument::QPrivateSignal (0x0x7fad6a23e360) 0 empty + +Vtable for QTextDocument +QTextDocument::_ZTV13QTextDocument: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QTextDocument) +16 (int (*)(...))QTextDocument::metaObject +24 (int (*)(...))QTextDocument::qt_metacast +32 (int (*)(...))QTextDocument::qt_metacall +40 (int (*)(...))QTextDocument::~QTextDocument +48 (int (*)(...))QTextDocument::~QTextDocument +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTextDocument::clear +120 (int (*)(...))QTextDocument::createObject +128 (int (*)(...))QTextDocument::loadResource + +Class QTextDocument + size=16 align=8 + base size=16 base align=8 +QTextDocument (0x0x7fad6a223820) 0 + vptr=((& QTextDocument::_ZTV13QTextDocument) + 16) + QObject (0x0x7fad6a23e300) 0 + primary-for QTextDocument (0x0x7fad6a223820) + +Class QPalette::Data + size=4 align=4 + base size=4 base align=4 +QPalette::Data (0x0x7fad6a2af360) 0 + +Class QPalette + size=16 align=8 + base size=12 base align=8 +QPalette (0x0x7fad6a2af300) 0 + +Class QAbstractTextDocumentLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractTextDocumentLayout::QPrivateSignal (0x0x7fad69f98720) 0 empty + +Class QAbstractTextDocumentLayout::Selection + size=24 align=8 + base size=24 base align=8 +QAbstractTextDocumentLayout::Selection (0x0x7fad69f98780) 0 + +Class QAbstractTextDocumentLayout::PaintContext + size=64 align=8 + base size=64 base align=8 +QAbstractTextDocumentLayout::PaintContext (0x0x7fad69f987e0) 0 + +Vtable for QAbstractTextDocumentLayout +QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout) +16 (int (*)(...))QAbstractTextDocumentLayout::metaObject +24 (int (*)(...))QAbstractTextDocumentLayout::qt_metacast +32 (int (*)(...))QAbstractTextDocumentLayout::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject +176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject +184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject + +Class QAbstractTextDocumentLayout + size=16 align=8 + base size=16 base align=8 +QAbstractTextDocumentLayout (0x0x7fad69f94618) 0 + vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16) + QObject (0x0x7fad69f986c0) 0 + primary-for QAbstractTextDocumentLayout (0x0x7fad69f94618) + +Vtable for QTextObjectInterface +QTextObjectInterface::_ZTV20QTextObjectInterface: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QTextObjectInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QTextObjectInterface + size=8 align=8 + base size=8 base align=8 +QTextObjectInterface (0x0x7fad6a0663c0) 0 nearly-empty + vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16) + +Class QAccessible::State + size=8 align=8 + base size=5 base align=8 +QAccessible::State (0x0x7fad6a066600) 0 + +Vtable for QAccessible::ActivationObserver +QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN11QAccessible18ActivationObserverE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QAccessible::ActivationObserver + size=8 align=8 + base size=8 base align=8 +QAccessible::ActivationObserver (0x0x7fad6a066660) 0 nearly-empty + vptr=((& QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE) + 16) + +Class QAccessible + size=1 align=1 + base size=0 base align=1 +QAccessible (0x0x7fad6a0665a0) 0 empty + +Vtable for QAccessibleInterface +QAccessibleInterface::_ZTV20QAccessibleInterface: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QAccessibleInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QAccessibleInterface::window +56 (int (*)(...))QAccessibleInterface::relations +64 (int (*)(...))QAccessibleInterface::focusChild +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAccessibleInterface::foregroundColor +160 (int (*)(...))QAccessibleInterface::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleInterface::interface_cast + +Class QAccessibleInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleInterface (0x0x7fad6a0ba240) 0 nearly-empty + vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16) + +Vtable for QAccessibleTextInterface +QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAccessibleTextInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))QAccessibleTextInterface::textBeforeOffset +104 (int (*)(...))QAccessibleTextInterface::textAfterOffset +112 (int (*)(...))QAccessibleTextInterface::textAtOffset +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleTextInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleTextInterface (0x0x7fad6a0ba5a0) 0 nearly-empty + vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16) + +Vtable for QAccessibleEditableTextInterface +QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleEditableTextInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleEditableTextInterface (0x0x7fad6a0ba600) 0 nearly-empty + vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16) + +Vtable for QAccessibleValueInterface +QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAccessibleValueInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleValueInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleValueInterface (0x0x7fad6a0ba660) 0 nearly-empty + vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16) + +Vtable for QAccessibleTableCellInterface +QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface: 12 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QAccessibleTableCellInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleTableCellInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleTableCellInterface (0x0x7fad6a0ba6c0) 0 nearly-empty + vptr=((& QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface) + 16) + +Vtable for QAccessibleTableInterface +QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAccessibleTableInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleTableInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleTableInterface (0x0x7fad6a0ba720) 0 nearly-empty + vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16) + +Vtable for QAccessibleActionInterface +QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleActionInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))QAccessibleActionInterface::localizedActionName +48 (int (*)(...))QAccessibleActionInterface::localizedActionDescription +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleActionInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleActionInterface (0x0x7fad6a0ba780) 0 nearly-empty + vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16) + +Vtable for QAccessibleImageInterface +QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QAccessibleImageInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleImageInterface + size=8 align=8 + base size=8 base align=8 +QAccessibleImageInterface (0x0x7fad6a0ba8a0) 0 nearly-empty + vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16) + +Vtable for QAccessibleEvent +QAccessibleEvent::_ZTV16QAccessibleEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QAccessibleEvent) +16 (int (*)(...))QAccessibleEvent::~QAccessibleEvent +24 (int (*)(...))QAccessibleEvent::~QAccessibleEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleEvent + size=32 align=8 + base size=28 base align=8 +QAccessibleEvent (0x0x7fad6a0ba900) 0 + vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16) + +Vtable for QAccessibleStateChangeEvent +QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QAccessibleStateChangeEvent) +16 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent +24 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleStateChangeEvent + size=40 align=8 + base size=40 base align=8 +QAccessibleStateChangeEvent (0x0x7fad6a062c30) 0 + vptr=((& QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent) + 16) + QAccessibleEvent (0x0x7fad69d49300) 0 + primary-for QAccessibleStateChangeEvent (0x0x7fad6a062c30) + +Vtable for QAccessibleTextCursorEvent +QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextCursorEvent) +16 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent +24 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextCursorEvent + size=32 align=8 + base size=32 base align=8 +QAccessibleTextCursorEvent (0x0x7fad6a062c98) 0 + vptr=((& QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent) + 16) + QAccessibleEvent (0x0x7fad69d496c0) 0 + primary-for QAccessibleTextCursorEvent (0x0x7fad6a062c98) + +Vtable for QAccessibleTextSelectionEvent +QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI29QAccessibleTextSelectionEvent) +16 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent +24 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextSelectionEvent + size=40 align=8 + base size=40 base align=8 +QAccessibleTextSelectionEvent (0x0x7fad6a062d00) 0 + vptr=((& QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent) + 16) + QAccessibleTextCursorEvent (0x0x7fad6a062d68) 0 + primary-for QAccessibleTextSelectionEvent (0x0x7fad6a062d00) + QAccessibleEvent (0x0x7fad69d49ae0) 0 + primary-for QAccessibleTextCursorEvent (0x0x7fad6a062d68) + +Vtable for QAccessibleTextInsertEvent +QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextInsertEvent) +16 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent +24 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextInsertEvent + size=48 align=8 + base size=48 base align=8 +QAccessibleTextInsertEvent (0x0x7fad6a062dd0) 0 + vptr=((& QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent) + 16) + QAccessibleTextCursorEvent (0x0x7fad6a062e38) 0 + primary-for QAccessibleTextInsertEvent (0x0x7fad6a062dd0) + QAccessibleEvent (0x0x7fad69d49f60) 0 + primary-for QAccessibleTextCursorEvent (0x0x7fad6a062e38) + +Vtable for QAccessibleTextRemoveEvent +QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextRemoveEvent) +16 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent +24 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextRemoveEvent + size=48 align=8 + base size=48 base align=8 +QAccessibleTextRemoveEvent (0x0x7fad6a062ea0) 0 + vptr=((& QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent) + 16) + QAccessibleTextCursorEvent (0x0x7fad6a062f08) 0 + primary-for QAccessibleTextRemoveEvent (0x0x7fad6a062ea0) + QAccessibleEvent (0x0x7fad69d7b3c0) 0 + primary-for QAccessibleTextCursorEvent (0x0x7fad6a062f08) + +Vtable for QAccessibleTextUpdateEvent +QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAccessibleTextUpdateEvent) +16 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent +24 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTextUpdateEvent + size=56 align=8 + base size=56 base align=8 +QAccessibleTextUpdateEvent (0x0x7fad6a062f70) 0 + vptr=((& QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent) + 16) + QAccessibleTextCursorEvent (0x0x7fad69d8d000) 0 + primary-for QAccessibleTextUpdateEvent (0x0x7fad6a062f70) + QAccessibleEvent (0x0x7fad69d7b7e0) 0 + primary-for QAccessibleTextCursorEvent (0x0x7fad69d8d000) + +Vtable for QAccessibleValueChangeEvent +QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QAccessibleValueChangeEvent) +16 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent +24 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleValueChangeEvent + size=48 align=8 + base size=48 base align=8 +QAccessibleValueChangeEvent (0x0x7fad69d8d068) 0 + vptr=((& QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent) + 16) + QAccessibleEvent (0x0x7fad69d7bc60) 0 + primary-for QAccessibleValueChangeEvent (0x0x7fad69d8d068) + +Vtable for QAccessibleTableModelChangeEvent +QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI32QAccessibleTableModelChangeEvent) +16 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent +24 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent +32 (int (*)(...))QAccessibleEvent::accessibleInterface + +Class QAccessibleTableModelChangeEvent + size=48 align=8 + base size=48 base align=8 +QAccessibleTableModelChangeEvent (0x0x7fad69d8d0d0) 0 + vptr=((& QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent) + 16) + QAccessibleEvent (0x0x7fad69daa0c0) 0 + primary-for QAccessibleTableModelChangeEvent (0x0x7fad69d8d0d0) + +Vtable for QAccessibleBridge +QAccessibleBridge::_ZTV17QAccessibleBridge: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessibleBridge) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleBridge + size=8 align=8 + base size=8 base align=8 +QAccessibleBridge (0x0x7fad69daa960) 0 nearly-empty + vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16) + +Class QAccessibleBridgePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAccessibleBridgePlugin::QPrivateSignal (0x0x7fad69daac00) 0 empty + +Vtable for QAccessibleBridgePlugin +QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin) +16 (int (*)(...))QAccessibleBridgePlugin::metaObject +24 (int (*)(...))QAccessibleBridgePlugin::qt_metacast +32 (int (*)(...))QAccessibleBridgePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QAccessibleBridgePlugin + size=16 align=8 + base size=16 base align=8 +QAccessibleBridgePlugin (0x0x7fad69d8d138) 0 + vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16) + QObject (0x0x7fad69daaba0) 0 + primary-for QAccessibleBridgePlugin (0x0x7fad69d8d138) + +Vtable for QAccessibleObject +QAccessibleObject::_ZTV17QAccessibleObject: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessibleObject) +16 0 +24 0 +32 (int (*)(...))QAccessibleObject::isValid +40 (int (*)(...))QAccessibleObject::object +48 (int (*)(...))QAccessibleInterface::window +56 (int (*)(...))QAccessibleInterface::relations +64 (int (*)(...))QAccessibleInterface::focusChild +72 (int (*)(...))QAccessibleObject::childAt +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))QAccessibleObject::setText +128 (int (*)(...))QAccessibleObject::rect +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAccessibleInterface::foregroundColor +160 (int (*)(...))QAccessibleInterface::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleInterface::interface_cast + +Class QAccessibleObject + size=16 align=8 + base size=16 base align=8 +QAccessibleObject (0x0x7fad69d8d1a0) 0 + vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16) + QAccessibleInterface (0x0x7fad69daad20) 0 nearly-empty + primary-for QAccessibleObject (0x0x7fad69d8d1a0) + +Vtable for QAccessibleApplication +QAccessibleApplication::_ZTV22QAccessibleApplication: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QAccessibleApplication) +16 (int (*)(...))QAccessibleApplication::~QAccessibleApplication +24 (int (*)(...))QAccessibleApplication::~QAccessibleApplication +32 (int (*)(...))QAccessibleObject::isValid +40 (int (*)(...))QAccessibleObject::object +48 (int (*)(...))QAccessibleApplication::window +56 (int (*)(...))QAccessibleInterface::relations +64 (int (*)(...))QAccessibleApplication::focusChild +72 (int (*)(...))QAccessibleObject::childAt +80 (int (*)(...))QAccessibleApplication::parent +88 (int (*)(...))QAccessibleApplication::child +96 (int (*)(...))QAccessibleApplication::childCount +104 (int (*)(...))QAccessibleApplication::indexOfChild +112 (int (*)(...))QAccessibleApplication::text +120 (int (*)(...))QAccessibleObject::setText +128 (int (*)(...))QAccessibleObject::rect +136 (int (*)(...))QAccessibleApplication::role +144 (int (*)(...))QAccessibleApplication::state +152 (int (*)(...))QAccessibleInterface::foregroundColor +160 (int (*)(...))QAccessibleInterface::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleInterface::interface_cast + +Class QAccessibleApplication + size=16 align=8 + base size=16 base align=8 +QAccessibleApplication (0x0x7fad69d8d208) 0 + vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16) + QAccessibleObject (0x0x7fad69d8d270) 0 + primary-for QAccessibleApplication (0x0x7fad69d8d208) + QAccessibleInterface (0x0x7fad69daad80) 0 nearly-empty + primary-for QAccessibleObject (0x0x7fad69d8d270) + +Class QAccessiblePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAccessiblePlugin::QPrivateSignal (0x0x7fad69daae40) 0 empty + +Vtable for QAccessiblePlugin +QAccessiblePlugin::_ZTV17QAccessiblePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessiblePlugin) +16 (int (*)(...))QAccessiblePlugin::metaObject +24 (int (*)(...))QAccessiblePlugin::qt_metacast +32 (int (*)(...))QAccessiblePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QAccessiblePlugin + size=16 align=8 + base size=16 base align=8 +QAccessiblePlugin (0x0x7fad69d8d2d8) 0 + vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16) + QObject (0x0x7fad69daade0) 0 + primary-for QAccessiblePlugin (0x0x7fad69d8d2d8) + +Class QSurfaceFormat + size=8 align=8 + base size=8 base align=8 +QSurfaceFormat (0x0x7fad69daaf60) 0 + +Vtable for QSurface +QSurface::_ZTV8QSurface: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QSurface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual + +Class QSurface + size=24 align=8 + base size=24 base align=8 +QSurface (0x0x7fad69e06ae0) 0 + vptr=((& QSurface::_ZTV8QSurface) + 16) + +Class QIcon + size=8 align=8 + base size=8 base align=8 +QIcon (0x0x7fad69e06ea0) 0 + +Class QCursor + size=8 align=8 + base size=8 base align=8 +QCursor (0x0x7fad69b00a20) 0 + +Class QWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWindow::QPrivateSignal (0x0x7fad69bc77e0) 0 empty + +Vtable for QWindow +QWindow::_ZTV7QWindow: 45 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QWindow) +16 (int (*)(...))QWindow::metaObject +24 (int (*)(...))QWindow::qt_metacast +32 (int (*)(...))QWindow::qt_metacall +40 (int (*)(...))QWindow::~QWindow +48 (int (*)(...))QWindow::~QWindow +56 (int (*)(...))QWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QWindow::exposeEvent +160 (int (*)(...))QWindow::resizeEvent +168 (int (*)(...))QWindow::moveEvent +176 (int (*)(...))QWindow::focusInEvent +184 (int (*)(...))QWindow::focusOutEvent +192 (int (*)(...))QWindow::showEvent +200 (int (*)(...))QWindow::hideEvent +208 (int (*)(...))QWindow::keyPressEvent +216 (int (*)(...))QWindow::keyReleaseEvent +224 (int (*)(...))QWindow::mousePressEvent +232 (int (*)(...))QWindow::mouseReleaseEvent +240 (int (*)(...))QWindow::mouseDoubleClickEvent +248 (int (*)(...))QWindow::mouseMoveEvent +256 (int (*)(...))QWindow::wheelEvent +264 (int (*)(...))QWindow::touchEvent +272 (int (*)(...))QWindow::tabletEvent +280 (int (*)(...))QWindow::nativeEvent +288 (int (*)(...))QWindow::surfaceHandle +296 (int (*)(...))-16 +304 (int (*)(...))(& _ZTI7QWindow) +312 (int (*)(...))QWindow::_ZThn16_N7QWindowD1Ev +320 (int (*)(...))QWindow::_ZThn16_N7QWindowD0Ev +328 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +336 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +344 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +352 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv + +Class QWindow + size=40 align=8 + base size=40 base align=8 +QWindow (0x0x7fad69bc8700) 0 + vptr=((& QWindow::_ZTV7QWindow) + 16) + QObject (0x0x7fad69bc7720) 0 + primary-for QWindow (0x0x7fad69bc8700) + QSurface (0x0x7fad69bc7780) 16 + vptr=((& QWindow::_ZTV7QWindow) + 312) + +Class QBackingStore + size=8 align=8 + base size=8 base align=8 +QBackingStore (0x0x7fad69c1b0c0) 0 + +Vtable for QBitmap +QBitmap::_ZTV7QBitmap: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QBitmap) +16 (int (*)(...))QBitmap::~QBitmap +24 (int (*)(...))QBitmap::~QBitmap +32 (int (*)(...))QPixmap::devType +40 (int (*)(...))QPixmap::paintEngine +48 (int (*)(...))QPixmap::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter + +Class QBitmap + size=32 align=8 + base size=32 base align=8 +QBitmap (0x0x7fad69bca5b0) 0 + vptr=((& QBitmap::_ZTV7QBitmap) + 16) + QPixmap (0x0x7fad69bca618) 0 + primary-for QBitmap (0x0x7fad69bca5b0) + QPaintDevice (0x0x7fad69c1b180) 0 + primary-for QPixmap (0x0x7fad69bca618) + +Class QClipboard::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QClipboard::QPrivateSignal (0x0x7fad69c6f6c0) 0 empty + +Vtable for QClipboard +QClipboard::_ZTV10QClipboard: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QClipboard) +16 (int (*)(...))QClipboard::metaObject +24 (int (*)(...))QClipboard::qt_metacast +32 (int (*)(...))QClipboard::qt_metacall +40 (int (*)(...))QClipboard::~QClipboard +48 (int (*)(...))QClipboard::~QClipboard +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QClipboard + size=16 align=8 + base size=16 base align=8 +QClipboard (0x0x7fad69c698f0) 0 + vptr=((& QClipboard::_ZTV10QClipboard) + 16) + QObject (0x0x7fad69c6f660) 0 + primary-for QClipboard (0x0x7fad69c698f0) + +Class QColorTransform + size=8 align=8 + base size=8 base align=8 +QColorTransform (0x0x7fad69c6f7e0) 0 + +Class QColorSpace + size=8 align=8 + base size=8 base align=8 +QColorSpace (0x0x7fad6993d960) 0 + +Class QDesktopServices + size=1 align=1 + base size=0 base align=1 +QDesktopServices (0x0x7fad69a13720) 0 empty + +Class QDrag::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDrag::QPrivateSignal (0x0x7fad69a137e0) 0 empty + +Vtable for QDrag +QDrag::_ZTV5QDrag: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QDrag) +16 (int (*)(...))QDrag::metaObject +24 (int (*)(...))QDrag::qt_metacast +32 (int (*)(...))QDrag::qt_metacall +40 (int (*)(...))QDrag::~QDrag +48 (int (*)(...))QDrag::~QDrag +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDrag + size=16 align=8 + base size=16 base align=8 +QDrag (0x0x7fad69a145b0) 0 + vptr=((& QDrag::_ZTV5QDrag) + 16) + QObject (0x0x7fad69a13780) 0 + primary-for QDrag (0x0x7fad69a145b0) + +Class QFontInfo + size=8 align=8 + base size=8 base align=8 +QFontInfo (0x0x7fad69a139c0) 0 + +Class QFontMetrics + size=8 align=8 + base size=8 base align=8 +QFontMetrics (0x0x7fad69a69a20) 0 + +Class QFontMetricsF + size=8 align=8 + base size=8 base align=8 +QFontMetricsF (0x0x7fad69ab6d80) 0 + +Class QGenericPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGenericPlugin::QPrivateSignal (0x0x7fad697bcf00) 0 empty + +Vtable for QGenericPlugin +QGenericPlugin::_ZTV14QGenericPlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QGenericPlugin) +16 (int (*)(...))QGenericPlugin::metaObject +24 (int (*)(...))QGenericPlugin::qt_metacast +32 (int (*)(...))QGenericPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QGenericPlugin + size=16 align=8 + base size=16 base align=8 +QGenericPlugin (0x0x7fad697771a0) 0 + vptr=((& QGenericPlugin::_ZTV14QGenericPlugin) + 16) + QObject (0x0x7fad697bcea0) 0 + primary-for QGenericPlugin (0x0x7fad697771a0) + +Class QGenericPluginFactory + size=1 align=1 + base size=0 base align=1 +QGenericPluginFactory (0x0x7fad69859060) 0 empty + +Class QInputMethod::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QInputMethod::QPrivateSignal (0x0x7fad69859120) 0 empty + +Vtable for QInputMethod +QInputMethod::_ZTV12QInputMethod: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QInputMethod) +16 (int (*)(...))QInputMethod::metaObject +24 (int (*)(...))QInputMethod::qt_metacast +32 (int (*)(...))QInputMethod::qt_metacall +40 (int (*)(...))QInputMethod::~QInputMethod +48 (int (*)(...))QInputMethod::~QInputMethod +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QInputMethod + size=16 align=8 + base size=16 base align=8 +QInputMethod (0x0x7fad69777208) 0 + vptr=((& QInputMethod::_ZTV12QInputMethod) + 16) + QObject (0x0x7fad698590c0) 0 + primary-for QInputMethod (0x0x7fad69777208) + +Class QGuiApplication::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGuiApplication::QPrivateSignal (0x0x7fad69859420) 0 empty + +Vtable for QGuiApplication +QGuiApplication::_ZTV15QGuiApplication: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGuiApplication) +16 (int (*)(...))QGuiApplication::metaObject +24 (int (*)(...))QGuiApplication::qt_metacast +32 (int (*)(...))QGuiApplication::qt_metacall +40 (int (*)(...))QGuiApplication::~QGuiApplication +48 (int (*)(...))QGuiApplication::~QGuiApplication +56 (int (*)(...))QGuiApplication::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGuiApplication::notify +120 (int (*)(...))QGuiApplication::compressEvent + +Class QGuiApplication + size=16 align=8 + base size=16 base align=8 +QGuiApplication (0x0x7fad69777270) 0 + vptr=((& QGuiApplication::_ZTV15QGuiApplication) + 16) + QCoreApplication (0x0x7fad697772d8) 0 + primary-for QGuiApplication (0x0x7fad69777270) + QObject (0x0x7fad698593c0) 0 + primary-for QCoreApplication (0x0x7fad697772d8) + +Class QIconEngine::AvailableSizesArgument + size=16 align=8 + base size=16 base align=8 +QIconEngine::AvailableSizesArgument (0x0x7fad69859ba0) 0 + +Class QIconEngine::ScaledPixmapArgument + size=56 align=8 + base size=56 base align=8 +QIconEngine::ScaledPixmapArgument (0x0x7fad69859d20) 0 + +Vtable for QIconEngine +QIconEngine::_ZTV11QIconEngine: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QIconEngine) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))QIconEngine::actualSize +48 (int (*)(...))QIconEngine::pixmap +56 (int (*)(...))QIconEngine::addPixmap +64 (int (*)(...))QIconEngine::addFile +72 (int (*)(...))QIconEngine::key +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))QIconEngine::read +96 (int (*)(...))QIconEngine::write +104 (int (*)(...))QIconEngine::availableSizes +112 (int (*)(...))QIconEngine::iconName +120 (int (*)(...))QIconEngine::virtual_hook + +Class QIconEngine + size=8 align=8 + base size=8 base align=8 +QIconEngine (0x0x7fad69859b40) 0 nearly-empty + vptr=((& QIconEngine::_ZTV11QIconEngine) + 16) + +Class QIconEnginePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIconEnginePlugin::QPrivateSignal (0x0x7fad69859de0) 0 empty + +Vtable for QIconEnginePlugin +QIconEnginePlugin::_ZTV17QIconEnginePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QIconEnginePlugin) +16 (int (*)(...))QIconEnginePlugin::metaObject +24 (int (*)(...))QIconEnginePlugin::qt_metacast +32 (int (*)(...))QIconEnginePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QIconEnginePlugin + size=16 align=8 + base size=16 base align=8 +QIconEnginePlugin (0x0x7fad69777888) 0 + vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16) + QObject (0x0x7fad69859d80) 0 + primary-for QIconEnginePlugin (0x0x7fad69777888) + +Vtable for QImageIOHandler +QImageIOHandler::_ZTV15QImageIOHandler: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QImageIOHandler) +16 0 +24 0 +32 (int (*)(...))QImageIOHandler::name +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))QImageIOHandler::write +64 (int (*)(...))QImageIOHandler::option +72 (int (*)(...))QImageIOHandler::setOption +80 (int (*)(...))QImageIOHandler::supportsOption +88 (int (*)(...))QImageIOHandler::jumpToNextImage +96 (int (*)(...))QImageIOHandler::jumpToImage +104 (int (*)(...))QImageIOHandler::loopCount +112 (int (*)(...))QImageIOHandler::imageCount +120 (int (*)(...))QImageIOHandler::nextImageDelay +128 (int (*)(...))QImageIOHandler::currentImageNumber +136 (int (*)(...))QImageIOHandler::currentImageRect + +Class QImageIOHandler + size=16 align=8 + base size=16 base align=8 +QImageIOHandler (0x0x7fad69859f00) 0 + vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16) + +Class QImageIOPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QImageIOPlugin::QPrivateSignal (0x0x7fad69469180) 0 empty + +Vtable for QImageIOPlugin +QImageIOPlugin::_ZTV14QImageIOPlugin: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QImageIOPlugin) +16 (int (*)(...))QImageIOPlugin::metaObject +24 (int (*)(...))QImageIOPlugin::qt_metacast +32 (int (*)(...))QImageIOPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QImageIOPlugin + size=16 align=8 + base size=16 base align=8 +QImageIOPlugin (0x0x7fad697778f0) 0 + vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16) + QObject (0x0x7fad69469120) 0 + primary-for QImageIOPlugin (0x0x7fad697778f0) + +Class QImageReader + size=8 align=8 + base size=8 base align=8 +QImageReader (0x0x7fad69469960) 0 + +Class QImageWriter + size=8 align=8 + base size=8 base align=8 +QImageWriter (0x0x7fad69469a80) 0 + +Class QVector3D + size=12 align=4 + base size=12 base align=4 +QVector3D (0x0x7fad69469ba0) 0 + +Class QVector4D + size=16 align=4 + base size=16 base align=4 +QVector4D (0x0x7fad6951cd20) 0 + +Class QQuaternion + size=16 align=4 + base size=16 base align=4 +QQuaternion (0x0x7fad695a0f60) 0 + +Class QMatrix4x4 + size=68 align=4 + base size=68 base align=4 +QMatrix4x4 (0x0x7fad692638a0) 0 + +Class QMovie::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMovie::QPrivateSignal (0x0x7fad69389720) 0 empty + +Vtable for QMovie +QMovie::_ZTV6QMovie: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QMovie) +16 (int (*)(...))QMovie::metaObject +24 (int (*)(...))QMovie::qt_metacast +32 (int (*)(...))QMovie::qt_metacall +40 (int (*)(...))QMovie::~QMovie +48 (int (*)(...))QMovie::~QMovie +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QMovie + size=16 align=8 + base size=16 base align=8 +QMovie (0x0x7fad693f7068) 0 + vptr=((& QMovie::_ZTV6QMovie) + 16) + QObject (0x0x7fad693896c0) 0 + primary-for QMovie (0x0x7fad693f7068) + +Class QOffscreenSurface::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOffscreenSurface::QPrivateSignal (0x0x7fad69389b40) 0 empty + +Vtable for QOffscreenSurface +QOffscreenSurface::_ZTV17QOffscreenSurface: 26 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QOffscreenSurface) +16 (int (*)(...))QOffscreenSurface::metaObject +24 (int (*)(...))QOffscreenSurface::qt_metacast +32 (int (*)(...))QOffscreenSurface::qt_metacall +40 (int (*)(...))QOffscreenSurface::~QOffscreenSurface +48 (int (*)(...))QOffscreenSurface::~QOffscreenSurface +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QOffscreenSurface::surfaceType +120 (int (*)(...))QOffscreenSurface::format +128 (int (*)(...))QOffscreenSurface::size +136 (int (*)(...))QOffscreenSurface::surfaceHandle +144 (int (*)(...))-16 +152 (int (*)(...))(& _ZTI17QOffscreenSurface) +160 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD1Ev +168 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD0Ev +176 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface6formatEv +184 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface13surfaceHandleEv +192 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface11surfaceTypeEv +200 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface4sizeEv + +Class QOffscreenSurface + size=40 align=8 + base size=40 base align=8 +QOffscreenSurface (0x0x7fad692f5700) 0 + vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 16) + QObject (0x0x7fad69389a80) 0 + primary-for QOffscreenSurface (0x0x7fad692f5700) + QSurface (0x0x7fad69389ae0) 16 + vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 160) + +Class QOpenGLBuffer + size=8 align=8 + base size=8 base align=8 +QOpenGLBuffer (0x0x7fad69389d80) 0 + +Class QOpenGLVersionStatus + size=12 align=4 + base size=12 base align=4 +QOpenGLVersionStatus (0x0x7fad68c66600) 0 + +Class QOpenGLVersionFunctionsBackend + size=16 align=8 + base size=12 base align=8 +QOpenGLVersionFunctionsBackend (0x0x7fad68cde1e0) 0 + +Class QOpenGLVersionFunctionsStorage + size=8 align=8 + base size=8 base align=8 +QOpenGLVersionFunctionsStorage (0x0x7fad68cde3c0) 0 + +Class QAbstractOpenGLFunctionsPrivate + size=16 align=8 + base size=9 base align=8 +QAbstractOpenGLFunctionsPrivate (0x0x7fad68cde420) 0 + +Vtable for QAbstractOpenGLFunctions +QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAbstractOpenGLFunctions) +16 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions +24 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions +32 (int (*)(...))QAbstractOpenGLFunctions::initializeOpenGLFunctions + +Class QAbstractOpenGLFunctions + size=16 align=8 + base size=16 base align=8 +QAbstractOpenGLFunctions (0x0x7fad68cde600) 0 + vptr=((& QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions) + 16) + +Class QOpenGLFunctions_1_0_CoreBackend::Functions + size=384 align=8 + base size=384 base align=8 +QOpenGLFunctions_1_0_CoreBackend::Functions (0x0x7fad68cde7e0) 0 + +Class QOpenGLFunctions_1_0_CoreBackend + size=400 align=8 + base size=400 base align=8 +QOpenGLFunctions_1_0_CoreBackend (0x0x7fad68cabf08) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68cde780) 0 + +Class QOpenGLFunctions_1_1_CoreBackend::Functions + size=128 align=8 + base size=128 base align=8 +QOpenGLFunctions_1_1_CoreBackend::Functions (0x0x7fad68cdeae0) 0 + +Class QOpenGLFunctions_1_1_CoreBackend + size=144 align=8 + base size=144 base align=8 +QOpenGLFunctions_1_1_CoreBackend (0x0x7fad68cabf70) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68cdea80) 0 + +Class QOpenGLFunctions_1_2_CoreBackend::Functions + size=48 align=8 + base size=48 base align=8 +QOpenGLFunctions_1_2_CoreBackend::Functions (0x0x7fad68cdede0) 0 + +Class QOpenGLFunctions_1_2_CoreBackend + size=64 align=8 + base size=64 base align=8 +QOpenGLFunctions_1_2_CoreBackend (0x0x7fad68d11000) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68cded80) 0 + +Class QOpenGLFunctions_1_3_CoreBackend::Functions + size=72 align=8 + base size=72 base align=8 +QOpenGLFunctions_1_3_CoreBackend::Functions (0x0x7fad68d1b120) 0 + +Class QOpenGLFunctions_1_3_CoreBackend + size=88 align=8 + base size=88 base align=8 +QOpenGLFunctions_1_3_CoreBackend (0x0x7fad68d11068) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68d1b0c0) 0 + +Class QOpenGLFunctions_1_4_CoreBackend::Functions + size=56 align=8 + base size=56 base align=8 +QOpenGLFunctions_1_4_CoreBackend::Functions (0x0x7fad68d1b480) 0 + +Class QOpenGLFunctions_1_4_CoreBackend + size=72 align=8 + base size=72 base align=8 +QOpenGLFunctions_1_4_CoreBackend (0x0x7fad68d110d0) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68d1b420) 0 + +Class QOpenGLFunctions_1_5_CoreBackend::Functions + size=152 align=8 + base size=152 base align=8 +QOpenGLFunctions_1_5_CoreBackend::Functions (0x0x7fad68d1b780) 0 + +Class QOpenGLFunctions_1_5_CoreBackend + size=168 align=8 + base size=168 base align=8 +QOpenGLFunctions_1_5_CoreBackend (0x0x7fad68d11138) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68d1b720) 0 + +Class QOpenGLFunctions_2_0_CoreBackend::Functions + size=744 align=8 + base size=744 base align=8 +QOpenGLFunctions_2_0_CoreBackend::Functions (0x0x7fad68d1ba80) 0 + +Class QOpenGLFunctions_2_0_CoreBackend + size=760 align=8 + base size=760 base align=8 +QOpenGLFunctions_2_0_CoreBackend (0x0x7fad68d111a0) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68d1ba20) 0 + +Class QOpenGLFunctions_2_1_CoreBackend::Functions + size=48 align=8 + base size=48 base align=8 +QOpenGLFunctions_2_1_CoreBackend::Functions (0x0x7fad68d1bd80) 0 + +Class QOpenGLFunctions_2_1_CoreBackend + size=64 align=8 + base size=64 base align=8 +QOpenGLFunctions_2_1_CoreBackend (0x0x7fad68d11208) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68d1bd20) 0 + +Class QOpenGLFunctions_3_0_CoreBackend::Functions + size=672 align=8 + base size=672 base align=8 +QOpenGLFunctions_3_0_CoreBackend::Functions (0x0x7fad68d560c0) 0 + +Class QOpenGLFunctions_3_0_CoreBackend + size=688 align=8 + base size=688 base align=8 +QOpenGLFunctions_3_0_CoreBackend (0x0x7fad68d11270) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68d56060) 0 + +Class QOpenGLFunctions_3_1_CoreBackend::Functions + size=96 align=8 + base size=96 base align=8 +QOpenGLFunctions_3_1_CoreBackend::Functions (0x0x7fad68d563c0) 0 + +Class QOpenGLFunctions_3_1_CoreBackend + size=112 align=8 + base size=112 base align=8 +QOpenGLFunctions_3_1_CoreBackend (0x0x7fad68d112d8) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68d56360) 0 + +Class QOpenGLFunctions_3_2_CoreBackend::Functions + size=152 align=8 + base size=152 base align=8 +QOpenGLFunctions_3_2_CoreBackend::Functions (0x0x7fad68d566c0) 0 + +Class QOpenGLFunctions_3_2_CoreBackend + size=168 align=8 + base size=168 base align=8 +QOpenGLFunctions_3_2_CoreBackend (0x0x7fad68d11340) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68d56660) 0 + +Class QOpenGLFunctions_3_3_CoreBackend::Functions + size=464 align=8 + base size=464 base align=8 +QOpenGLFunctions_3_3_CoreBackend::Functions (0x0x7fad68d569c0) 0 + +Class QOpenGLFunctions_3_3_CoreBackend + size=480 align=8 + base size=480 base align=8 +QOpenGLFunctions_3_3_CoreBackend (0x0x7fad68d113a8) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68d56960) 0 + +Class QOpenGLFunctions_4_0_CoreBackend::Functions + size=368 align=8 + base size=368 base align=8 +QOpenGLFunctions_4_0_CoreBackend::Functions (0x0x7fad68d56cc0) 0 + +Class QOpenGLFunctions_4_0_CoreBackend + size=384 align=8 + base size=384 base align=8 +QOpenGLFunctions_4_0_CoreBackend (0x0x7fad68d11410) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68d56c60) 0 + +Class QOpenGLFunctions_4_1_CoreBackend::Functions + size=704 align=8 + base size=704 base align=8 +QOpenGLFunctions_4_1_CoreBackend::Functions (0x0x7fad68da5000) 0 + +Class QOpenGLFunctions_4_1_CoreBackend + size=720 align=8 + base size=720 base align=8 +QOpenGLFunctions_4_1_CoreBackend (0x0x7fad68d11478) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68d56f60) 0 + +Class QOpenGLFunctions_4_2_CoreBackend::Functions + size=96 align=8 + base size=96 base align=8 +QOpenGLFunctions_4_2_CoreBackend::Functions (0x0x7fad68da5300) 0 + +Class QOpenGLFunctions_4_2_CoreBackend + size=112 align=8 + base size=112 base align=8 +QOpenGLFunctions_4_2_CoreBackend (0x0x7fad68d114e0) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68da52a0) 0 + +Class QOpenGLFunctions_4_3_CoreBackend::Functions + size=344 align=8 + base size=344 base align=8 +QOpenGLFunctions_4_3_CoreBackend::Functions (0x0x7fad68da5600) 0 + +Class QOpenGLFunctions_4_3_CoreBackend + size=360 align=8 + base size=360 base align=8 +QOpenGLFunctions_4_3_CoreBackend (0x0x7fad68d11548) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68da55a0) 0 + +Class QOpenGLFunctions_4_4_CoreBackend::Functions + size=72 align=8 + base size=72 base align=8 +QOpenGLFunctions_4_4_CoreBackend::Functions (0x0x7fad68da5900) 0 + +Class QOpenGLFunctions_4_4_CoreBackend + size=88 align=8 + base size=88 base align=8 +QOpenGLFunctions_4_4_CoreBackend (0x0x7fad68d115b0) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68da58a0) 0 + +Class QOpenGLFunctions_4_5_CoreBackend::Functions + size=848 align=8 + base size=848 base align=8 +QOpenGLFunctions_4_5_CoreBackend::Functions (0x0x7fad68da5c60) 0 + +Class QOpenGLFunctions_4_5_CoreBackend + size=864 align=8 + base size=864 base align=8 +QOpenGLFunctions_4_5_CoreBackend (0x0x7fad68d11618) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68da5c00) 0 + +Class QOpenGLFunctions_1_0_DeprecatedBackend::Functions + size=2064 align=8 + base size=2064 base align=8 +QOpenGLFunctions_1_0_DeprecatedBackend::Functions (0x0x7fad68da5f60) 0 + +Class QOpenGLFunctions_1_0_DeprecatedBackend + size=2080 align=8 + base size=2080 base align=8 +QOpenGLFunctions_1_0_DeprecatedBackend (0x0x7fad68d11680) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68da5f00) 0 + +Class QOpenGLFunctions_1_1_DeprecatedBackend::Functions + size=136 align=8 + base size=136 base align=8 +QOpenGLFunctions_1_1_DeprecatedBackend::Functions (0x0x7fad68a4a2a0) 0 + +Class QOpenGLFunctions_1_1_DeprecatedBackend + size=152 align=8 + base size=152 base align=8 +QOpenGLFunctions_1_1_DeprecatedBackend (0x0x7fad68d116e8) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68a4a240) 0 + +Class QOpenGLFunctions_1_2_DeprecatedBackend::Functions + size=256 align=8 + base size=256 base align=8 +QOpenGLFunctions_1_2_DeprecatedBackend::Functions (0x0x7fad68a4a5a0) 0 + +Class QOpenGLFunctions_1_2_DeprecatedBackend + size=272 align=8 + base size=272 base align=8 +QOpenGLFunctions_1_2_DeprecatedBackend (0x0x7fad68d11750) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68a4a540) 0 + +Class QOpenGLFunctions_1_3_DeprecatedBackend::Functions + size=296 align=8 + base size=296 base align=8 +QOpenGLFunctions_1_3_DeprecatedBackend::Functions (0x0x7fad68a4a8a0) 0 + +Class QOpenGLFunctions_1_3_DeprecatedBackend + size=312 align=8 + base size=312 base align=8 +QOpenGLFunctions_1_3_DeprecatedBackend (0x0x7fad68d117b8) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68a4a840) 0 + +Class QOpenGLFunctions_1_4_DeprecatedBackend::Functions + size=304 align=8 + base size=304 base align=8 +QOpenGLFunctions_1_4_DeprecatedBackend::Functions (0x0x7fad68a4aba0) 0 + +Class QOpenGLFunctions_1_4_DeprecatedBackend + size=320 align=8 + base size=320 base align=8 +QOpenGLFunctions_1_4_DeprecatedBackend (0x0x7fad68d11820) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68a4ab40) 0 + +Class QOpenGLFunctions_2_0_DeprecatedBackend::Functions + size=288 align=8 + base size=288 base align=8 +QOpenGLFunctions_2_0_DeprecatedBackend::Functions (0x0x7fad68a4aea0) 0 + +Class QOpenGLFunctions_2_0_DeprecatedBackend + size=304 align=8 + base size=304 base align=8 +QOpenGLFunctions_2_0_DeprecatedBackend (0x0x7fad68d11888) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68a4ae40) 0 + +Class QOpenGLFunctions_3_0_DeprecatedBackend::Functions + size=160 align=8 + base size=160 base align=8 +QOpenGLFunctions_3_0_DeprecatedBackend::Functions (0x0x7fad68a8c1e0) 0 + +Class QOpenGLFunctions_3_0_DeprecatedBackend + size=176 align=8 + base size=176 base align=8 +QOpenGLFunctions_3_0_DeprecatedBackend (0x0x7fad68d118f0) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68a8c180) 0 + +Class QOpenGLFunctions_3_3_DeprecatedBackend::Functions + size=240 align=8 + base size=240 base align=8 +QOpenGLFunctions_3_3_DeprecatedBackend::Functions (0x0x7fad68a8c4e0) 0 + +Class QOpenGLFunctions_3_3_DeprecatedBackend + size=256 align=8 + base size=256 base align=8 +QOpenGLFunctions_3_3_DeprecatedBackend (0x0x7fad68d11958) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68a8c480) 0 + +Class QOpenGLFunctions_4_5_DeprecatedBackend::Functions + size=96 align=8 + base size=96 base align=8 +QOpenGLFunctions_4_5_DeprecatedBackend::Functions (0x0x7fad68a8c7e0) 0 + +Class QOpenGLFunctions_4_5_DeprecatedBackend + size=112 align=8 + base size=112 base align=8 +QOpenGLFunctions_4_5_DeprecatedBackend (0x0x7fad68d119c0) 0 + QOpenGLVersionFunctionsBackend (0x0x7fad68a8c780) 0 + +Class QOpenGLVersionProfile + size=8 align=8 + base size=8 base align=8 +QOpenGLVersionProfile (0x0x7fad68a8ca80) 0 + +Class QOpenGLContextGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLContextGroup::QPrivateSignal (0x0x7fad68ac85a0) 0 empty + +Vtable for QOpenGLContextGroup +QOpenGLContextGroup::_ZTV19QOpenGLContextGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QOpenGLContextGroup) +16 (int (*)(...))QOpenGLContextGroup::metaObject +24 (int (*)(...))QOpenGLContextGroup::qt_metacast +32 (int (*)(...))QOpenGLContextGroup::qt_metacall +40 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup +48 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLContextGroup + size=16 align=8 + base size=16 base align=8 +QOpenGLContextGroup (0x0x7fad68ad1410) 0 + vptr=((& QOpenGLContextGroup::_ZTV19QOpenGLContextGroup) + 16) + QObject (0x0x7fad68ac8540) 0 + primary-for QOpenGLContextGroup (0x0x7fad68ad1410) + +Class QOpenGLContext::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLContext::QPrivateSignal (0x0x7fad68ac87e0) 0 empty + +Vtable for QOpenGLContext +QOpenGLContext::_ZTV14QOpenGLContext: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QOpenGLContext) +16 (int (*)(...))QOpenGLContext::metaObject +24 (int (*)(...))QOpenGLContext::qt_metacast +32 (int (*)(...))QOpenGLContext::qt_metacall +40 (int (*)(...))QOpenGLContext::~QOpenGLContext +48 (int (*)(...))QOpenGLContext::~QOpenGLContext +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLContext + size=16 align=8 + base size=16 base align=8 +QOpenGLContext (0x0x7fad68ad1478) 0 + vptr=((& QOpenGLContext::_ZTV14QOpenGLContext) + 16) + QObject (0x0x7fad68ac8780) 0 + primary-for QOpenGLContext (0x0x7fad68ad1478) + +Class QOpenGLDebugMessage + size=8 align=8 + base size=8 base align=8 +QOpenGLDebugMessage (0x0x7fad68ac8a20) 0 + +Class QOpenGLDebugLogger::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLDebugLogger::QPrivateSignal (0x0x7fad68848000) 0 empty + +Vtable for QOpenGLDebugLogger +QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QOpenGLDebugLogger) +16 (int (*)(...))QOpenGLDebugLogger::metaObject +24 (int (*)(...))QOpenGLDebugLogger::qt_metacast +32 (int (*)(...))QOpenGLDebugLogger::qt_metacall +40 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger +48 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLDebugLogger + size=16 align=8 + base size=16 base align=8 +QOpenGLDebugLogger (0x0x7fad68bbe6e8) 0 + vptr=((& QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger) + 16) + QObject (0x0x7fad68be4f60) 0 + primary-for QOpenGLDebugLogger (0x0x7fad68bbe6e8) + +Class QOpenGLFunctions + size=8 align=8 + base size=8 base align=8 +QOpenGLFunctions (0x0x7fad68848480) 0 + +Class QOpenGLFunctionsPrivate::Functions + size=1152 align=8 + base size=1152 base align=8 +QOpenGLFunctionsPrivate::Functions (0x0x7fad76317b40) 0 + +Class QOpenGLFunctionsPrivate + size=1152 align=8 + base size=1152 base align=8 +QOpenGLFunctionsPrivate (0x0x7fad76317ae0) 0 + +Class QOpenGLExtraFunctions + size=8 align=8 + base size=8 base align=8 +QOpenGLExtraFunctions (0x0x7fad6c650dd0) 0 + QOpenGLFunctions (0x0x7fad740ea9c0) 0 + +Class QOpenGLExtraFunctionsPrivate::Functions + size=1728 align=8 + base size=1728 base align=8 +QOpenGLExtraFunctionsPrivate::Functions (0x0x7fad73d8ccc0) 0 + +Class QOpenGLExtraFunctionsPrivate + size=2880 align=8 + base size=2880 base align=8 +QOpenGLExtraFunctionsPrivate (0x0x7fad6c650e38) 0 + QOpenGLFunctionsPrivate (0x0x7fad74120f60) 0 + +Vtable for QOpenGLFramebufferObject +QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QOpenGLFramebufferObject) +16 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject +24 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject + +Class QOpenGLFramebufferObject + size=16 align=8 + base size=16 base align=8 +QOpenGLFramebufferObject (0x0x7fad722bb8a0) 0 + vptr=((& QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject) + 16) + +Class QOpenGLFramebufferObjectFormat + size=8 align=8 + base size=8 base align=8 +QOpenGLFramebufferObjectFormat (0x0x7fad722da3c0) 0 + +Vtable for QOpenGLPaintDevice +QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QOpenGLPaintDevice) +16 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice +24 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice +32 (int (*)(...))QOpenGLPaintDevice::devType +40 (int (*)(...))QOpenGLPaintDevice::paintEngine +48 (int (*)(...))QOpenGLPaintDevice::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter +80 (int (*)(...))QOpenGLPaintDevice::ensureActiveTarget + +Class QOpenGLPaintDevice + size=32 align=8 + base size=32 base align=8 +QOpenGLPaintDevice (0x0x7fad739f13a8) 0 + vptr=((& QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice) + 16) + QPaintDevice (0x0x7fad722da420) 0 + primary-for QOpenGLPaintDevice (0x0x7fad739f13a8) + +Class QOpenGLPixelTransferOptions + size=8 align=8 + base size=8 base align=8 +QOpenGLPixelTransferOptions (0x0x7fad720d4660) 0 + +Class QOpenGLShader::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLShader::QPrivateSignal (0x0x7fad71cf0c60) 0 empty + +Vtable for QOpenGLShader +QOpenGLShader::_ZTV13QOpenGLShader: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QOpenGLShader) +16 (int (*)(...))QOpenGLShader::metaObject +24 (int (*)(...))QOpenGLShader::qt_metacast +32 (int (*)(...))QOpenGLShader::qt_metacall +40 (int (*)(...))QOpenGLShader::~QOpenGLShader +48 (int (*)(...))QOpenGLShader::~QOpenGLShader +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLShader + size=16 align=8 + base size=16 base align=8 +QOpenGLShader (0x0x7fad732710d0) 0 + vptr=((& QOpenGLShader::_ZTV13QOpenGLShader) + 16) + QObject (0x0x7fad71cf0c00) 0 + primary-for QOpenGLShader (0x0x7fad732710d0) + +Class QOpenGLShaderProgram::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLShaderProgram::QPrivateSignal (0x0x7fad71a02900) 0 empty + +Vtable for QOpenGLShaderProgram +QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QOpenGLShaderProgram) +16 (int (*)(...))QOpenGLShaderProgram::metaObject +24 (int (*)(...))QOpenGLShaderProgram::qt_metacast +32 (int (*)(...))QOpenGLShaderProgram::qt_metacall +40 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram +48 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QOpenGLShaderProgram::link + +Class QOpenGLShaderProgram + size=16 align=8 + base size=16 base align=8 +QOpenGLShaderProgram (0x0x7fad7307c270) 0 + vptr=((& QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram) + 16) + QObject (0x0x7fad719e6d80) 0 + primary-for QOpenGLShaderProgram (0x0x7fad7307c270) + +Class QOpenGLTexture + size=8 align=8 + base size=8 base align=8 +QOpenGLTexture (0x0x7fad7174b360) 0 + +Class QOpenGLTextureBlitter + size=8 align=8 + base size=8 base align=8 +QOpenGLTextureBlitter (0x0x7fad712fe9c0) 0 + +Class QOpenGLTimerQuery::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLTimerQuery::QPrivateSignal (0x0x7fad7131a600) 0 empty + +Vtable for QOpenGLTimerQuery +QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QOpenGLTimerQuery) +16 (int (*)(...))QOpenGLTimerQuery::metaObject +24 (int (*)(...))QOpenGLTimerQuery::qt_metacast +32 (int (*)(...))QOpenGLTimerQuery::qt_metacall +40 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery +48 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLTimerQuery + size=16 align=8 + base size=16 base align=8 +QOpenGLTimerQuery (0x0x7fad7307c888) 0 + vptr=((& QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery) + 16) + QObject (0x0x7fad7131a5a0) 0 + primary-for QOpenGLTimerQuery (0x0x7fad7307c888) + +Class QOpenGLTimeMonitor::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLTimeMonitor::QPrivateSignal (0x0x7fad7133bba0) 0 empty + +Vtable for QOpenGLTimeMonitor +QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QOpenGLTimeMonitor) +16 (int (*)(...))QOpenGLTimeMonitor::metaObject +24 (int (*)(...))QOpenGLTimeMonitor::qt_metacast +32 (int (*)(...))QOpenGLTimeMonitor::qt_metacall +40 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor +48 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLTimeMonitor + size=16 align=8 + base size=16 base align=8 +QOpenGLTimeMonitor (0x0x7fad7307c8f0) 0 + vptr=((& QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor) + 16) + QObject (0x0x7fad7131ade0) 0 + primary-for QOpenGLTimeMonitor (0x0x7fad7307c8f0) + +Class QOpenGLVertexArrayObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLVertexArrayObject::QPrivateSignal (0x0x7fad70f5b840) 0 empty + +Class QOpenGLVertexArrayObject::Binder + size=8 align=8 + base size=8 base align=8 +QOpenGLVertexArrayObject::Binder (0x0x7fad70f5b900) 0 + +Vtable for QOpenGLVertexArrayObject +QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QOpenGLVertexArrayObject) +16 (int (*)(...))QOpenGLVertexArrayObject::metaObject +24 (int (*)(...))QOpenGLVertexArrayObject::qt_metacast +32 (int (*)(...))QOpenGLVertexArrayObject::qt_metacall +40 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject +48 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QOpenGLVertexArrayObject + size=16 align=8 + base size=16 base align=8 +QOpenGLVertexArrayObject (0x0x7fad7307ca90) 0 + vptr=((& QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject) + 16) + QObject (0x0x7fad70f5b780) 0 + primary-for QOpenGLVertexArrayObject (0x0x7fad7307ca90) + +Class QPaintDeviceWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPaintDeviceWindow::QPrivateSignal (0x0x7fad710ba540) 0 empty + +Vtable for QPaintDeviceWindow +QPaintDeviceWindow::_ZTV18QPaintDeviceWindow: 58 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QPaintDeviceWindow) +16 (int (*)(...))QPaintDeviceWindow::metaObject +24 (int (*)(...))QPaintDeviceWindow::qt_metacast +32 (int (*)(...))QPaintDeviceWindow::qt_metacall +40 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow +48 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow +56 (int (*)(...))QPaintDeviceWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QPaintDeviceWindow::exposeEvent +160 (int (*)(...))QWindow::resizeEvent +168 (int (*)(...))QWindow::moveEvent +176 (int (*)(...))QWindow::focusInEvent +184 (int (*)(...))QWindow::focusOutEvent +192 (int (*)(...))QWindow::showEvent +200 (int (*)(...))QWindow::hideEvent +208 (int (*)(...))QWindow::keyPressEvent +216 (int (*)(...))QWindow::keyReleaseEvent +224 (int (*)(...))QWindow::mousePressEvent +232 (int (*)(...))QWindow::mouseReleaseEvent +240 (int (*)(...))QWindow::mouseDoubleClickEvent +248 (int (*)(...))QWindow::mouseMoveEvent +256 (int (*)(...))QWindow::wheelEvent +264 (int (*)(...))QWindow::touchEvent +272 (int (*)(...))QWindow::tabletEvent +280 (int (*)(...))QWindow::nativeEvent +288 (int (*)(...))QWindow::surfaceHandle +296 (int (*)(...))QPaintDeviceWindow::paintEvent +304 (int (*)(...))QPaintDeviceWindow::metric +312 (int (*)(...))QPaintDeviceWindow::paintEngine +320 (int (*)(...))-16 +328 (int (*)(...))(& _ZTI18QPaintDeviceWindow) +336 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD1Ev +344 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD0Ev +352 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +360 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +368 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +376 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv +384 (int (*)(...))-40 +392 (int (*)(...))(& _ZTI18QPaintDeviceWindow) +400 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD1Ev +408 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD0Ev +416 (int (*)(...))QPaintDevice::devType +424 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv +432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow6metricEN12QPaintDevice17PaintDeviceMetricE +440 (int (*)(...))QPaintDevice::initPainter +448 (int (*)(...))QPaintDevice::redirected +456 (int (*)(...))QPaintDevice::sharedPainter + +Class QPaintDeviceWindow + size=64 align=8 + base size=64 base align=8 +QPaintDeviceWindow (0x0x7fad76d33770) 0 + vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 16) + QWindow (0x0x7fad76d337e0) 0 + primary-for QPaintDeviceWindow (0x0x7fad76d33770) + QObject (0x0x7fad71009a20) 0 + primary-for QWindow (0x0x7fad76d337e0) + QSurface (0x0x7fad71009a80) 16 + vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 336) + QPaintDevice (0x0x7fad710ba4e0) 40 + vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 400) + +Class QOpenGLWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLWindow::QPrivateSignal (0x0x7fad710d8e40) 0 empty + +Vtable for QOpenGLWindow +QOpenGLWindow::_ZTV13QOpenGLWindow: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QOpenGLWindow) +16 (int (*)(...))QOpenGLWindow::metaObject +24 (int (*)(...))QOpenGLWindow::qt_metacast +32 (int (*)(...))QOpenGLWindow::qt_metacall +40 (int (*)(...))QOpenGLWindow::~QOpenGLWindow +48 (int (*)(...))QOpenGLWindow::~QOpenGLWindow +56 (int (*)(...))QPaintDeviceWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QPaintDeviceWindow::exposeEvent +160 (int (*)(...))QOpenGLWindow::resizeEvent +168 (int (*)(...))QWindow::moveEvent +176 (int (*)(...))QWindow::focusInEvent +184 (int (*)(...))QWindow::focusOutEvent +192 (int (*)(...))QWindow::showEvent +200 (int (*)(...))QWindow::hideEvent +208 (int (*)(...))QWindow::keyPressEvent +216 (int (*)(...))QWindow::keyReleaseEvent +224 (int (*)(...))QWindow::mousePressEvent +232 (int (*)(...))QWindow::mouseReleaseEvent +240 (int (*)(...))QWindow::mouseDoubleClickEvent +248 (int (*)(...))QWindow::mouseMoveEvent +256 (int (*)(...))QWindow::wheelEvent +264 (int (*)(...))QWindow::touchEvent +272 (int (*)(...))QWindow::tabletEvent +280 (int (*)(...))QWindow::nativeEvent +288 (int (*)(...))QWindow::surfaceHandle +296 (int (*)(...))QOpenGLWindow::paintEvent +304 (int (*)(...))QOpenGLWindow::metric +312 (int (*)(...))QPaintDeviceWindow::paintEngine +320 (int (*)(...))QOpenGLWindow::initializeGL +328 (int (*)(...))QOpenGLWindow::resizeGL +336 (int (*)(...))QOpenGLWindow::paintGL +344 (int (*)(...))QOpenGLWindow::paintUnderGL +352 (int (*)(...))QOpenGLWindow::paintOverGL +360 (int (*)(...))QOpenGLWindow::redirected +368 (int (*)(...))-16 +376 (int (*)(...))(& _ZTI13QOpenGLWindow) +384 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD1Ev +392 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD0Ev +400 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +408 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +416 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +424 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv +432 (int (*)(...))-40 +440 (int (*)(...))(& _ZTI13QOpenGLWindow) +448 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD1Ev +456 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD0Ev +464 (int (*)(...))QPaintDevice::devType +472 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv +480 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QPaintDevice::initPainter +496 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow10redirectedEP6QPoint +504 (int (*)(...))QPaintDevice::sharedPainter + +Class QOpenGLWindow + size=64 align=8 + base size=64 base align=8 +QOpenGLWindow (0x0x7fad7307cd00) 0 + vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 16) + QPaintDeviceWindow (0x0x7fad76d339a0) 0 + primary-for QOpenGLWindow (0x0x7fad7307cd00) + QWindow (0x0x7fad76d33a10) 0 + primary-for QPaintDeviceWindow (0x0x7fad76d339a0) + QObject (0x0x7fad710d8540) 0 + primary-for QWindow (0x0x7fad76d33a10) + QSurface (0x0x7fad710d85a0) 16 + vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 384) + QPaintDevice (0x0x7fad710d8de0) 40 + vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 448) + +Class QPageSize + size=8 align=8 + base size=8 base align=8 +QPageSize (0x0x7fad7111b8a0) 0 + +Class QPageLayout + size=8 align=8 + base size=8 base align=8 +QPageLayout (0x0x7fad702b1a20) 0 + +Class QPagedPaintDevice::Margins + size=32 align=8 + base size=32 base align=8 +QPagedPaintDevice::Margins (0x0x7fad6e3591e0) 0 + +Vtable for QPagedPaintDevice +QPagedPaintDevice::_ZTV17QPagedPaintDevice: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QPagedPaintDevice) +16 0 +24 0 +32 (int (*)(...))QPaintDevice::devType +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QPaintDevice::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))QPagedPaintDevice::setPageSize +96 (int (*)(...))QPagedPaintDevice::setPageSizeMM +104 (int (*)(...))QPagedPaintDevice::setMargins + +Class QPagedPaintDevice + size=32 align=8 + base size=32 base align=8 +QPagedPaintDevice (0x0x7fad6fb705b0) 0 + vptr=((& QPagedPaintDevice::_ZTV17QPagedPaintDevice) + 16) + QPaintDevice (0x0x7fad6e359180) 0 + primary-for QPagedPaintDevice (0x0x7fad6fb705b0) + +Class QPainter::PixmapFragment + size=80 align=8 + base size=80 base align=8 +QPainter::PixmapFragment (0x0x7fad6e359360) 0 + +Class QPainter + size=8 align=8 + base size=8 base align=8 +QPainter (0x0x7fad6e3592a0) 0 + +Class QTextItem + size=1 align=1 + base size=0 base align=1 +QTextItem (0x0x7fad6cfed480) 0 empty + +Vtable for QPaintEngine +QPaintEngine::_ZTV12QPaintEngine: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QPaintEngine) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))QPaintEngine::drawRects +64 (int (*)(...))QPaintEngine::drawRects +72 (int (*)(...))QPaintEngine::drawLines +80 (int (*)(...))QPaintEngine::drawLines +88 (int (*)(...))QPaintEngine::drawEllipse +96 (int (*)(...))QPaintEngine::drawEllipse +104 (int (*)(...))QPaintEngine::drawPath +112 (int (*)(...))QPaintEngine::drawPoints +120 (int (*)(...))QPaintEngine::drawPoints +128 (int (*)(...))QPaintEngine::drawPolygon +136 (int (*)(...))QPaintEngine::drawPolygon +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QPaintEngine::drawTextItem +160 (int (*)(...))QPaintEngine::drawTiledPixmap +168 (int (*)(...))QPaintEngine::drawImage +176 (int (*)(...))QPaintEngine::coordinateOffset +184 (int (*)(...))__cxa_pure_virtual + +Class QPaintEngine + size=32 align=8 + base size=32 base align=8 +QPaintEngine (0x0x7fad6c89d780) 0 + vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16) + +Class QPaintEngineState + size=4 align=4 + base size=4 base align=4 +QPaintEngineState (0x0x7fad6c62f5a0) 0 + +Class QPdfWriter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPdfWriter::QPrivateSignal (0x0x7fad6c087f00) 0 empty + +Vtable for QPdfWriter +QPdfWriter::_ZTV10QPdfWriter: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QPdfWriter) +16 (int (*)(...))QPdfWriter::metaObject +24 (int (*)(...))QPdfWriter::qt_metacast +32 (int (*)(...))QPdfWriter::qt_metacall +40 (int (*)(...))QPdfWriter::~QPdfWriter +48 (int (*)(...))QPdfWriter::~QPdfWriter +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPdfWriter::newPage +120 (int (*)(...))QPdfWriter::setPageSize +128 (int (*)(...))QPdfWriter::setPageSizeMM +136 (int (*)(...))QPdfWriter::setMargins +144 (int (*)(...))QPdfWriter::paintEngine +152 (int (*)(...))QPdfWriter::metric +160 (int (*)(...))-16 +168 (int (*)(...))(& _ZTI10QPdfWriter) +176 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD1Ev +184 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD0Ev +192 (int (*)(...))QPaintDevice::devType +200 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter11paintEngineEv +208 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter6metricEN12QPaintDevice17PaintDeviceMetricE +216 (int (*)(...))QPaintDevice::initPainter +224 (int (*)(...))QPaintDevice::redirected +232 (int (*)(...))QPaintDevice::sharedPainter +240 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter7newPageEv +248 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter11setPageSizeEN17QPagedPaintDevice8PageSizeE +256 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter13setPageSizeMMERK6QSizeF +264 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter10setMarginsERKN17QPagedPaintDevice7MarginsE + +Class QPdfWriter + size=48 align=8 + base size=48 base align=8 +QPdfWriter (0x0x7fad75d45540) 0 + vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 16) + QObject (0x0x7fad6c087ba0) 0 + primary-for QPdfWriter (0x0x7fad75d45540) + QPagedPaintDevice (0x0x7fad6dd87958) 16 + vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 176) + QPaintDevice (0x0x7fad6c087c00) 16 + primary-for QPagedPaintDevice (0x0x7fad6dd87958) + +Vtable for QPicture +QPicture::_ZTV8QPicture: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QPicture) +16 (int (*)(...))QPicture::~QPicture +24 (int (*)(...))QPicture::~QPicture +32 (int (*)(...))QPicture::devType +40 (int (*)(...))QPicture::paintEngine +48 (int (*)(...))QPicture::metric +56 (int (*)(...))QPaintDevice::initPainter +64 (int (*)(...))QPaintDevice::redirected +72 (int (*)(...))QPaintDevice::sharedPainter +80 (int (*)(...))QPicture::setData + +Class QPicture + size=32 align=8 + base size=32 base align=8 +QPicture (0x0x7fad6dd87c98) 0 + vptr=((& QPicture::_ZTV8QPicture) + 16) + QPaintDevice (0x0x7fad6c0c3de0) 0 + primary-for QPicture (0x0x7fad6dd87c98) + +Class QPictureIO + size=8 align=8 + base size=8 base align=8 +QPictureIO (0x0x7fad6af5c360) 0 + +Class QPictureFormatPlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPictureFormatPlugin::QPrivateSignal (0x0x7fad6af5c660) 0 empty + +Vtable for QPictureFormatPlugin +QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QPictureFormatPlugin) +16 (int (*)(...))QPictureFormatPlugin::metaObject +24 (int (*)(...))QPictureFormatPlugin::qt_metacast +32 (int (*)(...))QPictureFormatPlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPictureFormatPlugin::loadPicture +120 (int (*)(...))QPictureFormatPlugin::savePicture +128 (int (*)(...))__cxa_pure_virtual + +Class QPictureFormatPlugin + size=16 align=8 + base size=16 base align=8 +QPictureFormatPlugin (0x0x7fad6c245208) 0 + vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16) + QObject (0x0x7fad6af5c600) 0 + primary-for QPictureFormatPlugin (0x0x7fad6c245208) + +Class QPixmapCache::Key + size=8 align=8 + base size=8 base align=8 +QPixmapCache::Key (0x0x7fad6af5cd20) 0 + +Class QPixmapCache + size=1 align=1 + base size=0 base align=1 +QPixmapCache (0x0x7fad6af5c8a0) 0 empty + +Class QRasterWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRasterWindow::QPrivateSignal (0x0x7fad6a4dfa20) 0 empty + +Vtable for QRasterWindow +QRasterWindow::_ZTV13QRasterWindow: 59 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QRasterWindow) +16 (int (*)(...))QRasterWindow::metaObject +24 (int (*)(...))QRasterWindow::qt_metacast +32 (int (*)(...))QRasterWindow::qt_metacall +40 (int (*)(...))QRasterWindow::~QRasterWindow +48 (int (*)(...))QRasterWindow::~QRasterWindow +56 (int (*)(...))QPaintDeviceWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWindow::surfaceType +120 (int (*)(...))QWindow::format +128 (int (*)(...))QWindow::size +136 (int (*)(...))QWindow::accessibleRoot +144 (int (*)(...))QWindow::focusObject +152 (int (*)(...))QPaintDeviceWindow::exposeEvent +160 (int (*)(...))QWindow::resizeEvent +168 (int (*)(...))QWindow::moveEvent +176 (int (*)(...))QWindow::focusInEvent +184 (int (*)(...))QWindow::focusOutEvent +192 (int (*)(...))QWindow::showEvent +200 (int (*)(...))QWindow::hideEvent +208 (int (*)(...))QWindow::keyPressEvent +216 (int (*)(...))QWindow::keyReleaseEvent +224 (int (*)(...))QWindow::mousePressEvent +232 (int (*)(...))QWindow::mouseReleaseEvent +240 (int (*)(...))QWindow::mouseDoubleClickEvent +248 (int (*)(...))QWindow::mouseMoveEvent +256 (int (*)(...))QWindow::wheelEvent +264 (int (*)(...))QWindow::touchEvent +272 (int (*)(...))QWindow::tabletEvent +280 (int (*)(...))QWindow::nativeEvent +288 (int (*)(...))QWindow::surfaceHandle +296 (int (*)(...))QPaintDeviceWindow::paintEvent +304 (int (*)(...))QRasterWindow::metric +312 (int (*)(...))QPaintDeviceWindow::paintEngine +320 (int (*)(...))QRasterWindow::redirected +328 (int (*)(...))-16 +336 (int (*)(...))(& _ZTI13QRasterWindow) +344 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD1Ev +352 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD0Ev +360 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv +368 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv +376 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv +384 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv +392 (int (*)(...))-40 +400 (int (*)(...))(& _ZTI13QRasterWindow) +408 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD1Ev +416 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD0Ev +424 (int (*)(...))QPaintDevice::devType +432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv +440 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow6metricEN12QPaintDevice17PaintDeviceMetricE +448 (int (*)(...))QPaintDevice::initPainter +456 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow10redirectedEP6QPoint +464 (int (*)(...))QPaintDevice::sharedPainter + +Class QRasterWindow + size=64 align=8 + base size=64 base align=8 +QRasterWindow (0x0x7fad6acc5820) 0 + vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 16) + QPaintDeviceWindow (0x0x7fad755f8000) 0 + primary-for QRasterWindow (0x0x7fad6acc5820) + QWindow (0x0x7fad755f8070) 0 + primary-for QPaintDeviceWindow (0x0x7fad755f8000) + QObject (0x0x7fad6a4df840) 0 + primary-for QWindow (0x0x7fad755f8070) + QSurface (0x0x7fad6a4df8a0) 16 + vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 344) + QPaintDevice (0x0x7fad6a4df960) 40 + vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 408) + +Class QScreen::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScreen::QPrivateSignal (0x0x7fad6a4fd660) 0 empty + +Vtable for QScreen +QScreen::_ZTV7QScreen: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QScreen) +16 (int (*)(...))QScreen::metaObject +24 (int (*)(...))QScreen::qt_metacast +32 (int (*)(...))QScreen::qt_metacall +40 (int (*)(...))QScreen::~QScreen +48 (int (*)(...))QScreen::~QScreen +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QScreen + size=16 align=8 + base size=16 base align=8 +QScreen (0x0x7fad6ace4f08) 0 + vptr=((& QScreen::_ZTV7QScreen) + 16) + QObject (0x0x7fad6a4fd5a0) 0 + primary-for QScreen (0x0x7fad6ace4f08) + +Class QSessionManager::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSessionManager::QPrivateSignal (0x0x7fad6a521420) 0 empty + +Vtable for QSessionManager +QSessionManager::_ZTV15QSessionManager: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSessionManager) +16 (int (*)(...))QSessionManager::metaObject +24 (int (*)(...))QSessionManager::qt_metacast +32 (int (*)(...))QSessionManager::qt_metacall +40 (int (*)(...))QSessionManager::~QSessionManager +48 (int (*)(...))QSessionManager::~QSessionManager +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSessionManager + size=16 align=8 + base size=16 base align=8 +QSessionManager (0x0x7fad6ace4f70) 0 + vptr=((& QSessionManager::_ZTV15QSessionManager) + 16) + QObject (0x0x7fad6a521360) 0 + primary-for QSessionManager (0x0x7fad6ace4f70) + +Vtable for QStandardItem +QStandardItem::_ZTV13QStandardItem: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QStandardItem) +16 (int (*)(...))QStandardItem::~QStandardItem +24 (int (*)(...))QStandardItem::~QStandardItem +32 (int (*)(...))QStandardItem::data +40 (int (*)(...))QStandardItem::setData +48 (int (*)(...))QStandardItem::clone +56 (int (*)(...))QStandardItem::type +64 (int (*)(...))QStandardItem::read +72 (int (*)(...))QStandardItem::write +80 (int (*)(...))QStandardItem::operator< + +Class QStandardItem + size=16 align=8 + base size=16 base align=8 +QStandardItem (0x0x7fad6a53c000) 0 + vptr=((& QStandardItem::_ZTV13QStandardItem) + 16) + +Class QStandardItemModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStandardItemModel::QPrivateSignal (0x0x7fad6a691960) 0 empty + +Vtable for QStandardItemModel +QStandardItemModel::_ZTV18QStandardItemModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QStandardItemModel) +16 (int (*)(...))QStandardItemModel::metaObject +24 (int (*)(...))QStandardItemModel::qt_metacast +32 (int (*)(...))QStandardItemModel::qt_metacall +40 (int (*)(...))QStandardItemModel::~QStandardItemModel +48 (int (*)(...))QStandardItemModel::~QStandardItemModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStandardItemModel::index +120 (int (*)(...))QStandardItemModel::parent +128 (int (*)(...))QStandardItemModel::sibling +136 (int (*)(...))QStandardItemModel::rowCount +144 (int (*)(...))QStandardItemModel::columnCount +152 (int (*)(...))QStandardItemModel::hasChildren +160 (int (*)(...))QStandardItemModel::data +168 (int (*)(...))QStandardItemModel::setData +176 (int (*)(...))QStandardItemModel::headerData +184 (int (*)(...))QStandardItemModel::setHeaderData +192 (int (*)(...))QStandardItemModel::itemData +200 (int (*)(...))QStandardItemModel::setItemData +208 (int (*)(...))QStandardItemModel::mimeTypes +216 (int (*)(...))QStandardItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QStandardItemModel::dropMimeData +240 (int (*)(...))QStandardItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QStandardItemModel::insertRows +264 (int (*)(...))QStandardItemModel::insertColumns +272 (int (*)(...))QStandardItemModel::removeRows +280 (int (*)(...))QStandardItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QStandardItemModel::flags +328 (int (*)(...))QStandardItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QStandardItemModel + size=16 align=8 + base size=16 base align=8 +QStandardItemModel (0x0x7fad6ae7ca90) 0 + vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16) + QAbstractItemModel (0x0x7fad6ae7caf8) 0 + primary-for QStandardItemModel (0x0x7fad6ae7ca90) + QObject (0x0x7fad6a691900) 0 + primary-for QAbstractItemModel (0x0x7fad6ae7caf8) + +Class QStaticText + size=8 align=8 + base size=8 base align=8 +QStaticText (0x0x7fad6a337c00) 0 + +Class QStyleHints::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStyleHints::QPrivateSignal (0x0x7fad69a13480) 0 empty + +Vtable for QStyleHints +QStyleHints::_ZTV11QStyleHints: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QStyleHints) +16 (int (*)(...))QStyleHints::metaObject +24 (int (*)(...))QStyleHints::qt_metacast +32 (int (*)(...))QStyleHints::qt_metacall +40 (int (*)(...))QStyleHints::~QStyleHints +48 (int (*)(...))QStyleHints::~QStyleHints +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QStyleHints + size=16 align=8 + base size=16 base align=8 +QStyleHints (0x0x7fad69b99618) 0 + vptr=((& QStyleHints::_ZTV11QStyleHints) + 16) + QObject (0x0x7fad699f6ea0) 0 + primary-for QStyleHints (0x0x7fad69b99618) + +Class QTextObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextObject::QPrivateSignal (0x0x7fad69a4dba0) 0 empty + +Vtable for QTextObject +QTextObject::_ZTV11QTextObject: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTextObject) +16 (int (*)(...))QTextObject::metaObject +24 (int (*)(...))QTextObject::qt_metacast +32 (int (*)(...))QTextObject::qt_metacall +40 (int (*)(...))QTextObject::~QTextObject +48 (int (*)(...))QTextObject::~QTextObject +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTextObject + size=16 align=8 + base size=16 base align=8 +QTextObject (0x0x7fad69bb4068) 0 + vptr=((& QTextObject::_ZTV11QTextObject) + 16) + QObject (0x0x7fad69a4d660) 0 + primary-for QTextObject (0x0x7fad69bb4068) + +Class QTextBlockGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextBlockGroup::QPrivateSignal (0x0x7fad69a9b420) 0 empty + +Vtable for QTextBlockGroup +QTextBlockGroup::_ZTV15QTextBlockGroup: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QTextBlockGroup) +16 (int (*)(...))QTextBlockGroup::metaObject +24 (int (*)(...))QTextBlockGroup::qt_metacast +32 (int (*)(...))QTextBlockGroup::qt_metacall +40 (int (*)(...))QTextBlockGroup::~QTextBlockGroup +48 (int (*)(...))QTextBlockGroup::~QTextBlockGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTextBlockGroup::blockInserted +120 (int (*)(...))QTextBlockGroup::blockRemoved +128 (int (*)(...))QTextBlockGroup::blockFormatChanged + +Class QTextBlockGroup + size=16 align=8 + base size=16 base align=8 +QTextBlockGroup (0x0x7fad69bb40d0) 0 + vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16) + QTextObject (0x0x7fad69bb42d8) 0 + primary-for QTextBlockGroup (0x0x7fad69bb40d0) + QObject (0x0x7fad69a9b3c0) 0 + primary-for QTextObject (0x0x7fad69bb42d8) + +Vtable for QTextFrameLayoutData +QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QTextFrameLayoutData) +16 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData +24 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData + +Class QTextFrameLayoutData + size=8 align=8 + base size=8 base align=8 +QTextFrameLayoutData (0x0x7fad69a9b9c0) 0 nearly-empty + vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16) + +Class QTextFrame::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextFrame::QPrivateSignal (0x0x7fad69ab6540) 0 empty + +Class QTextFrame::iterator + size=32 align=8 + base size=28 base align=8 +QTextFrame::iterator (0x0x7fad69ab6840) 0 + +Vtable for QTextFrame +QTextFrame::_ZTV10QTextFrame: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTextFrame) +16 (int (*)(...))QTextFrame::metaObject +24 (int (*)(...))QTextFrame::qt_metacast +32 (int (*)(...))QTextFrame::qt_metacall +40 (int (*)(...))QTextFrame::~QTextFrame +48 (int (*)(...))QTextFrame::~QTextFrame +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTextFrame + size=16 align=8 + base size=16 base align=8 +QTextFrame (0x0x7fad69bb4548) 0 + vptr=((& QTextFrame::_ZTV10QTextFrame) + 16) + QTextObject (0x0x7fad69bcadd0) 0 + primary-for QTextFrame (0x0x7fad69bb4548) + QObject (0x0x7fad69ab64e0) 0 + primary-for QTextObject (0x0x7fad69bcadd0) + +Vtable for QTextBlockUserData +QTextBlockUserData::_ZTV18QTextBlockUserData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QTextBlockUserData) +16 (int (*)(...))QTextBlockUserData::~QTextBlockUserData +24 (int (*)(...))QTextBlockUserData::~QTextBlockUserData + +Class QTextBlockUserData + size=8 align=8 + base size=8 base align=8 +QTextBlockUserData (0x0x7fad6ad49300) 0 nearly-empty + vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16) + +Class QTextBlock::iterator + size=24 align=8 + base size=20 base align=8 +QTextBlock::iterator (0x0x7fad6ad493c0) 0 + +Class QTextBlock + size=16 align=8 + base size=12 base align=8 +QTextBlock (0x0x7fad6ad49360) 0 + +Class QTextFragment + size=16 align=8 + base size=16 base align=8 +QTextFragment (0x0x7fad69d1c0c0) 0 + +Class QSyntaxHighlighter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSyntaxHighlighter::QPrivateSignal (0x0x7fad69b538a0) 0 empty + +Vtable for QSyntaxHighlighter +QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QSyntaxHighlighter) +16 (int (*)(...))QSyntaxHighlighter::metaObject +24 (int (*)(...))QSyntaxHighlighter::qt_metacast +32 (int (*)(...))QSyntaxHighlighter::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QSyntaxHighlighter + size=16 align=8 + base size=16 base align=8 +QSyntaxHighlighter (0x0x7fad69c7a340) 0 + vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16) + QObject (0x0x7fad69b53840) 0 + primary-for QSyntaxHighlighter (0x0x7fad69c7a340) + +Class QTextDocumentFragment + size=8 align=8 + base size=8 base align=8 +QTextDocumentFragment (0x0x7fad69b53a80) 0 + +Class QTextDocumentWriter + size=8 align=8 + base size=8 base align=8 +QTextDocumentWriter (0x0x7fad69b53ae0) 0 + +Class QTextList::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextList::QPrivateSignal (0x0x7fad69b53ba0) 0 empty + +Vtable for QTextList +QTextList::_ZTV9QTextList: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTextList) +16 (int (*)(...))QTextList::metaObject +24 (int (*)(...))QTextList::qt_metacast +32 (int (*)(...))QTextList::qt_metacall +40 (int (*)(...))QTextList::~QTextList +48 (int (*)(...))QTextList::~QTextList +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTextBlockGroup::blockInserted +120 (int (*)(...))QTextBlockGroup::blockRemoved +128 (int (*)(...))QTextBlockGroup::blockFormatChanged + +Class QTextList + size=16 align=8 + base size=16 base align=8 +QTextList (0x0x7fad69c7a3a8) 0 + vptr=((& QTextList::_ZTV9QTextList) + 16) + QTextBlockGroup (0x0x7fad69c7a410) 0 + primary-for QTextList (0x0x7fad69c7a3a8) + QTextObject (0x0x7fad69c7a478) 0 + primary-for QTextBlockGroup (0x0x7fad69c7a410) + QObject (0x0x7fad69b53b40) 0 + primary-for QTextObject (0x0x7fad69c7a478) + +Class QTextTableCell + size=16 align=8 + base size=12 base align=8 +QTextTableCell (0x0x7fad692eb1e0) 0 + +Class QTextTable::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextTable::QPrivateSignal (0x0x7fad692eba20) 0 empty + +Vtable for QTextTable +QTextTable::_ZTV10QTextTable: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTextTable) +16 (int (*)(...))QTextTable::metaObject +24 (int (*)(...))QTextTable::qt_metacast +32 (int (*)(...))QTextTable::qt_metacall +40 (int (*)(...))QTextTable::~QTextTable +48 (int (*)(...))QTextTable::~QTextTable +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTextTable + size=16 align=8 + base size=16 base align=8 +QTextTable (0x0x7fad69c7a4e0) 0 + vptr=((& QTextTable::_ZTV10QTextTable) + 16) + QTextFrame (0x0x7fad69c7a548) 0 + primary-for QTextTable (0x0x7fad69c7a4e0) + QTextObject (0x0x7fad69c7a5b0) 0 + primary-for QTextFrame (0x0x7fad69c7a548) + QObject (0x0x7fad692eb9c0) 0 + primary-for QTextObject (0x0x7fad69c7a5b0) + +Class QValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QValidator::QPrivateSignal (0x0x7fad69334000) 0 empty + +Vtable for QValidator +QValidator::_ZTV10QValidator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QValidator) +16 (int (*)(...))QValidator::metaObject +24 (int (*)(...))QValidator::qt_metacast +32 (int (*)(...))QValidator::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))QValidator::fixup + +Class QValidator + size=16 align=8 + base size=16 base align=8 +QValidator (0x0x7fad69c7a618) 0 + vptr=((& QValidator::_ZTV10QValidator) + 16) + QObject (0x0x7fad692ebf60) 0 + primary-for QValidator (0x0x7fad69c7a618) + +Class QIntValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIntValidator::QPrivateSignal (0x0x7fad69334300) 0 empty + +Vtable for QIntValidator +QIntValidator::_ZTV13QIntValidator: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QIntValidator) +16 (int (*)(...))QIntValidator::metaObject +24 (int (*)(...))QIntValidator::qt_metacast +32 (int (*)(...))QIntValidator::qt_metacall +40 (int (*)(...))QIntValidator::~QIntValidator +48 (int (*)(...))QIntValidator::~QIntValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIntValidator::validate +120 (int (*)(...))QIntValidator::fixup +128 (int (*)(...))QIntValidator::setRange + +Class QIntValidator + size=24 align=8 + base size=24 base align=8 +QIntValidator (0x0x7fad69c7a680) 0 + vptr=((& QIntValidator::_ZTV13QIntValidator) + 16) + QValidator (0x0x7fad69c7a6e8) 0 + primary-for QIntValidator (0x0x7fad69c7a680) + QObject (0x0x7fad693342a0) 0 + primary-for QValidator (0x0x7fad69c7a6e8) + +Class QDoubleValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDoubleValidator::QPrivateSignal (0x0x7fad69334540) 0 empty + +Vtable for QDoubleValidator +QDoubleValidator::_ZTV16QDoubleValidator: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QDoubleValidator) +16 (int (*)(...))QDoubleValidator::metaObject +24 (int (*)(...))QDoubleValidator::qt_metacast +32 (int (*)(...))QDoubleValidator::qt_metacall +40 (int (*)(...))QDoubleValidator::~QDoubleValidator +48 (int (*)(...))QDoubleValidator::~QDoubleValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDoubleValidator::validate +120 (int (*)(...))QValidator::fixup +128 (int (*)(...))QDoubleValidator::setRange + +Class QDoubleValidator + size=40 align=8 + base size=36 base align=8 +QDoubleValidator (0x0x7fad69c7a750) 0 + vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16) + QValidator (0x0x7fad69c7a7b8) 0 + primary-for QDoubleValidator (0x0x7fad69c7a750) + QObject (0x0x7fad693344e0) 0 + primary-for QValidator (0x0x7fad69c7a7b8) + +Class QRegExpValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRegExpValidator::QPrivateSignal (0x0x7fad693349c0) 0 empty + +Vtable for QRegExpValidator +QRegExpValidator::_ZTV16QRegExpValidator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QRegExpValidator) +16 (int (*)(...))QRegExpValidator::metaObject +24 (int (*)(...))QRegExpValidator::qt_metacast +32 (int (*)(...))QRegExpValidator::qt_metacall +40 (int (*)(...))QRegExpValidator::~QRegExpValidator +48 (int (*)(...))QRegExpValidator::~QRegExpValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QRegExpValidator::validate +120 (int (*)(...))QValidator::fixup + +Class QRegExpValidator + size=24 align=8 + base size=24 base align=8 +QRegExpValidator (0x0x7fad69c7a820) 0 + vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16) + QValidator (0x0x7fad69c7a888) 0 + primary-for QRegExpValidator (0x0x7fad69c7a820) + QObject (0x0x7fad69334960) 0 + primary-for QValidator (0x0x7fad69c7a888) + +Class QRegularExpressionValidator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRegularExpressionValidator::QPrivateSignal (0x0x7fad69334ba0) 0 empty + +Vtable for QRegularExpressionValidator +QRegularExpressionValidator::_ZTV27QRegularExpressionValidator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QRegularExpressionValidator) +16 (int (*)(...))QRegularExpressionValidator::metaObject +24 (int (*)(...))QRegularExpressionValidator::qt_metacast +32 (int (*)(...))QRegularExpressionValidator::qt_metacall +40 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator +48 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QRegularExpressionValidator::validate +120 (int (*)(...))QValidator::fixup + +Class QRegularExpressionValidator + size=16 align=8 + base size=16 base align=8 +QRegularExpressionValidator (0x0x7fad69c7a8f0) 0 + vptr=((& QRegularExpressionValidator::_ZTV27QRegularExpressionValidator) + 16) + QValidator (0x0x7fad69c7a958) 0 + primary-for QRegularExpressionValidator (0x0x7fad69c7a8f0) + QObject (0x0x7fad69334b40) 0 + primary-for QValidator (0x0x7fad69c7a958) + +Class QSizePolicy::Bits + size=4 align=4 + base size=4 base align=4 +QSizePolicy::Bits (0x0x7fad69334de0) 0 + +Class QSizePolicy + size=4 align=4 + base size=4 base align=4 +QSizePolicy (0x0x7fad69334d80) 0 + +Class QWidgetData + size=88 align=8 + base size=88 base align=8 +QWidgetData (0x0x7fad69110a80) 0 + +Class QWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWidget::QPrivateSignal (0x0x7fad69110ba0) 0 empty + +Vtable for QWidget +QWidget::_ZTV7QWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QWidget) +16 (int (*)(...))QWidget::metaObject +24 (int (*)(...))QWidget::qt_metacast +32 (int (*)(...))QWidget::qt_metacall +40 (int (*)(...))QWidget::~QWidget +48 (int (*)(...))QWidget::~QWidget +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI7QWidget) +448 (int (*)(...))QWidget::_ZThn16_N7QWidgetD1Ev +456 (int (*)(...))QWidget::_ZThn16_N7QWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QWidget + size=48 align=8 + base size=48 base align=8 +QWidget (0x0x7fad7400dcb0) 0 + vptr=((& QWidget::_ZTV7QWidget) + 16) + QObject (0x0x7fad69110ae0) 0 + primary-for QWidget (0x0x7fad7400dcb0) + QPaintDevice (0x0x7fad69110b40) 16 + vptr=((& QWidget::_ZTV7QWidget) + 448) + +Class QAbstractButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractButton::QPrivateSignal (0x0x7fad691ec540) 0 empty + +Vtable for QAbstractButton +QAbstractButton::_ZTV15QAbstractButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAbstractButton) +16 (int (*)(...))QAbstractButton::metaObject +24 (int (*)(...))QAbstractButton::qt_metacast +32 (int (*)(...))QAbstractButton::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI15QAbstractButton) +472 0 +480 0 +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractButton + size=48 align=8 + base size=48 base align=8 +QAbstractButton (0x0x7fad69114d68) 0 + vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16) + QWidget (0x0x7fad740f5af0) 0 + primary-for QAbstractButton (0x0x7fad69114d68) + QObject (0x0x7fad691ec480) 0 + primary-for QWidget (0x0x7fad740f5af0) + QPaintDevice (0x0x7fad691ec4e0) 16 + vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 472) + +Class QAbstractSpinBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractSpinBox::QPrivateSignal (0x0x7fad691ec7e0) 0 empty + +Vtable for QAbstractSpinBox +QAbstractSpinBox::_ZTV16QAbstractSpinBox: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QAbstractSpinBox) +16 (int (*)(...))QAbstractSpinBox::metaObject +24 (int (*)(...))QAbstractSpinBox::qt_metacast +32 (int (*)(...))QAbstractSpinBox::qt_metacall +40 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox +48 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox +56 (int (*)(...))QAbstractSpinBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractSpinBox::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractSpinBox::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QAbstractSpinBox::wheelEvent +208 (int (*)(...))QAbstractSpinBox::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QAbstractSpinBox::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractSpinBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractSpinBox::validate +440 (int (*)(...))QAbstractSpinBox::fixup +448 (int (*)(...))QAbstractSpinBox::stepBy +456 (int (*)(...))QAbstractSpinBox::clear +464 (int (*)(...))QAbstractSpinBox::stepEnabled +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI16QAbstractSpinBox) +488 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev +496 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractSpinBox + size=48 align=8 + base size=48 base align=8 +QAbstractSpinBox (0x0x7fad69114dd0) 0 + vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16) + QWidget (0x0x7fad740f5b60) 0 + primary-for QAbstractSpinBox (0x0x7fad69114dd0) + QObject (0x0x7fad691ec720) 0 + primary-for QWidget (0x0x7fad740f5b60) + QPaintDevice (0x0x7fad691ec780) 16 + vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 488) + +Class QAbstractSlider::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractSlider::QPrivateSignal (0x0x7fad68e643c0) 0 empty + +Vtable for QAbstractSlider +QAbstractSlider::_ZTV15QAbstractSlider: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAbstractSlider) +16 (int (*)(...))QAbstractSlider::metaObject +24 (int (*)(...))QAbstractSlider::qt_metacast +32 (int (*)(...))QAbstractSlider::qt_metacall +40 (int (*)(...))QAbstractSlider::~QAbstractSlider +48 (int (*)(...))QAbstractSlider::~QAbstractSlider +56 (int (*)(...))QAbstractSlider::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QAbstractSlider::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractSlider::sliderChange +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI15QAbstractSlider) +456 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev +464 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractSlider + size=48 align=8 + base size=48 base align=8 +QAbstractSlider (0x0x7fad69114f08) 0 + vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16) + QWidget (0x0x7fad741308c0) 0 + primary-for QAbstractSlider (0x0x7fad69114f08) + QObject (0x0x7fad68e64300) 0 + primary-for QWidget (0x0x7fad741308c0) + QPaintDevice (0x0x7fad68e64360) 16 + vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 456) + +Class QSlider::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSlider::QPrivateSignal (0x0x7fad68e64660) 0 empty + +Vtable for QSlider +QSlider::_ZTV7QSlider: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QSlider) +16 (int (*)(...))QSlider::metaObject +24 (int (*)(...))QSlider::qt_metacast +32 (int (*)(...))QSlider::qt_metacall +40 (int (*)(...))QSlider::~QSlider +48 (int (*)(...))QSlider::~QSlider +56 (int (*)(...))QSlider::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QSlider::sizeHint +136 (int (*)(...))QSlider::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSlider::mousePressEvent +176 (int (*)(...))QSlider::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QSlider::mouseMoveEvent +200 (int (*)(...))QAbstractSlider::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QSlider::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractSlider::sliderChange +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI7QSlider) +456 (int (*)(...))QSlider::_ZThn16_N7QSliderD1Ev +464 (int (*)(...))QSlider::_ZThn16_N7QSliderD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSlider + size=48 align=8 + base size=48 base align=8 +QSlider (0x0x7fad69114f70) 0 + vptr=((& QSlider::_ZTV7QSlider) + 16) + QAbstractSlider (0x0x7fad68e8f000) 0 + primary-for QSlider (0x0x7fad69114f70) + QWidget (0x0x7fad73d81150) 0 + primary-for QAbstractSlider (0x0x7fad68e8f000) + QObject (0x0x7fad68e645a0) 0 + primary-for QWidget (0x0x7fad73d81150) + QPaintDevice (0x0x7fad68e64600) 16 + vptr=((& QSlider::_ZTV7QSlider) + 456) + +Class QStyle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStyle::QPrivateSignal (0x0x7fad68e64960) 0 empty + +Vtable for QStyle +QStyle::_ZTV6QStyle: 37 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QStyle) +16 (int (*)(...))QStyle::metaObject +24 (int (*)(...))QStyle::qt_metacast +32 (int (*)(...))QStyle::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStyle::polish +120 (int (*)(...))QStyle::unpolish +128 (int (*)(...))QStyle::polish +136 (int (*)(...))QStyle::unpolish +144 (int (*)(...))QStyle::polish +152 (int (*)(...))QStyle::itemTextRect +160 (int (*)(...))QStyle::itemPixmapRect +168 (int (*)(...))QStyle::drawItemText +176 (int (*)(...))QStyle::drawItemPixmap +184 (int (*)(...))QStyle::standardPalette +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))__cxa_pure_virtual +232 (int (*)(...))__cxa_pure_virtual +240 (int (*)(...))__cxa_pure_virtual +248 (int (*)(...))__cxa_pure_virtual +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))__cxa_pure_virtual +272 (int (*)(...))__cxa_pure_virtual +280 (int (*)(...))__cxa_pure_virtual +288 (int (*)(...))__cxa_pure_virtual + +Class QStyle + size=16 align=8 + base size=16 base align=8 +QStyle (0x0x7fad68e8f0d0) 0 + vptr=((& QStyle::_ZTV6QStyle) + 16) + QObject (0x0x7fad68e64900) 0 + primary-for QStyle (0x0x7fad68e8f0d0) + +Class QTabBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTabBar::QPrivateSignal (0x0x7fad68f27240) 0 empty + +Vtable for QTabBar +QTabBar::_ZTV7QTabBar: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QTabBar) +16 (int (*)(...))QTabBar::metaObject +24 (int (*)(...))QTabBar::qt_metacast +32 (int (*)(...))QTabBar::qt_metacall +40 (int (*)(...))QTabBar::~QTabBar +48 (int (*)(...))QTabBar::~QTabBar +56 (int (*)(...))QTabBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTabBar::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QTabBar::sizeHint +136 (int (*)(...))QTabBar::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTabBar::mousePressEvent +176 (int (*)(...))QTabBar::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QTabBar::mouseMoveEvent +200 (int (*)(...))QTabBar::wheelEvent +208 (int (*)(...))QTabBar::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTabBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTabBar::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QTabBar::showEvent +352 (int (*)(...))QTabBar::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTabBar::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QTabBar::tabSizeHint +440 (int (*)(...))QTabBar::minimumTabSizeHint +448 (int (*)(...))QTabBar::tabInserted +456 (int (*)(...))QTabBar::tabRemoved +464 (int (*)(...))QTabBar::tabLayoutChange +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI7QTabBar) +488 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD1Ev +496 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTabBar + size=48 align=8 + base size=48 base align=8 +QTabBar (0x0x7fad68e8f2d8) 0 + vptr=((& QTabBar::_ZTV7QTabBar) + 16) + QWidget (0x0x7fad732399a0) 0 + primary-for QTabBar (0x0x7fad68e8f2d8) + QObject (0x0x7fad68f27180) 0 + primary-for QWidget (0x0x7fad732399a0) + QPaintDevice (0x0x7fad68f271e0) 16 + vptr=((& QTabBar::_ZTV7QTabBar) + 488) + +Class QTabWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTabWidget::QPrivateSignal (0x0x7fad68f275a0) 0 empty + +Vtable for QTabWidget +QTabWidget::_ZTV10QTabWidget: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTabWidget) +16 (int (*)(...))QTabWidget::metaObject +24 (int (*)(...))QTabWidget::qt_metacast +32 (int (*)(...))QTabWidget::qt_metacall +40 (int (*)(...))QTabWidget::~QTabWidget +48 (int (*)(...))QTabWidget::~QTabWidget +56 (int (*)(...))QTabWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QTabWidget::sizeHint +136 (int (*)(...))QTabWidget::minimumSizeHint +144 (int (*)(...))QTabWidget::heightForWidth +152 (int (*)(...))QTabWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QTabWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTabWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTabWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QTabWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTabWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QTabWidget::tabInserted +440 (int (*)(...))QTabWidget::tabRemoved +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI10QTabWidget) +464 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD1Ev +472 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTabWidget + size=48 align=8 + base size=48 base align=8 +QTabWidget (0x0x7fad68e8f340) 0 + vptr=((& QTabWidget::_ZTV10QTabWidget) + 16) + QWidget (0x0x7fad73275000) 0 + primary-for QTabWidget (0x0x7fad68e8f340) + QObject (0x0x7fad68f274e0) 0 + primary-for QWidget (0x0x7fad73275000) + QPaintDevice (0x0x7fad68f27540) 16 + vptr=((& QTabWidget::_ZTV10QTabWidget) + 464) + +Class QRubberBand::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRubberBand::QPrivateSignal (0x0x7fad68f279c0) 0 empty + +Vtable for QRubberBand +QRubberBand::_ZTV11QRubberBand: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QRubberBand) +16 (int (*)(...))QRubberBand::metaObject +24 (int (*)(...))QRubberBand::qt_metacast +32 (int (*)(...))QRubberBand::qt_metacall +40 (int (*)(...))QRubberBand::~QRubberBand +48 (int (*)(...))QRubberBand::~QRubberBand +56 (int (*)(...))QRubberBand::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QRubberBand::paintEvent +264 (int (*)(...))QRubberBand::moveEvent +272 (int (*)(...))QRubberBand::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QRubberBand::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QRubberBand::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI11QRubberBand) +448 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD1Ev +456 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QRubberBand + size=48 align=8 + base size=48 base align=8 +QRubberBand (0x0x7fad68e8f3a8) 0 + vptr=((& QRubberBand::_ZTV11QRubberBand) + 16) + QWidget (0x0x7fad732753f0) 0 + primary-for QRubberBand (0x0x7fad68e8f3a8) + QObject (0x0x7fad68f27900) 0 + primary-for QWidget (0x0x7fad732753f0) + QPaintDevice (0x0x7fad68f27960) 16 + vptr=((& QRubberBand::_ZTV11QRubberBand) + 448) + +Class QFrame::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFrame::QPrivateSignal (0x0x7fad68f27e40) 0 empty + +Vtable for QFrame +QFrame::_ZTV6QFrame: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QFrame) +16 (int (*)(...))QFrame::metaObject +24 (int (*)(...))QFrame::qt_metacast +32 (int (*)(...))QFrame::qt_metacall +40 (int (*)(...))QFrame::~QFrame +48 (int (*)(...))QFrame::~QFrame +56 (int (*)(...))QFrame::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFrame::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI6QFrame) +448 (int (*)(...))QFrame::_ZThn16_N6QFrameD1Ev +456 (int (*)(...))QFrame::_ZThn16_N6QFrameD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFrame + size=48 align=8 + base size=48 base align=8 +QFrame (0x0x7fad68e8f410) 0 + vptr=((& QFrame::_ZTV6QFrame) + 16) + QWidget (0x0x7fad73275620) 0 + primary-for QFrame (0x0x7fad68e8f410) + QObject (0x0x7fad68f27d80) 0 + primary-for QWidget (0x0x7fad73275620) + QPaintDevice (0x0x7fad68f27de0) 16 + vptr=((& QFrame::_ZTV6QFrame) + 448) + +Class QStyleOption + size=64 align=8 + base size=64 base align=8 +QStyleOption (0x0x7fad68fce1e0) 0 + +Class QStyleOptionFocusRect + size=80 align=8 + base size=80 base align=8 +QStyleOptionFocusRect (0x0x7fad68e8f478) 0 + QStyleOption (0x0x7fad68fce2a0) 0 + +Class QStyleOptionFrame + size=80 align=8 + base size=80 base align=8 +QStyleOptionFrame (0x0x7fad68e8f4e0) 0 + QStyleOption (0x0x7fad68fce4e0) 0 + +Class QStyleOptionTabWidgetFrame + size=136 align=8 + base size=132 base align=8 +QStyleOptionTabWidgetFrame (0x0x7fad68e8f618) 0 + QStyleOption (0x0x7fad68fcede0) 0 + +Class QStyleOptionTabBarBase + size=104 align=8 + base size=101 base align=8 +QStyleOptionTabBarBase (0x0x7fad68e8f680) 0 + QStyleOption (0x0x7fad69020060) 0 + +Class QStyleOptionHeader + size=120 align=8 + base size=116 base align=8 +QStyleOptionHeader (0x0x7fad68e8f6e8) 0 + QStyleOption (0x0x7fad69020300) 0 + +Class QStyleOptionButton + size=96 align=8 + base size=96 base align=8 +QStyleOptionButton (0x0x7fad68e8f750) 0 + QStyleOption (0x0x7fad69020540) 0 + +Class QStyleOptionTab + size=136 align=8 + base size=136 base align=8 +QStyleOptionTab (0x0x7fad68e8f888) 0 + QStyleOption (0x0x7fad69020e40) 0 + +Class QStyleOptionToolBar + size=88 align=8 + base size=88 base align=8 +QStyleOptionToolBar (0x0x7fad68e8fa90) 0 + QStyleOption (0x0x7fad68d65900) 0 + +Class QStyleOptionProgressBar + size=104 align=8 + base size=102 base align=8 +QStyleOptionProgressBar (0x0x7fad68e8fbc8) 0 + QStyleOption (0x0x7fad68df8240) 0 + +Class QStyleOptionMenuItem + size=136 align=8 + base size=136 base align=8 +QStyleOptionMenuItem (0x0x7fad68e8fc30) 0 + QStyleOption (0x0x7fad68df8480) 0 + +Class QStyleOptionDockWidget + size=80 align=8 + base size=76 base align=8 +QStyleOptionDockWidget (0x0x7fad68e8fc98) 0 + QStyleOption (0x0x7fad68df86c0) 0 + +Class QStyleOptionViewItem + size=192 align=8 + base size=192 base align=8 +QStyleOptionViewItem (0x0x7fad68e8fd68) 0 + QStyleOption (0x0x7fad68df8900) 0 + +Class QStyleOptionToolBox + size=88 align=8 + base size=88 base align=8 +QStyleOptionToolBox (0x0x7fad68e8fea0) 0 + QStyleOption (0x0x7fad68a6f240) 0 + +Class QStyleOptionRubberBand + size=72 align=8 + base size=69 base align=8 +QStyleOptionRubberBand (0x0x7fad68e8ff08) 0 + QStyleOption (0x0x7fad68a6f480) 0 + +Class QStyleOptionComplex + size=72 align=8 + base size=72 base align=8 +QStyleOptionComplex (0x0x7fad68e8ff70) 0 + QStyleOption (0x0x7fad68a6f6c0) 0 + +Class QStyleOptionSlider + size=128 align=8 + base size=121 base align=8 +QStyleOptionSlider (0x0x7fad75dcc000) 0 + QStyleOptionComplex (0x0x7fad75dcc068) 0 + QStyleOption (0x0x7fad68a6f900) 0 + +Class QStyleOptionSpinBox + size=88 align=8 + base size=81 base align=8 +QStyleOptionSpinBox (0x0x7fad75dcc0d0) 0 + QStyleOptionComplex (0x0x7fad75dcc138) 0 + QStyleOption (0x0x7fad68a6fcc0) 0 + +Class QStyleOptionToolButton + size=136 align=8 + base size=136 base align=8 +QStyleOptionToolButton (0x0x7fad75dcc1a0) 0 + QStyleOptionComplex (0x0x7fad75dcc208) 0 + QStyleOption (0x0x7fad68a6ff00) 0 + +Class QStyleOptionComboBox + size=120 align=8 + base size=120 base align=8 +QStyleOptionComboBox (0x0x7fad75dcc340) 0 + QStyleOptionComplex (0x0x7fad75dcc3a8) 0 + QStyleOption (0x0x7fad74c61840) 0 + +Class QStyleOptionTitleBar + size=96 align=8 + base size=96 base align=8 +QStyleOptionTitleBar (0x0x7fad75dcc410) 0 + QStyleOptionComplex (0x0x7fad75dcc478) 0 + QStyleOption (0x0x7fad74c61a80) 0 + +Class QStyleOptionGroupBox + size=120 align=8 + base size=116 base align=8 +QStyleOptionGroupBox (0x0x7fad75dcc4e0) 0 + QStyleOptionComplex (0x0x7fad75dcc548) 0 + QStyleOption (0x0x7fad74c61d20) 0 + +Class QStyleOptionSizeGrip + size=80 align=8 + base size=76 base align=8 +QStyleOptionSizeGrip (0x0x7fad75dcc5b0) 0 + QStyleOptionComplex (0x0x7fad75dcc618) 0 + QStyleOption (0x0x7fad74c61f60) 0 + +Class QStyleOptionGraphicsItem + size=152 align=8 + base size=152 base align=8 +QStyleOptionGraphicsItem (0x0x7fad75dcc680) 0 + QStyleOption (0x0x7fad73f5a1e0) 0 + +Class QStyleHintReturn + size=8 align=4 + base size=8 base align=4 +QStyleHintReturn (0x0x7fad73f5a960) 0 + +Class QStyleHintReturnMask + size=16 align=8 + base size=16 base align=8 +QStyleHintReturnMask (0x0x7fad75dccc30) 0 + QStyleHintReturn (0x0x7fad73f5a9c0) 0 + +Class QStyleHintReturnVariant + size=24 align=8 + base size=24 base align=8 +QStyleHintReturnVariant (0x0x7fad75dccc98) 0 + QStyleHintReturn (0x0x7fad73f5aa20) 0 + +Class QAbstractItemDelegate::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemDelegate::QPrivateSignal (0x0x7fad73a3b060) 0 empty + +Vtable for QAbstractItemDelegate +QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QAbstractItemDelegate) +16 (int (*)(...))QAbstractItemDelegate::metaObject +24 (int (*)(...))QAbstractItemDelegate::qt_metacast +32 (int (*)(...))QAbstractItemDelegate::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractItemDelegate::createEditor +136 (int (*)(...))QAbstractItemDelegate::destroyEditor +144 (int (*)(...))QAbstractItemDelegate::setEditorData +152 (int (*)(...))QAbstractItemDelegate::setModelData +160 (int (*)(...))QAbstractItemDelegate::updateEditorGeometry +168 (int (*)(...))QAbstractItemDelegate::editorEvent +176 (int (*)(...))QAbstractItemDelegate::helpEvent +184 (int (*)(...))QAbstractItemDelegate::paintingRoles + +Class QAbstractItemDelegate + size=16 align=8 + base size=16 base align=8 +QAbstractItemDelegate (0x0x7fad73a24208) 0 + vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16) + QObject (0x0x7fad73a3b000) 0 + primary-for QAbstractItemDelegate (0x0x7fad73a24208) + +Class QAbstractScrollArea::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractScrollArea::QPrivateSignal (0x0x7fad73a3b360) 0 empty + +Vtable for QAbstractScrollArea +QAbstractScrollArea::_ZTV19QAbstractScrollArea: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractScrollArea) +16 (int (*)(...))QAbstractScrollArea::metaObject +24 (int (*)(...))QAbstractScrollArea::qt_metacast +32 (int (*)(...))QAbstractScrollArea::qt_metacall +40 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea +48 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea +56 (int (*)(...))QAbstractScrollArea::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractScrollArea::mousePressEvent +176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent +184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent +192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractScrollArea::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractScrollArea::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractScrollArea::dragEnterEvent +320 (int (*)(...))QAbstractScrollArea::dragMoveEvent +328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent +336 (int (*)(...))QAbstractScrollArea::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QAbstractScrollArea::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI19QAbstractScrollArea) +480 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev +488 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractScrollArea + size=48 align=8 + base size=48 base align=8 +QAbstractScrollArea (0x0x7fad73a24270) 0 + vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16) + QFrame (0x0x7fad73a242d8) 0 + primary-for QAbstractScrollArea (0x0x7fad73a24270) + QWidget (0x0x7fad72ce8bd0) 0 + primary-for QFrame (0x0x7fad73a242d8) + QObject (0x0x7fad73a3b2a0) 0 + primary-for QWidget (0x0x7fad72ce8bd0) + QPaintDevice (0x0x7fad73a3b300) 16 + vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480) + +Class QAbstractItemView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemView::QPrivateSignal (0x0x7fad73a3b6c0) 0 empty + +Vtable for QAbstractItemView +QAbstractItemView::_ZTV17QAbstractItemView: 106 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAbstractItemView) +16 (int (*)(...))QAbstractItemView::metaObject +24 (int (*)(...))QAbstractItemView::qt_metacast +32 (int (*)(...))QAbstractItemView::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QAbstractItemView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QAbstractScrollArea::scrollContentsBy +456 (int (*)(...))QAbstractItemView::viewportSizeHint +464 (int (*)(...))QAbstractItemView::setModel +472 (int (*)(...))QAbstractItemView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))__cxa_pure_virtual +496 (int (*)(...))__cxa_pure_virtual +504 (int (*)(...))__cxa_pure_virtual +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QAbstractItemView::reset +536 (int (*)(...))QAbstractItemView::setRootIndex +544 (int (*)(...))QAbstractItemView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QAbstractItemView::dataChanged +568 (int (*)(...))QAbstractItemView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QAbstractItemView::selectionChanged +592 (int (*)(...))QAbstractItemView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QAbstractItemView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))__cxa_pure_virtual +688 (int (*)(...))__cxa_pure_virtual +696 (int (*)(...))__cxa_pure_virtual +704 (int (*)(...))__cxa_pure_virtual +712 (int (*)(...))__cxa_pure_virtual +720 (int (*)(...))__cxa_pure_virtual +728 (int (*)(...))QAbstractItemView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))-16 +776 (int (*)(...))(& _ZTI17QAbstractItemView) +784 0 +792 0 +800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QAbstractItemView + size=48 align=8 + base size=48 base align=8 +QAbstractItemView (0x0x7fad73a24340) 0 + vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16) + QAbstractScrollArea (0x0x7fad73a243a8) 0 + primary-for QAbstractItemView (0x0x7fad73a24340) + QFrame (0x0x7fad73a24410) 0 + primary-for QAbstractScrollArea (0x0x7fad73a243a8) + QWidget (0x0x7fad72cf44d0) 0 + primary-for QFrame (0x0x7fad73a24410) + QObject (0x0x7fad73a3b600) 0 + primary-for QWidget (0x0x7fad72cf44d0) + QPaintDevice (0x0x7fad73a3b660) 16 + vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784) + +Vtable for QAccessibleWidget +QAccessibleWidget::_ZTV17QAccessibleWidget: 35 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QAccessibleWidget) +16 (int (*)(...))QAccessibleWidget::~QAccessibleWidget +24 (int (*)(...))QAccessibleWidget::~QAccessibleWidget +32 (int (*)(...))QAccessibleWidget::isValid +40 (int (*)(...))QAccessibleObject::object +48 (int (*)(...))QAccessibleWidget::window +56 (int (*)(...))QAccessibleWidget::relations +64 (int (*)(...))QAccessibleWidget::focusChild +72 (int (*)(...))QAccessibleObject::childAt +80 (int (*)(...))QAccessibleWidget::parent +88 (int (*)(...))QAccessibleWidget::child +96 (int (*)(...))QAccessibleWidget::childCount +104 (int (*)(...))QAccessibleWidget::indexOfChild +112 (int (*)(...))QAccessibleWidget::text +120 (int (*)(...))QAccessibleObject::setText +128 (int (*)(...))QAccessibleWidget::rect +136 (int (*)(...))QAccessibleWidget::role +144 (int (*)(...))QAccessibleWidget::state +152 (int (*)(...))QAccessibleWidget::foregroundColor +160 (int (*)(...))QAccessibleWidget::backgroundColor +168 (int (*)(...))QAccessibleInterface::virtual_hook +176 (int (*)(...))QAccessibleWidget::interface_cast +184 (int (*)(...))QAccessibleWidget::actionNames +192 (int (*)(...))QAccessibleWidget::doAction +200 (int (*)(...))QAccessibleWidget::keyBindingsForAction +208 (int (*)(...))-16 +216 (int (*)(...))(& _ZTI17QAccessibleWidget) +224 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD1Ev +232 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD0Ev +240 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget11actionNamesEv +248 (int (*)(...))QAccessibleActionInterface::localizedActionName +256 (int (*)(...))QAccessibleActionInterface::localizedActionDescription +264 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidget8doActionERK7QString +272 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget20keyBindingsForActionERK7QString + +Class QAccessibleWidget + size=32 align=8 + base size=32 base align=8 +QAccessibleWidget (0x0x7fad7295ab60) 0 + vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16) + QAccessibleObject (0x0x7fad73a24548) 0 + primary-for QAccessibleWidget (0x0x7fad7295ab60) + QAccessibleInterface (0x0x7fad719b0420) 0 nearly-empty + primary-for QAccessibleObject (0x0x7fad73a24548) + QAccessibleActionInterface (0x0x7fad719b0480) 16 nearly-empty + vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 224) + +Class QAction::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAction::QPrivateSignal (0x0x7fad719b05a0) 0 empty + +Vtable for QAction +QAction::_ZTV7QAction: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QAction) +16 (int (*)(...))QAction::metaObject +24 (int (*)(...))QAction::qt_metacast +32 (int (*)(...))QAction::qt_metacall +40 (int (*)(...))QAction::~QAction +48 (int (*)(...))QAction::~QAction +56 (int (*)(...))QAction::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QAction + size=16 align=8 + base size=16 base align=8 +QAction (0x0x7fad73a245b0) 0 + vptr=((& QAction::_ZTV7QAction) + 16) + QObject (0x0x7fad719b0540) 0 + primary-for QAction (0x0x7fad73a245b0) + +Class QActionGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QActionGroup::QPrivateSignal (0x0x7fad719b0a80) 0 empty + +Vtable for QActionGroup +QActionGroup::_ZTV12QActionGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QActionGroup) +16 (int (*)(...))QActionGroup::metaObject +24 (int (*)(...))QActionGroup::qt_metacast +32 (int (*)(...))QActionGroup::qt_metacall +40 (int (*)(...))QActionGroup::~QActionGroup +48 (int (*)(...))QActionGroup::~QActionGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QActionGroup + size=16 align=8 + base size=16 base align=8 +QActionGroup (0x0x7fad73a24618) 0 + vptr=((& QActionGroup::_ZTV12QActionGroup) + 16) + QObject (0x0x7fad719b0a20) 0 + primary-for QActionGroup (0x0x7fad73a24618) + +Class QApplication::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QApplication::QPrivateSignal (0x0x7fad719b0de0) 0 empty + +Vtable for QApplication +QApplication::_ZTV12QApplication: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QApplication) +16 (int (*)(...))QApplication::metaObject +24 (int (*)(...))QApplication::qt_metacast +32 (int (*)(...))QApplication::qt_metacall +40 (int (*)(...))QApplication::~QApplication +48 (int (*)(...))QApplication::~QApplication +56 (int (*)(...))QApplication::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QApplication::notify +120 (int (*)(...))QApplication::compressEvent + +Class QApplication + size=16 align=8 + base size=16 base align=8 +QApplication (0x0x7fad73a24680) 0 + vptr=((& QApplication::_ZTV12QApplication) + 16) + QGuiApplication (0x0x7fad73a246e8) 0 + primary-for QApplication (0x0x7fad73a24680) + QCoreApplication (0x0x7fad73a24750) 0 + primary-for QGuiApplication (0x0x7fad73a246e8) + QObject (0x0x7fad719b0d80) 0 + primary-for QCoreApplication (0x0x7fad73a24750) + +Vtable for QLayoutItem +QLayoutItem::_ZTV11QLayoutItem: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QLayoutItem) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))QLayoutItem::hasHeightForWidth +96 (int (*)(...))QLayoutItem::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QLayoutItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QLayoutItem::spacerItem +144 (int (*)(...))QLayoutItem::controlTypes + +Class QLayoutItem + size=16 align=8 + base size=12 base align=8 +QLayoutItem (0x0x7fad70b8c0c0) 0 + vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16) + +Vtable for QSpacerItem +QSpacerItem::_ZTV11QSpacerItem: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QSpacerItem) +16 (int (*)(...))QSpacerItem::~QSpacerItem +24 (int (*)(...))QSpacerItem::~QSpacerItem +32 (int (*)(...))QSpacerItem::sizeHint +40 (int (*)(...))QSpacerItem::minimumSize +48 (int (*)(...))QSpacerItem::maximumSize +56 (int (*)(...))QSpacerItem::expandingDirections +64 (int (*)(...))QSpacerItem::setGeometry +72 (int (*)(...))QSpacerItem::geometry +80 (int (*)(...))QSpacerItem::isEmpty +88 (int (*)(...))QLayoutItem::hasHeightForWidth +96 (int (*)(...))QLayoutItem::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QLayoutItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QSpacerItem::spacerItem +144 (int (*)(...))QLayoutItem::controlTypes + +Class QSpacerItem + size=40 align=8 + base size=40 base align=8 +QSpacerItem (0x0x7fad73a247b8) 0 + vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16) + QLayoutItem (0x0x7fad70b8c4e0) 0 + primary-for QSpacerItem (0x0x7fad73a247b8) + +Vtable for QWidgetItem +QWidgetItem::_ZTV11QWidgetItem: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QWidgetItem) +16 (int (*)(...))QWidgetItem::~QWidgetItem +24 (int (*)(...))QWidgetItem::~QWidgetItem +32 (int (*)(...))QWidgetItem::sizeHint +40 (int (*)(...))QWidgetItem::minimumSize +48 (int (*)(...))QWidgetItem::maximumSize +56 (int (*)(...))QWidgetItem::expandingDirections +64 (int (*)(...))QWidgetItem::setGeometry +72 (int (*)(...))QWidgetItem::geometry +80 (int (*)(...))QWidgetItem::isEmpty +88 (int (*)(...))QWidgetItem::hasHeightForWidth +96 (int (*)(...))QWidgetItem::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QWidgetItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QLayoutItem::spacerItem +144 (int (*)(...))QWidgetItem::controlTypes + +Class QWidgetItem + size=24 align=8 + base size=24 base align=8 +QWidgetItem (0x0x7fad73a24820) 0 + vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16) + QLayoutItem (0x0x7fad70b8c720) 0 + primary-for QWidgetItem (0x0x7fad73a24820) + +Vtable for QWidgetItemV2 +QWidgetItemV2::_ZTV13QWidgetItemV2: 19 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QWidgetItemV2) +16 (int (*)(...))QWidgetItemV2::~QWidgetItemV2 +24 (int (*)(...))QWidgetItemV2::~QWidgetItemV2 +32 (int (*)(...))QWidgetItemV2::sizeHint +40 (int (*)(...))QWidgetItemV2::minimumSize +48 (int (*)(...))QWidgetItemV2::maximumSize +56 (int (*)(...))QWidgetItem::expandingDirections +64 (int (*)(...))QWidgetItem::setGeometry +72 (int (*)(...))QWidgetItem::geometry +80 (int (*)(...))QWidgetItem::isEmpty +88 (int (*)(...))QWidgetItem::hasHeightForWidth +96 (int (*)(...))QWidgetItemV2::heightForWidth +104 (int (*)(...))QLayoutItem::minimumHeightForWidth +112 (int (*)(...))QLayoutItem::invalidate +120 (int (*)(...))QWidgetItem::widget +128 (int (*)(...))QLayoutItem::layout +136 (int (*)(...))QLayoutItem::spacerItem +144 (int (*)(...))QWidgetItem::controlTypes + +Class QWidgetItemV2 + size=88 align=8 + base size=88 base align=8 +QWidgetItemV2 (0x0x7fad73a24888) 0 + vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16) + QWidgetItem (0x0x7fad73a248f0) 0 + primary-for QWidgetItemV2 (0x0x7fad73a24888) + QLayoutItem (0x0x7fad70b8c900) 0 + primary-for QWidgetItem (0x0x7fad73a248f0) + +Class QLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLayout::QPrivateSignal (0x0x7fad70b8ca80) 0 empty + +Vtable for QLayout +QLayout::_ZTV7QLayout: 47 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QLayout) +16 (int (*)(...))QLayout::metaObject +24 (int (*)(...))QLayout::qt_metacast +32 (int (*)(...))QLayout::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))QLayout::expandingDirections +144 (int (*)(...))QLayout::minimumSize +152 (int (*)(...))QLayout::maximumSize +160 (int (*)(...))QLayout::setGeometry +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))-16 +232 (int (*)(...))(& _ZTI7QLayout) +240 0 +248 0 +256 (int (*)(...))__cxa_pure_virtual +264 (int (*)(...))QLayout::_ZThn16_NK7QLayout11minimumSizeEv +272 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv +280 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv +288 (int (*)(...))QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect +296 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +304 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +312 (int (*)(...))QLayoutItem::hasHeightForWidth +320 (int (*)(...))QLayoutItem::heightForWidth +328 (int (*)(...))QLayoutItem::minimumHeightForWidth +336 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv +344 (int (*)(...))QLayoutItem::widget +352 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +360 (int (*)(...))QLayoutItem::spacerItem +368 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QLayout + size=32 align=8 + base size=28 base align=8 +QLayout (0x0x7fad729ff1c0) 0 + vptr=((& QLayout::_ZTV7QLayout) + 16) + QObject (0x0x7fad70b8c9c0) 0 + primary-for QLayout (0x0x7fad729ff1c0) + QLayoutItem (0x0x7fad70b8ca20) 16 + vptr=((& QLayout::_ZTV7QLayout) + 240) + +Class QGridLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGridLayout::QPrivateSignal (0x0x7fad70383000) 0 empty + +Vtable for QGridLayout +QGridLayout::_ZTV11QGridLayout: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QGridLayout) +16 (int (*)(...))QGridLayout::metaObject +24 (int (*)(...))QGridLayout::qt_metacast +32 (int (*)(...))QGridLayout::qt_metacall +40 (int (*)(...))QGridLayout::~QGridLayout +48 (int (*)(...))QGridLayout::~QGridLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGridLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QGridLayout::addItem +136 (int (*)(...))QGridLayout::expandingDirections +144 (int (*)(...))QGridLayout::minimumSize +152 (int (*)(...))QGridLayout::maximumSize +160 (int (*)(...))QGridLayout::setGeometry +168 (int (*)(...))QGridLayout::itemAt +176 (int (*)(...))QGridLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QGridLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QGridLayout::sizeHint +232 (int (*)(...))QGridLayout::hasHeightForWidth +240 (int (*)(...))QGridLayout::heightForWidth +248 (int (*)(...))QGridLayout::minimumHeightForWidth +256 (int (*)(...))-16 +264 (int (*)(...))(& _ZTI11QGridLayout) +272 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD1Ev +280 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD0Ev +288 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv +296 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv +304 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv +312 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv +320 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +344 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv +352 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi +360 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi +368 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout10invalidateEv +376 (int (*)(...))QLayoutItem::widget +384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +392 (int (*)(...))QLayoutItem::spacerItem +400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QGridLayout + size=32 align=8 + base size=28 base align=8 +QGridLayout (0x0x7fad73a24958) 0 + vptr=((& QGridLayout::_ZTV11QGridLayout) + 16) + QLayout (0x0x7fad729ff930) 0 + primary-for QGridLayout (0x0x7fad73a24958) + QObject (0x0x7fad70b8cf00) 0 + primary-for QLayout (0x0x7fad729ff930) + QLayoutItem (0x0x7fad70b8cf60) 16 + vptr=((& QGridLayout::_ZTV11QGridLayout) + 272) + +Class QBoxLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QBoxLayout::QPrivateSignal (0x0x7fad70383300) 0 empty + +Vtable for QBoxLayout +QBoxLayout::_ZTV10QBoxLayout: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QBoxLayout) +16 (int (*)(...))QBoxLayout::metaObject +24 (int (*)(...))QBoxLayout::qt_metacast +32 (int (*)(...))QBoxLayout::qt_metacall +40 (int (*)(...))QBoxLayout::~QBoxLayout +48 (int (*)(...))QBoxLayout::~QBoxLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QBoxLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QBoxLayout::addItem +136 (int (*)(...))QBoxLayout::expandingDirections +144 (int (*)(...))QBoxLayout::minimumSize +152 (int (*)(...))QBoxLayout::maximumSize +160 (int (*)(...))QBoxLayout::setGeometry +168 (int (*)(...))QBoxLayout::itemAt +176 (int (*)(...))QBoxLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QBoxLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QBoxLayout::sizeHint +232 (int (*)(...))QBoxLayout::hasHeightForWidth +240 (int (*)(...))QBoxLayout::heightForWidth +248 (int (*)(...))QBoxLayout::minimumHeightForWidth +256 (int (*)(...))-16 +264 (int (*)(...))(& _ZTI10QBoxLayout) +272 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev +280 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev +288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv +296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv +304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv +312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv +320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv +352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi +360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi +368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv +376 (int (*)(...))QLayoutItem::widget +384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +392 (int (*)(...))QLayoutItem::spacerItem +400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QBoxLayout + size=32 align=8 + base size=28 base align=8 +QBoxLayout (0x0x7fad73a249c0) 0 + vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16) + QLayout (0x0x7fad729ffcb0) 0 + primary-for QBoxLayout (0x0x7fad73a249c0) + QObject (0x0x7fad70383240) 0 + primary-for QLayout (0x0x7fad729ffcb0) + QLayoutItem (0x0x7fad703832a0) 16 + vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 272) + +Class QHBoxLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHBoxLayout::QPrivateSignal (0x0x7fad703835a0) 0 empty + +Vtable for QHBoxLayout +QHBoxLayout::_ZTV11QHBoxLayout: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHBoxLayout) +16 (int (*)(...))QHBoxLayout::metaObject +24 (int (*)(...))QHBoxLayout::qt_metacast +32 (int (*)(...))QHBoxLayout::qt_metacall +40 (int (*)(...))QHBoxLayout::~QHBoxLayout +48 (int (*)(...))QHBoxLayout::~QHBoxLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QBoxLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QBoxLayout::addItem +136 (int (*)(...))QBoxLayout::expandingDirections +144 (int (*)(...))QBoxLayout::minimumSize +152 (int (*)(...))QBoxLayout::maximumSize +160 (int (*)(...))QBoxLayout::setGeometry +168 (int (*)(...))QBoxLayout::itemAt +176 (int (*)(...))QBoxLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QBoxLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QBoxLayout::sizeHint +232 (int (*)(...))QBoxLayout::hasHeightForWidth +240 (int (*)(...))QBoxLayout::heightForWidth +248 (int (*)(...))QBoxLayout::minimumHeightForWidth +256 (int (*)(...))-16 +264 (int (*)(...))(& _ZTI11QHBoxLayout) +272 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev +280 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev +288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv +296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv +304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv +312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv +320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv +352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi +360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi +368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv +376 (int (*)(...))QLayoutItem::widget +384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +392 (int (*)(...))QLayoutItem::spacerItem +400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QHBoxLayout + size=32 align=8 + base size=28 base align=8 +QHBoxLayout (0x0x7fad73a24a90) 0 + vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16) + QBoxLayout (0x0x7fad73a24af8) 0 + primary-for QHBoxLayout (0x0x7fad73a24a90) + QLayout (0x0x7fad7277aa80) 0 + primary-for QBoxLayout (0x0x7fad73a24af8) + QObject (0x0x7fad703834e0) 0 + primary-for QLayout (0x0x7fad7277aa80) + QLayoutItem (0x0x7fad70383540) 16 + vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 272) + +Class QVBoxLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QVBoxLayout::QPrivateSignal (0x0x7fad70383780) 0 empty + +Vtable for QVBoxLayout +QVBoxLayout::_ZTV11QVBoxLayout: 51 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QVBoxLayout) +16 (int (*)(...))QVBoxLayout::metaObject +24 (int (*)(...))QVBoxLayout::qt_metacast +32 (int (*)(...))QVBoxLayout::qt_metacall +40 (int (*)(...))QVBoxLayout::~QVBoxLayout +48 (int (*)(...))QVBoxLayout::~QVBoxLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QBoxLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QBoxLayout::addItem +136 (int (*)(...))QBoxLayout::expandingDirections +144 (int (*)(...))QBoxLayout::minimumSize +152 (int (*)(...))QBoxLayout::maximumSize +160 (int (*)(...))QBoxLayout::setGeometry +168 (int (*)(...))QBoxLayout::itemAt +176 (int (*)(...))QBoxLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QBoxLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QBoxLayout::sizeHint +232 (int (*)(...))QBoxLayout::hasHeightForWidth +240 (int (*)(...))QBoxLayout::heightForWidth +248 (int (*)(...))QBoxLayout::minimumHeightForWidth +256 (int (*)(...))-16 +264 (int (*)(...))(& _ZTI11QVBoxLayout) +272 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev +280 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev +288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv +296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv +304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv +312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv +320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv +352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi +360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi +368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv +376 (int (*)(...))QLayoutItem::widget +384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +392 (int (*)(...))QLayoutItem::spacerItem +400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QVBoxLayout + size=32 align=8 + base size=28 base align=8 +QVBoxLayout (0x0x7fad73a24b60) 0 + vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16) + QBoxLayout (0x0x7fad73a24bc8) 0 + primary-for QVBoxLayout (0x0x7fad73a24b60) + QLayout (0x0x7fad7277abd0) 0 + primary-for QBoxLayout (0x0x7fad73a24bc8) + QObject (0x0x7fad703836c0) 0 + primary-for QLayout (0x0x7fad7277abd0) + QLayoutItem (0x0x7fad70383720) 16 + vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 272) + +Class QButtonGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QButtonGroup::QPrivateSignal (0x0x7fad70383900) 0 empty + +Vtable for QButtonGroup +QButtonGroup::_ZTV12QButtonGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QButtonGroup) +16 (int (*)(...))QButtonGroup::metaObject +24 (int (*)(...))QButtonGroup::qt_metacast +32 (int (*)(...))QButtonGroup::qt_metacall +40 (int (*)(...))QButtonGroup::~QButtonGroup +48 (int (*)(...))QButtonGroup::~QButtonGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QButtonGroup + size=16 align=8 + base size=16 base align=8 +QButtonGroup (0x0x7fad73a24c30) 0 + vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16) + QObject (0x0x7fad703838a0) 0 + primary-for QButtonGroup (0x0x7fad73a24c30) + +Class QCalendarWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCalendarWidget::QPrivateSignal (0x0x7fad70383ba0) 0 empty + +Vtable for QCalendarWidget +QCalendarWidget::_ZTV15QCalendarWidget: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QCalendarWidget) +16 (int (*)(...))QCalendarWidget::metaObject +24 (int (*)(...))QCalendarWidget::qt_metacast +32 (int (*)(...))QCalendarWidget::qt_metacall +40 (int (*)(...))QCalendarWidget::~QCalendarWidget +48 (int (*)(...))QCalendarWidget::~QCalendarWidget +56 (int (*)(...))QCalendarWidget::event +64 (int (*)(...))QCalendarWidget::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QCalendarWidget::sizeHint +136 (int (*)(...))QCalendarWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QCalendarWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QCalendarWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QCalendarWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QCalendarWidget::paintCell +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI15QCalendarWidget) +456 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev +464 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QCalendarWidget + size=48 align=8 + base size=48 base align=8 +QCalendarWidget (0x0x7fad73a24c98) 0 + vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16) + QWidget (0x0x7fad7277ae00) 0 + primary-for QCalendarWidget (0x0x7fad73a24c98) + QObject (0x0x7fad70383ae0) 0 + primary-for QWidget (0x0x7fad7277ae00) + QPaintDevice (0x0x7fad70383b40) 16 + vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 456) + +Class QCheckBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCheckBox::QPrivateSignal (0x0x7fad6f7f80c0) 0 empty + +Vtable for QCheckBox +QCheckBox::_ZTV9QCheckBox: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QCheckBox) +16 (int (*)(...))QCheckBox::metaObject +24 (int (*)(...))QCheckBox::qt_metacast +32 (int (*)(...))QCheckBox::qt_metacall +40 (int (*)(...))QCheckBox::~QCheckBox +48 (int (*)(...))QCheckBox::~QCheckBox +56 (int (*)(...))QCheckBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QCheckBox::sizeHint +136 (int (*)(...))QCheckBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QCheckBox::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QCheckBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QCheckBox::hitButton +440 (int (*)(...))QCheckBox::checkStateSet +448 (int (*)(...))QCheckBox::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI9QCheckBox) +472 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD1Ev +480 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QCheckBox + size=48 align=8 + base size=48 base align=8 +QCheckBox (0x0x7fad73a24d00) 0 + vptr=((& QCheckBox::_ZTV9QCheckBox) + 16) + QAbstractButton (0x0x7fad73a24d68) 0 + primary-for QCheckBox (0x0x7fad73a24d00) + QWidget (0x0x7fad7277a380) 0 + primary-for QAbstractButton (0x0x7fad73a24d68) + QObject (0x0x7fad6f7f8000) 0 + primary-for QWidget (0x0x7fad7277a380) + QPaintDevice (0x0x7fad6f7f8060) 16 + vptr=((& QCheckBox::_ZTV9QCheckBox) + 472) + +Class QDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDialog::QPrivateSignal (0x0x7fad6f7f8360) 0 empty + +Vtable for QDialog +QDialog::_ZTV7QDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QDialog) +16 (int (*)(...))QDialog::metaObject +24 (int (*)(...))QDialog::qt_metacast +32 (int (*)(...))QDialog::qt_metacall +40 (int (*)(...))QDialog::~QDialog +48 (int (*)(...))QDialog::~QDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI7QDialog) +488 (int (*)(...))QDialog::_ZThn16_N7QDialogD1Ev +496 (int (*)(...))QDialog::_ZThn16_N7QDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDialog + size=48 align=8 + base size=48 base align=8 +QDialog (0x0x7fad73a24dd0) 0 + vptr=((& QDialog::_ZTV7QDialog) + 16) + QWidget (0x0x7fad7277a4d0) 0 + primary-for QDialog (0x0x7fad73a24dd0) + QObject (0x0x7fad6f7f82a0) 0 + primary-for QWidget (0x0x7fad7277a4d0) + QPaintDevice (0x0x7fad6f7f8300) 16 + vptr=((& QDialog::_ZTV7QDialog) + 488) + +Class QColorDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QColorDialog::QPrivateSignal (0x0x7fad6f7f8600) 0 empty + +Vtable for QColorDialog +QColorDialog::_ZTV12QColorDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QColorDialog) +16 (int (*)(...))QColorDialog::metaObject +24 (int (*)(...))QColorDialog::qt_metacast +32 (int (*)(...))QColorDialog::qt_metacall +40 (int (*)(...))QColorDialog::~QColorDialog +48 (int (*)(...))QColorDialog::~QColorDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QColorDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QColorDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QColorDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI12QColorDialog) +488 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD1Ev +496 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QColorDialog + size=48 align=8 + base size=48 base align=8 +QColorDialog (0x0x7fad73a24e38) 0 + vptr=((& QColorDialog::_ZTV12QColorDialog) + 16) + QDialog (0x0x7fad73a24ea0) 0 + primary-for QColorDialog (0x0x7fad73a24e38) + QWidget (0x0x7fad7277a7e0) 0 + primary-for QDialog (0x0x7fad73a24ea0) + QObject (0x0x7fad6f7f8540) 0 + primary-for QWidget (0x0x7fad7277a7e0) + QPaintDevice (0x0x7fad6f7f85a0) 16 + vptr=((& QColorDialog::_ZTV12QColorDialog) + 488) + +Class QColormap + size=8 align=8 + base size=8 base align=8 +QColormap (0x0x7fad6db1e1e0) 0 + +Class QColumnView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QColumnView::QPrivateSignal (0x0x7fad6db1e300) 0 empty + +Vtable for QColumnView +QColumnView::_ZTV11QColumnView: 107 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QColumnView) +16 (int (*)(...))QColumnView::metaObject +24 (int (*)(...))QColumnView::qt_metacast +32 (int (*)(...))QColumnView::qt_metacall +40 (int (*)(...))QColumnView::~QColumnView +48 (int (*)(...))QColumnView::~QColumnView +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QAbstractItemView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QColumnView::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QColumnView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QColumnView::scrollContentsBy +456 (int (*)(...))QAbstractItemView::viewportSizeHint +464 (int (*)(...))QColumnView::setModel +472 (int (*)(...))QColumnView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QColumnView::visualRect +496 (int (*)(...))QColumnView::scrollTo +504 (int (*)(...))QColumnView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QAbstractItemView::reset +536 (int (*)(...))QColumnView::setRootIndex +544 (int (*)(...))QAbstractItemView::doItemsLayout +552 (int (*)(...))QColumnView::selectAll +560 (int (*)(...))QAbstractItemView::dataChanged +568 (int (*)(...))QColumnView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QAbstractItemView::selectionChanged +592 (int (*)(...))QColumnView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QAbstractItemView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QColumnView::moveCursor +688 (int (*)(...))QColumnView::horizontalOffset +696 (int (*)(...))QColumnView::verticalOffset +704 (int (*)(...))QColumnView::isIndexHidden +712 (int (*)(...))QColumnView::setSelection +720 (int (*)(...))QColumnView::visualRegionForSelection +728 (int (*)(...))QAbstractItemView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))QColumnView::createColumn +776 (int (*)(...))-16 +784 (int (*)(...))(& _ZTI11QColumnView) +792 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD1Ev +800 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD0Ev +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QColumnView + size=48 align=8 + base size=48 base align=8 +QColumnView (0x0x7fad6d6e7000) 0 + vptr=((& QColumnView::_ZTV11QColumnView) + 16) + QAbstractItemView (0x0x7fad6d6e7068) 0 + primary-for QColumnView (0x0x7fad6d6e7000) + QAbstractScrollArea (0x0x7fad6d6e70d0) 0 + primary-for QAbstractItemView (0x0x7fad6d6e7068) + QFrame (0x0x7fad6d6e7138) 0 + primary-for QAbstractScrollArea (0x0x7fad6d6e70d0) + QWidget (0x0x7fad72850000) 0 + primary-for QFrame (0x0x7fad6d6e7138) + QObject (0x0x7fad6db1e240) 0 + primary-for QWidget (0x0x7fad72850000) + QPaintDevice (0x0x7fad6db1e2a0) 16 + vptr=((& QColumnView::_ZTV11QColumnView) + 792) + +Class QComboBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QComboBox::QPrivateSignal (0x0x7fad6db1e5a0) 0 empty + +Vtable for QComboBox +QComboBox::_ZTV9QComboBox: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QComboBox) +16 (int (*)(...))QComboBox::metaObject +24 (int (*)(...))QComboBox::qt_metacast +32 (int (*)(...))QComboBox::qt_metacall +40 (int (*)(...))QComboBox::~QComboBox +48 (int (*)(...))QComboBox::~QComboBox +56 (int (*)(...))QComboBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QComboBox::sizeHint +136 (int (*)(...))QComboBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QComboBox::mousePressEvent +176 (int (*)(...))QComboBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QComboBox::wheelEvent +208 (int (*)(...))QComboBox::keyPressEvent +216 (int (*)(...))QComboBox::keyReleaseEvent +224 (int (*)(...))QComboBox::focusInEvent +232 (int (*)(...))QComboBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QComboBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QComboBox::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QComboBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QComboBox::showEvent +352 (int (*)(...))QComboBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QComboBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QComboBox::inputMethodEvent +416 (int (*)(...))QComboBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QComboBox::showPopup +440 (int (*)(...))QComboBox::hidePopup +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI9QComboBox) +464 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD1Ev +472 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QComboBox + size=48 align=8 + base size=48 base align=8 +QComboBox (0x0x7fad6d6e71a0) 0 + vptr=((& QComboBox::_ZTV9QComboBox) + 16) + QWidget (0x0x7fad72850070) 0 + primary-for QComboBox (0x0x7fad6d6e71a0) + QObject (0x0x7fad6db1e4e0) 0 + primary-for QWidget (0x0x7fad72850070) + QPaintDevice (0x0x7fad6db1e540) 16 + vptr=((& QComboBox::_ZTV9QComboBox) + 464) + +Class QPushButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPushButton::QPrivateSignal (0x0x7fad6db1eba0) 0 empty + +Vtable for QPushButton +QPushButton::_ZTV11QPushButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QPushButton) +16 (int (*)(...))QPushButton::metaObject +24 (int (*)(...))QPushButton::qt_metacast +32 (int (*)(...))QPushButton::qt_metacall +40 (int (*)(...))QPushButton::~QPushButton +48 (int (*)(...))QPushButton::~QPushButton +56 (int (*)(...))QPushButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QPushButton::sizeHint +136 (int (*)(...))QPushButton::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QPushButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QPushButton::focusInEvent +232 (int (*)(...))QPushButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QPushButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI11QPushButton) +472 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD1Ev +480 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QPushButton + size=48 align=8 + base size=48 base align=8 +QPushButton (0x0x7fad6d6e7208) 0 + vptr=((& QPushButton::_ZTV11QPushButton) + 16) + QAbstractButton (0x0x7fad6d6e7270) 0 + primary-for QPushButton (0x0x7fad6d6e7208) + QWidget (0x0x7fad72850cb0) 0 + primary-for QAbstractButton (0x0x7fad6d6e7270) + QObject (0x0x7fad6db1eae0) 0 + primary-for QWidget (0x0x7fad72850cb0) + QPaintDevice (0x0x7fad6db1eb40) 16 + vptr=((& QPushButton::_ZTV11QPushButton) + 472) + +Class QCommandLinkButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCommandLinkButton::QPrivateSignal (0x0x7fad6db1ee40) 0 empty + +Vtable for QCommandLinkButton +QCommandLinkButton::_ZTV18QCommandLinkButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QCommandLinkButton) +16 (int (*)(...))QCommandLinkButton::metaObject +24 (int (*)(...))QCommandLinkButton::qt_metacast +32 (int (*)(...))QCommandLinkButton::qt_metacall +40 (int (*)(...))QCommandLinkButton::~QCommandLinkButton +48 (int (*)(...))QCommandLinkButton::~QCommandLinkButton +56 (int (*)(...))QCommandLinkButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QCommandLinkButton::sizeHint +136 (int (*)(...))QCommandLinkButton::minimumSizeHint +144 (int (*)(...))QCommandLinkButton::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QPushButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QPushButton::focusInEvent +232 (int (*)(...))QPushButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QCommandLinkButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QAbstractButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI18QCommandLinkButton) +472 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev +480 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QCommandLinkButton + size=48 align=8 + base size=48 base align=8 +QCommandLinkButton (0x0x7fad6d6e72d8) 0 + vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16) + QPushButton (0x0x7fad6d6e7340) 0 + primary-for QCommandLinkButton (0x0x7fad6d6e72d8) + QAbstractButton (0x0x7fad6d6e73a8) 0 + primary-for QPushButton (0x0x7fad6d6e7340) + QWidget (0x0x7fad72850e00) 0 + primary-for QAbstractButton (0x0x7fad6d6e73a8) + QObject (0x0x7fad6db1ed80) 0 + primary-for QWidget (0x0x7fad72850e00) + QPaintDevice (0x0x7fad6db1ede0) 16 + vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 472) + +Class QCommonStyle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCommonStyle::QPrivateSignal (0x0x7fad6c6f50c0) 0 empty + +Vtable for QCommonStyle +QCommonStyle::_ZTV12QCommonStyle: 37 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QCommonStyle) +16 (int (*)(...))QCommonStyle::metaObject +24 (int (*)(...))QCommonStyle::qt_metacast +32 (int (*)(...))QCommonStyle::qt_metacall +40 (int (*)(...))QCommonStyle::~QCommonStyle +48 (int (*)(...))QCommonStyle::~QCommonStyle +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QCommonStyle::polish +120 (int (*)(...))QCommonStyle::unpolish +128 (int (*)(...))QCommonStyle::polish +136 (int (*)(...))QCommonStyle::unpolish +144 (int (*)(...))QCommonStyle::polish +152 (int (*)(...))QStyle::itemTextRect +160 (int (*)(...))QStyle::itemPixmapRect +168 (int (*)(...))QStyle::drawItemText +176 (int (*)(...))QStyle::drawItemPixmap +184 (int (*)(...))QStyle::standardPalette +192 (int (*)(...))QCommonStyle::drawPrimitive +200 (int (*)(...))QCommonStyle::drawControl +208 (int (*)(...))QCommonStyle::subElementRect +216 (int (*)(...))QCommonStyle::drawComplexControl +224 (int (*)(...))QCommonStyle::hitTestComplexControl +232 (int (*)(...))QCommonStyle::subControlRect +240 (int (*)(...))QCommonStyle::pixelMetric +248 (int (*)(...))QCommonStyle::sizeFromContents +256 (int (*)(...))QCommonStyle::styleHint +264 (int (*)(...))QCommonStyle::standardPixmap +272 (int (*)(...))QCommonStyle::standardIcon +280 (int (*)(...))QCommonStyle::generatedIconPixmap +288 (int (*)(...))QCommonStyle::layoutSpacing + +Class QCommonStyle + size=16 align=8 + base size=16 base align=8 +QCommonStyle (0x0x7fad6d6e7410) 0 + vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16) + QStyle (0x0x7fad6d6e7478) 0 + primary-for QCommonStyle (0x0x7fad6d6e7410) + QObject (0x0x7fad6c6f5060) 0 + primary-for QStyle (0x0x7fad6d6e7478) + +Class QCompleter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCompleter::QPrivateSignal (0x0x7fad6c6f5300) 0 empty + +Vtable for QCompleter +QCompleter::_ZTV10QCompleter: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QCompleter) +16 (int (*)(...))QCompleter::metaObject +24 (int (*)(...))QCompleter::qt_metacast +32 (int (*)(...))QCompleter::qt_metacall +40 (int (*)(...))QCompleter::~QCompleter +48 (int (*)(...))QCompleter::~QCompleter +56 (int (*)(...))QCompleter::event +64 (int (*)(...))QCompleter::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QCompleter::pathFromIndex +120 (int (*)(...))QCompleter::splitPath + +Class QCompleter + size=16 align=8 + base size=16 base align=8 +QCompleter (0x0x7fad6d6e74e0) 0 + vptr=((& QCompleter::_ZTV10QCompleter) + 16) + QObject (0x0x7fad6c6f52a0) 0 + primary-for QCompleter (0x0x7fad6d6e74e0) + +Class QDataWidgetMapper::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDataWidgetMapper::QPrivateSignal (0x0x7fad6c6f56c0) 0 empty + +Vtable for QDataWidgetMapper +QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QDataWidgetMapper) +16 (int (*)(...))QDataWidgetMapper::metaObject +24 (int (*)(...))QDataWidgetMapper::qt_metacast +32 (int (*)(...))QDataWidgetMapper::qt_metacall +40 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper +48 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDataWidgetMapper::setCurrentIndex + +Class QDataWidgetMapper + size=16 align=8 + base size=16 base align=8 +QDataWidgetMapper (0x0x7fad6d6e7548) 0 + vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16) + QObject (0x0x7fad6c6f5660) 0 + primary-for QDataWidgetMapper (0x0x7fad6d6e7548) + +Class QDateTimeEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDateTimeEdit::QPrivateSignal (0x0x7fad6c6f5a20) 0 empty + +Vtable for QDateTimeEdit +QDateTimeEdit::_ZTV13QDateTimeEdit: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QDateTimeEdit) +16 (int (*)(...))QDateTimeEdit::metaObject +24 (int (*)(...))QDateTimeEdit::qt_metacast +32 (int (*)(...))QDateTimeEdit::qt_metacall +40 (int (*)(...))QDateTimeEdit::~QDateTimeEdit +48 (int (*)(...))QDateTimeEdit::~QDateTimeEdit +56 (int (*)(...))QDateTimeEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDateTimeEdit::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDateTimeEdit::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QDateTimeEdit::wheelEvent +208 (int (*)(...))QDateTimeEdit::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QDateTimeEdit::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDateTimeEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QDateTimeEdit::focusNextPrevChild +432 (int (*)(...))QDateTimeEdit::validate +440 (int (*)(...))QDateTimeEdit::fixup +448 (int (*)(...))QDateTimeEdit::stepBy +456 (int (*)(...))QDateTimeEdit::clear +464 (int (*)(...))QDateTimeEdit::stepEnabled +472 (int (*)(...))QDateTimeEdit::dateTimeFromText +480 (int (*)(...))QDateTimeEdit::textFromDateTime +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI13QDateTimeEdit) +504 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev +512 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDateTimeEdit + size=48 align=8 + base size=48 base align=8 +QDateTimeEdit (0x0x7fad6d6e75b0) 0 + vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16) + QAbstractSpinBox (0x0x7fad6d6e7618) 0 + primary-for QDateTimeEdit (0x0x7fad6d6e75b0) + QWidget (0x0x7fad728a9690) 0 + primary-for QAbstractSpinBox (0x0x7fad6d6e7618) + QObject (0x0x7fad6c6f5960) 0 + primary-for QWidget (0x0x7fad728a9690) + QPaintDevice (0x0x7fad6c6f59c0) 16 + vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 504) + +Class QTimeEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimeEdit::QPrivateSignal (0x0x7fad6b8a9000) 0 empty + +Vtable for QTimeEdit +QTimeEdit::_ZTV9QTimeEdit: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTimeEdit) +16 (int (*)(...))QTimeEdit::metaObject +24 (int (*)(...))QTimeEdit::qt_metacast +32 (int (*)(...))QTimeEdit::qt_metacall +40 (int (*)(...))QTimeEdit::~QTimeEdit +48 (int (*)(...))QTimeEdit::~QTimeEdit +56 (int (*)(...))QDateTimeEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDateTimeEdit::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDateTimeEdit::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QDateTimeEdit::wheelEvent +208 (int (*)(...))QDateTimeEdit::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QDateTimeEdit::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDateTimeEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QDateTimeEdit::focusNextPrevChild +432 (int (*)(...))QDateTimeEdit::validate +440 (int (*)(...))QDateTimeEdit::fixup +448 (int (*)(...))QDateTimeEdit::stepBy +456 (int (*)(...))QDateTimeEdit::clear +464 (int (*)(...))QDateTimeEdit::stepEnabled +472 (int (*)(...))QDateTimeEdit::dateTimeFromText +480 (int (*)(...))QDateTimeEdit::textFromDateTime +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI9QTimeEdit) +504 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD1Ev +512 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTimeEdit + size=48 align=8 + base size=48 base align=8 +QTimeEdit (0x0x7fad6d6e7750) 0 + vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16) + QDateTimeEdit (0x0x7fad6d6e77b8) 0 + primary-for QTimeEdit (0x0x7fad6d6e7750) + QAbstractSpinBox (0x0x7fad6d6e7820) 0 + primary-for QDateTimeEdit (0x0x7fad6d6e77b8) + QWidget (0x0x7fad728a9f50) 0 + primary-for QAbstractSpinBox (0x0x7fad6d6e7820) + QObject (0x0x7fad6c6f5f00) 0 + primary-for QWidget (0x0x7fad728a9f50) + QPaintDevice (0x0x7fad6c6f5f60) 16 + vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 504) + +Class QDateEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDateEdit::QPrivateSignal (0x0x7fad6b8a91e0) 0 empty + +Vtable for QDateEdit +QDateEdit::_ZTV9QDateEdit: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QDateEdit) +16 (int (*)(...))QDateEdit::metaObject +24 (int (*)(...))QDateEdit::qt_metacast +32 (int (*)(...))QDateEdit::qt_metacall +40 (int (*)(...))QDateEdit::~QDateEdit +48 (int (*)(...))QDateEdit::~QDateEdit +56 (int (*)(...))QDateTimeEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDateTimeEdit::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDateTimeEdit::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QDateTimeEdit::wheelEvent +208 (int (*)(...))QDateTimeEdit::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QDateTimeEdit::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDateTimeEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QDateTimeEdit::focusNextPrevChild +432 (int (*)(...))QDateTimeEdit::validate +440 (int (*)(...))QDateTimeEdit::fixup +448 (int (*)(...))QDateTimeEdit::stepBy +456 (int (*)(...))QDateTimeEdit::clear +464 (int (*)(...))QDateTimeEdit::stepEnabled +472 (int (*)(...))QDateTimeEdit::dateTimeFromText +480 (int (*)(...))QDateTimeEdit::textFromDateTime +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI9QDateEdit) +504 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD1Ev +512 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDateEdit + size=48 align=8 + base size=48 base align=8 +QDateEdit (0x0x7fad6d6e7888) 0 + vptr=((& QDateEdit::_ZTV9QDateEdit) + 16) + QDateTimeEdit (0x0x7fad6d6e78f0) 0 + primary-for QDateEdit (0x0x7fad6d6e7888) + QAbstractSpinBox (0x0x7fad6d6e7958) 0 + primary-for QDateTimeEdit (0x0x7fad6d6e78f0) + QWidget (0x0x7fad728fd0e0) 0 + primary-for QAbstractSpinBox (0x0x7fad6d6e7958) + QObject (0x0x7fad6b8a9120) 0 + primary-for QWidget (0x0x7fad728fd0e0) + QPaintDevice (0x0x7fad6b8a9180) 16 + vptr=((& QDateEdit::_ZTV9QDateEdit) + 504) + +Class QDesktopWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDesktopWidget::QPrivateSignal (0x0x7fad6b8a9900) 0 empty + +Vtable for QDesktopWidget +QDesktopWidget::_ZTV14QDesktopWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QDesktopWidget) +16 (int (*)(...))QDesktopWidget::metaObject +24 (int (*)(...))QDesktopWidget::qt_metacast +32 (int (*)(...))QDesktopWidget::qt_metacall +40 (int (*)(...))QDesktopWidget::~QDesktopWidget +48 (int (*)(...))QDesktopWidget::~QDesktopWidget +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDesktopWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI14QDesktopWidget) +448 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev +456 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDesktopWidget + size=48 align=8 + base size=48 base align=8 +QDesktopWidget (0x0x7fad6d6e79c0) 0 + vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16) + QWidget (0x0x7fad728fd7e0) 0 + primary-for QDesktopWidget (0x0x7fad6d6e79c0) + QObject (0x0x7fad6b8a9840) 0 + primary-for QWidget (0x0x7fad728fd7e0) + QPaintDevice (0x0x7fad6b8a98a0) 16 + vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 448) + +Class QDial::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDial::QPrivateSignal (0x0x7fad6b8a9cc0) 0 empty + +Vtable for QDial +QDial::_ZTV5QDial: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QDial) +16 (int (*)(...))QDial::metaObject +24 (int (*)(...))QDial::qt_metacast +32 (int (*)(...))QDial::qt_metacall +40 (int (*)(...))QDial::~QDial +48 (int (*)(...))QDial::~QDial +56 (int (*)(...))QDial::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QDial::sizeHint +136 (int (*)(...))QDial::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QDial::mousePressEvent +176 (int (*)(...))QDial::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QDial::mouseMoveEvent +200 (int (*)(...))QAbstractSlider::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDial::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDial::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDial::sliderChange +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI5QDial) +456 (int (*)(...))QDial::_ZThn16_N5QDialD1Ev +464 (int (*)(...))QDial::_ZThn16_N5QDialD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDial + size=48 align=8 + base size=48 base align=8 +QDial (0x0x7fad6d6e7a28) 0 + vptr=((& QDial::_ZTV5QDial) + 16) + QAbstractSlider (0x0x7fad6d6e7a90) 0 + primary-for QDial (0x0x7fad6d6e7a28) + QWidget (0x0x7fad728fd850) 0 + primary-for QAbstractSlider (0x0x7fad6d6e7a90) + QObject (0x0x7fad6b8a9c00) 0 + primary-for QWidget (0x0x7fad728fd850) + QPaintDevice (0x0x7fad6b8a9c60) 16 + vptr=((& QDial::_ZTV5QDial) + 456) + +Class QDialogButtonBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDialogButtonBox::QPrivateSignal (0x0x7fad6b8a9f60) 0 empty + +Vtable for QDialogButtonBox +QDialogButtonBox::_ZTV16QDialogButtonBox: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QDialogButtonBox) +16 (int (*)(...))QDialogButtonBox::metaObject +24 (int (*)(...))QDialogButtonBox::qt_metacast +32 (int (*)(...))QDialogButtonBox::qt_metacall +40 (int (*)(...))QDialogButtonBox::~QDialogButtonBox +48 (int (*)(...))QDialogButtonBox::~QDialogButtonBox +56 (int (*)(...))QDialogButtonBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QDialogButtonBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI16QDialogButtonBox) +448 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev +456 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDialogButtonBox + size=48 align=8 + base size=48 base align=8 +QDialogButtonBox (0x0x7fad6d6e7af8) 0 + vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16) + QWidget (0x0x7fad728fd930) 0 + primary-for QDialogButtonBox (0x0x7fad6d6e7af8) + QObject (0x0x7fad6b8a9ea0) 0 + primary-for QWidget (0x0x7fad728fd930) + QPaintDevice (0x0x7fad6b8a9f00) 16 + vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 448) + +Vtable for QFileIconProvider +QFileIconProvider::_ZTV17QFileIconProvider: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QFileIconProvider) +16 (int (*)(...))QFileIconProvider::~QFileIconProvider +24 (int (*)(...))QFileIconProvider::~QFileIconProvider +32 (int (*)(...))QFileIconProvider::icon +40 (int (*)(...))QFileIconProvider::icon +48 (int (*)(...))QFileIconProvider::type + +Class QFileIconProvider + size=16 align=8 + base size=16 base align=8 +QFileIconProvider (0x0x7fad6ac3a900) 0 + vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16) + +Class QDirModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDirModel::QPrivateSignal (0x0x7fad6a34e240) 0 empty + +Vtable for QDirModel +QDirModel::_ZTV9QDirModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QDirModel) +16 (int (*)(...))QDirModel::metaObject +24 (int (*)(...))QDirModel::qt_metacast +32 (int (*)(...))QDirModel::qt_metacall +40 (int (*)(...))QDirModel::~QDirModel +48 (int (*)(...))QDirModel::~QDirModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QDirModel::index +120 (int (*)(...))QDirModel::parent +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))QDirModel::rowCount +144 (int (*)(...))QDirModel::columnCount +152 (int (*)(...))QDirModel::hasChildren +160 (int (*)(...))QDirModel::data +168 (int (*)(...))QDirModel::setData +176 (int (*)(...))QDirModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QDirModel::mimeTypes +216 (int (*)(...))QDirModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QDirModel::dropMimeData +240 (int (*)(...))QDirModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QDirModel::flags +328 (int (*)(...))QDirModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QDirModel + size=16 align=8 + base size=16 base align=8 +QDirModel (0x0x7fad6d6e7d00) 0 + vptr=((& QDirModel::_ZTV9QDirModel) + 16) + QAbstractItemModel (0x0x7fad6d6e7d68) 0 + primary-for QDirModel (0x0x7fad6d6e7d00) + QObject (0x0x7fad6a34e1e0) 0 + primary-for QAbstractItemModel (0x0x7fad6d6e7d68) + +Class QDockWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDockWidget::QPrivateSignal (0x0x7fad6a34e4e0) 0 empty + +Vtable for QDockWidget +QDockWidget::_ZTV11QDockWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QDockWidget) +16 (int (*)(...))QDockWidget::metaObject +24 (int (*)(...))QDockWidget::qt_metacast +32 (int (*)(...))QDockWidget::qt_metacall +40 (int (*)(...))QDockWidget::~QDockWidget +48 (int (*)(...))QDockWidget::~QDockWidget +56 (int (*)(...))QDockWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QDockWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QDockWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QDockWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI11QDockWidget) +448 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD1Ev +456 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDockWidget + size=48 align=8 + base size=48 base align=8 +QDockWidget (0x0x7fad6d6e7dd0) 0 + vptr=((& QDockWidget::_ZTV11QDockWidget) + 16) + QWidget (0x0x7fad727394d0) 0 + primary-for QDockWidget (0x0x7fad6d6e7dd0) + QObject (0x0x7fad6a34e420) 0 + primary-for QWidget (0x0x7fad727394d0) + QPaintDevice (0x0x7fad6a34e480) 16 + vptr=((& QDockWidget::_ZTV11QDockWidget) + 448) + +Class QTileRules + size=8 align=4 + base size=8 base align=4 +QTileRules (0x0x7fad698dd3c0) 0 + +Class QErrorMessage::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QErrorMessage::QPrivateSignal (0x0x7fad698ddba0) 0 empty + +Vtable for QErrorMessage +QErrorMessage::_ZTV13QErrorMessage: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QErrorMessage) +16 (int (*)(...))QErrorMessage::metaObject +24 (int (*)(...))QErrorMessage::qt_metacast +32 (int (*)(...))QErrorMessage::qt_metacall +40 (int (*)(...))QErrorMessage::~QErrorMessage +48 (int (*)(...))QErrorMessage::~QErrorMessage +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QErrorMessage::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QErrorMessage::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI13QErrorMessage) +488 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD1Ev +496 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QErrorMessage + size=48 align=8 + base size=48 base align=8 +QErrorMessage (0x0x7fad69bb34e0) 0 + vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16) + QDialog (0x0x7fad69bb3548) 0 + primary-for QErrorMessage (0x0x7fad69bb34e0) + QWidget (0x0x7fad724972a0) 0 + primary-for QDialog (0x0x7fad69bb3548) + QObject (0x0x7fad698ddae0) 0 + primary-for QWidget (0x0x7fad724972a0) + QPaintDevice (0x0x7fad698ddb40) 16 + vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488) + +Class QFileDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileDialog::QPrivateSignal (0x0x7fad698dde40) 0 empty + +Vtable for QFileDialog +QFileDialog::_ZTV11QFileDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFileDialog) +16 (int (*)(...))QFileDialog::metaObject +24 (int (*)(...))QFileDialog::qt_metacast +32 (int (*)(...))QFileDialog::qt_metacall +40 (int (*)(...))QFileDialog::~QFileDialog +48 (int (*)(...))QFileDialog::~QFileDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QFileDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFileDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QFileDialog::done +456 (int (*)(...))QFileDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QFileDialog) +488 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD1Ev +496 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFileDialog + size=48 align=8 + base size=48 base align=8 +QFileDialog (0x0x7fad69bb35b0) 0 + vptr=((& QFileDialog::_ZTV11QFileDialog) + 16) + QDialog (0x0x7fad69bb3618) 0 + primary-for QFileDialog (0x0x7fad69bb35b0) + QWidget (0x0x7fad724973f0) 0 + primary-for QDialog (0x0x7fad69bb3618) + QObject (0x0x7fad698ddd80) 0 + primary-for QWidget (0x0x7fad724973f0) + QPaintDevice (0x0x7fad698ddde0) 16 + vptr=((& QFileDialog::_ZTV11QFileDialog) + 488) + +Class QFileSystemModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSystemModel::QPrivateSignal (0x0x7fad744d3d80) 0 empty + +Vtable for QFileSystemModel +QFileSystemModel::_ZTV16QFileSystemModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QFileSystemModel) +16 (int (*)(...))QFileSystemModel::metaObject +24 (int (*)(...))QFileSystemModel::qt_metacast +32 (int (*)(...))QFileSystemModel::qt_metacall +40 (int (*)(...))QFileSystemModel::~QFileSystemModel +48 (int (*)(...))QFileSystemModel::~QFileSystemModel +56 (int (*)(...))QFileSystemModel::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QFileSystemModel::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileSystemModel::index +120 (int (*)(...))QFileSystemModel::parent +128 (int (*)(...))QFileSystemModel::sibling +136 (int (*)(...))QFileSystemModel::rowCount +144 (int (*)(...))QFileSystemModel::columnCount +152 (int (*)(...))QFileSystemModel::hasChildren +160 (int (*)(...))QFileSystemModel::data +168 (int (*)(...))QFileSystemModel::setData +176 (int (*)(...))QFileSystemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QFileSystemModel::mimeTypes +216 (int (*)(...))QFileSystemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QFileSystemModel::dropMimeData +240 (int (*)(...))QFileSystemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QFileSystemModel::fetchMore +312 (int (*)(...))QFileSystemModel::canFetchMore +320 (int (*)(...))QFileSystemModel::flags +328 (int (*)(...))QFileSystemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QFileSystemModel + size=16 align=8 + base size=16 base align=8 +QFileSystemModel (0x0x7fad69bb3750) 0 + vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16) + QAbstractItemModel (0x0x7fad69bb37b8) 0 + primary-for QFileSystemModel (0x0x7fad69bb3750) + QObject (0x0x7fad744d3d20) 0 + primary-for QAbstractItemModel (0x0x7fad69bb37b8) + +Class QFocusFrame::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFocusFrame::QPrivateSignal (0x0x7fad72ab98a0) 0 empty + +Vtable for QFocusFrame +QFocusFrame::_ZTV11QFocusFrame: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFocusFrame) +16 (int (*)(...))QFocusFrame::metaObject +24 (int (*)(...))QFocusFrame::qt_metacast +32 (int (*)(...))QFocusFrame::qt_metacall +40 (int (*)(...))QFocusFrame::~QFocusFrame +48 (int (*)(...))QFocusFrame::~QFocusFrame +56 (int (*)(...))QFocusFrame::event +64 (int (*)(...))QFocusFrame::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFocusFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI11QFocusFrame) +448 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD1Ev +456 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFocusFrame + size=48 align=8 + base size=48 base align=8 +QFocusFrame (0x0x7fad69bb38f0) 0 + vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16) + QWidget (0x0x7fad72531b60) 0 + primary-for QFocusFrame (0x0x7fad69bb38f0) + QObject (0x0x7fad72ab97e0) 0 + primary-for QWidget (0x0x7fad72531b60) + QPaintDevice (0x0x7fad72ab9840) 16 + vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 448) + +Class QFontComboBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFontComboBox::QPrivateSignal (0x0x7fad72ab9b40) 0 empty + +Vtable for QFontComboBox +QFontComboBox::_ZTV13QFontComboBox: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QFontComboBox) +16 (int (*)(...))QFontComboBox::metaObject +24 (int (*)(...))QFontComboBox::qt_metacast +32 (int (*)(...))QFontComboBox::qt_metacall +40 (int (*)(...))QFontComboBox::~QFontComboBox +48 (int (*)(...))QFontComboBox::~QFontComboBox +56 (int (*)(...))QFontComboBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFontComboBox::sizeHint +136 (int (*)(...))QComboBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QComboBox::mousePressEvent +176 (int (*)(...))QComboBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QComboBox::wheelEvent +208 (int (*)(...))QComboBox::keyPressEvent +216 (int (*)(...))QComboBox::keyReleaseEvent +224 (int (*)(...))QComboBox::focusInEvent +232 (int (*)(...))QComboBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QComboBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QComboBox::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QComboBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QComboBox::showEvent +352 (int (*)(...))QComboBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QComboBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QComboBox::inputMethodEvent +416 (int (*)(...))QComboBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QComboBox::showPopup +440 (int (*)(...))QComboBox::hidePopup +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI13QFontComboBox) +464 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev +472 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFontComboBox + size=48 align=8 + base size=48 base align=8 +QFontComboBox (0x0x7fad69bb3958) 0 + vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16) + QComboBox (0x0x7fad69bb39c0) 0 + primary-for QFontComboBox (0x0x7fad69bb3958) + QWidget (0x0x7fad72531bd0) 0 + primary-for QComboBox (0x0x7fad69bb39c0) + QObject (0x0x7fad72ab9a80) 0 + primary-for QWidget (0x0x7fad72531bd0) + QPaintDevice (0x0x7fad72ab9ae0) 16 + vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 464) + +Class QFontDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFontDialog::QPrivateSignal (0x0x7fad719fb5a0) 0 empty + +Vtable for QFontDialog +QFontDialog::_ZTV11QFontDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFontDialog) +16 (int (*)(...))QFontDialog::metaObject +24 (int (*)(...))QFontDialog::qt_metacast +32 (int (*)(...))QFontDialog::qt_metacall +40 (int (*)(...))QFontDialog::~QFontDialog +48 (int (*)(...))QFontDialog::~QFontDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QFontDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QFontDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFontDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QFontDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QFontDialog) +488 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD1Ev +496 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QFontDialog + size=48 align=8 + base size=48 base align=8 +QFontDialog (0x0x7fad69bb3b60) 0 + vptr=((& QFontDialog::_ZTV11QFontDialog) + 16) + QDialog (0x0x7fad69bb3bc8) 0 + primary-for QFontDialog (0x0x7fad69bb3b60) + QWidget (0x0x7fad7215dd90) 0 + primary-for QDialog (0x0x7fad69bb3bc8) + QObject (0x0x7fad719fb4e0) 0 + primary-for QWidget (0x0x7fad7215dd90) + QPaintDevice (0x0x7fad719fb540) 16 + vptr=((& QFontDialog::_ZTV11QFontDialog) + 488) + +Class QFormLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFormLayout::QPrivateSignal (0x0x7fad70d701e0) 0 empty + +Class QFormLayout::TakeRowResult + size=16 align=8 + base size=16 base align=8 +QFormLayout::TakeRowResult (0x0x7fad70d70240) 0 + +Vtable for QFormLayout +QFormLayout::_ZTV11QFormLayout: 50 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFormLayout) +16 (int (*)(...))QFormLayout::metaObject +24 (int (*)(...))QFormLayout::qt_metacast +32 (int (*)(...))QFormLayout::qt_metacall +40 (int (*)(...))QFormLayout::~QFormLayout +48 (int (*)(...))QFormLayout::~QFormLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFormLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QFormLayout::addItem +136 (int (*)(...))QFormLayout::expandingDirections +144 (int (*)(...))QFormLayout::minimumSize +152 (int (*)(...))QLayout::maximumSize +160 (int (*)(...))QFormLayout::setGeometry +168 (int (*)(...))QFormLayout::itemAt +176 (int (*)(...))QFormLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QFormLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QFormLayout::sizeHint +232 (int (*)(...))QFormLayout::hasHeightForWidth +240 (int (*)(...))QFormLayout::heightForWidth +248 (int (*)(...))-16 +256 (int (*)(...))(& _ZTI11QFormLayout) +264 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD1Ev +272 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD0Ev +280 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv +288 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv +296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv +304 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv +312 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect +320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +336 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv +344 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi +352 (int (*)(...))QLayoutItem::minimumHeightForWidth +360 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout10invalidateEv +368 (int (*)(...))QLayoutItem::widget +376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +384 (int (*)(...))QLayoutItem::spacerItem +392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QFormLayout + size=32 align=8 + base size=28 base align=8 +QFormLayout (0x0x7fad69bb3d00) 0 + vptr=((& QFormLayout::_ZTV11QFormLayout) + 16) + QLayout (0x0x7fad721d7540) 0 + primary-for QFormLayout (0x0x7fad69bb3d00) + QObject (0x0x7fad70d70120) 0 + primary-for QLayout (0x0x7fad721d7540) + QLayoutItem (0x0x7fad70d70180) 16 + vptr=((& QFormLayout::_ZTV11QFormLayout) + 264) + +Class QGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGesture::QPrivateSignal (0x0x7fad703a0660) 0 empty + +Vtable for QGesture +QGesture::_ZTV8QGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QGesture) +16 (int (*)(...))QGesture::metaObject +24 (int (*)(...))QGesture::qt_metacast +32 (int (*)(...))QGesture::qt_metacall +40 (int (*)(...))QGesture::~QGesture +48 (int (*)(...))QGesture::~QGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QGesture + size=16 align=8 + base size=16 base align=8 +QGesture (0x0x7fad703e9068) 0 + vptr=((& QGesture::_ZTV8QGesture) + 16) + QObject (0x0x7fad703a0600) 0 + primary-for QGesture (0x0x7fad703e9068) + +Class QPanGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPanGesture::QPrivateSignal (0x0x7fad703a08a0) 0 empty + +Vtable for QPanGesture +QPanGesture::_ZTV11QPanGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QPanGesture) +16 (int (*)(...))QPanGesture::metaObject +24 (int (*)(...))QPanGesture::qt_metacast +32 (int (*)(...))QPanGesture::qt_metacall +40 (int (*)(...))QPanGesture::~QPanGesture +48 (int (*)(...))QPanGesture::~QPanGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPanGesture + size=16 align=8 + base size=16 base align=8 +QPanGesture (0x0x7fad703e90d0) 0 + vptr=((& QPanGesture::_ZTV11QPanGesture) + 16) + QGesture (0x0x7fad703e9138) 0 + primary-for QPanGesture (0x0x7fad703e90d0) + QObject (0x0x7fad703a0840) 0 + primary-for QGesture (0x0x7fad703e9138) + +Class QPinchGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPinchGesture::QPrivateSignal (0x0x7fad703a0ae0) 0 empty + +Vtable for QPinchGesture +QPinchGesture::_ZTV13QPinchGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QPinchGesture) +16 (int (*)(...))QPinchGesture::metaObject +24 (int (*)(...))QPinchGesture::qt_metacast +32 (int (*)(...))QPinchGesture::qt_metacall +40 (int (*)(...))QPinchGesture::~QPinchGesture +48 (int (*)(...))QPinchGesture::~QPinchGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPinchGesture + size=16 align=8 + base size=16 base align=8 +QPinchGesture (0x0x7fad703e91a0) 0 + vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16) + QGesture (0x0x7fad703e9208) 0 + primary-for QPinchGesture (0x0x7fad703e91a0) + QObject (0x0x7fad703a0a80) 0 + primary-for QGesture (0x0x7fad703e9208) + +Class QSwipeGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSwipeGesture::QPrivateSignal (0x0x7fad6f786780) 0 empty + +Vtable for QSwipeGesture +QSwipeGesture::_ZTV13QSwipeGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSwipeGesture) +16 (int (*)(...))QSwipeGesture::metaObject +24 (int (*)(...))QSwipeGesture::qt_metacast +32 (int (*)(...))QSwipeGesture::qt_metacall +40 (int (*)(...))QSwipeGesture::~QSwipeGesture +48 (int (*)(...))QSwipeGesture::~QSwipeGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSwipeGesture + size=16 align=8 + base size=16 base align=8 +QSwipeGesture (0x0x7fad703e9340) 0 + vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16) + QGesture (0x0x7fad703e93a8) 0 + primary-for QSwipeGesture (0x0x7fad703e9340) + QObject (0x0x7fad6f786720) 0 + primary-for QGesture (0x0x7fad703e93a8) + +Class QTapGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTapGesture::QPrivateSignal (0x0x7fad6f786ae0) 0 empty + +Vtable for QTapGesture +QTapGesture::_ZTV11QTapGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTapGesture) +16 (int (*)(...))QTapGesture::metaObject +24 (int (*)(...))QTapGesture::qt_metacast +32 (int (*)(...))QTapGesture::qt_metacall +40 (int (*)(...))QTapGesture::~QTapGesture +48 (int (*)(...))QTapGesture::~QTapGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTapGesture + size=16 align=8 + base size=16 base align=8 +QTapGesture (0x0x7fad703e9410) 0 + vptr=((& QTapGesture::_ZTV11QTapGesture) + 16) + QGesture (0x0x7fad703e9478) 0 + primary-for QTapGesture (0x0x7fad703e9410) + QObject (0x0x7fad6f786a80) 0 + primary-for QGesture (0x0x7fad703e9478) + +Class QTapAndHoldGesture::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTapAndHoldGesture::QPrivateSignal (0x0x7fad6f786d20) 0 empty + +Vtable for QTapAndHoldGesture +QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QTapAndHoldGesture) +16 (int (*)(...))QTapAndHoldGesture::metaObject +24 (int (*)(...))QTapAndHoldGesture::qt_metacast +32 (int (*)(...))QTapAndHoldGesture::qt_metacall +40 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture +48 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTapAndHoldGesture + size=16 align=8 + base size=16 base align=8 +QTapAndHoldGesture (0x0x7fad703e94e0) 0 + vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16) + QGesture (0x0x7fad703e9548) 0 + primary-for QTapAndHoldGesture (0x0x7fad703e94e0) + QObject (0x0x7fad6f786cc0) 0 + primary-for QGesture (0x0x7fad703e9548) + +Vtable for QGestureEvent +QGestureEvent::_ZTV13QGestureEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QGestureEvent) +16 (int (*)(...))QGestureEvent::~QGestureEvent +24 (int (*)(...))QGestureEvent::~QGestureEvent + +Class QGestureEvent + size=56 align=8 + base size=56 base align=8 +QGestureEvent (0x0x7fad703e95b0) 0 + vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16) + QEvent (0x0x7fad6f786f00) 0 + primary-for QGestureEvent (0x0x7fad703e95b0) + +Vtable for QGestureRecognizer +QGestureRecognizer::_ZTV18QGestureRecognizer: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QGestureRecognizer) +16 0 +24 0 +32 (int (*)(...))QGestureRecognizer::create +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QGestureRecognizer::reset + +Class QGestureRecognizer + size=8 align=8 + base size=8 base align=8 +QGestureRecognizer (0x0x7fad6dd903c0) 0 nearly-empty + vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16) + +Vtable for QGraphicsItem +QGraphicsItem::_ZTV13QGraphicsItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QGraphicsItem) +16 0 +24 0 +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QGraphicsItem::shape +56 (int (*)(...))QGraphicsItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsItem::isObscuredBy +88 (int (*)(...))QGraphicsItem::opaqueArea +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))QGraphicsItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsItem::supportsExtension +296 (int (*)(...))QGraphicsItem::setExtension +304 (int (*)(...))QGraphicsItem::extension + +Class QGraphicsItem + size=16 align=8 + base size=16 base align=8 +QGraphicsItem (0x0x7fad6dd90ae0) 0 + vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16) + +Class QGraphicsObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsObject::QPrivateSignal (0x0x7fad6a1620c0) 0 empty + +Vtable for QGraphicsObject +QGraphicsObject::_ZTV15QGraphicsObject: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsObject) +16 (int (*)(...))QGraphicsObject::metaObject +24 (int (*)(...))QGraphicsObject::qt_metacast +32 (int (*)(...))QGraphicsObject::qt_metacall +40 0 +48 0 +56 (int (*)(...))QGraphicsObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))-16 +120 (int (*)(...))(& _ZTI15QGraphicsObject) +128 0 +136 0 +144 (int (*)(...))QGraphicsItem::advance +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))QGraphicsItem::shape +168 (int (*)(...))QGraphicsItem::contains +176 (int (*)(...))QGraphicsItem::collidesWithItem +184 (int (*)(...))QGraphicsItem::collidesWithPath +192 (int (*)(...))QGraphicsItem::isObscuredBy +200 (int (*)(...))QGraphicsItem::opaqueArea +208 (int (*)(...))__cxa_pure_virtual +216 (int (*)(...))QGraphicsItem::type +224 (int (*)(...))QGraphicsItem::sceneEventFilter +232 (int (*)(...))QGraphicsItem::sceneEvent +240 (int (*)(...))QGraphicsItem::contextMenuEvent +248 (int (*)(...))QGraphicsItem::dragEnterEvent +256 (int (*)(...))QGraphicsItem::dragLeaveEvent +264 (int (*)(...))QGraphicsItem::dragMoveEvent +272 (int (*)(...))QGraphicsItem::dropEvent +280 (int (*)(...))QGraphicsItem::focusInEvent +288 (int (*)(...))QGraphicsItem::focusOutEvent +296 (int (*)(...))QGraphicsItem::hoverEnterEvent +304 (int (*)(...))QGraphicsItem::hoverMoveEvent +312 (int (*)(...))QGraphicsItem::hoverLeaveEvent +320 (int (*)(...))QGraphicsItem::keyPressEvent +328 (int (*)(...))QGraphicsItem::keyReleaseEvent +336 (int (*)(...))QGraphicsItem::mousePressEvent +344 (int (*)(...))QGraphicsItem::mouseMoveEvent +352 (int (*)(...))QGraphicsItem::mouseReleaseEvent +360 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +368 (int (*)(...))QGraphicsItem::wheelEvent +376 (int (*)(...))QGraphicsItem::inputMethodEvent +384 (int (*)(...))QGraphicsItem::inputMethodQuery +392 (int (*)(...))QGraphicsItem::itemChange +400 (int (*)(...))QGraphicsItem::supportsExtension +408 (int (*)(...))QGraphicsItem::setExtension +416 (int (*)(...))QGraphicsItem::extension + +Class QGraphicsObject + size=32 align=8 + base size=32 base align=8 +QGraphicsObject (0x0x7fad71dc0700) 0 + vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16) + QObject (0x0x7fad6a162000) 0 + primary-for QGraphicsObject (0x0x7fad71dc0700) + QGraphicsItem (0x0x7fad6a162060) 16 + vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128) + +Vtable for QAbstractGraphicsShapeItem +QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem) +16 0 +24 0 +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))QGraphicsItem::shape +56 (int (*)(...))QGraphicsItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QAbstractGraphicsShapeItem::isObscuredBy +88 (int (*)(...))QAbstractGraphicsShapeItem::opaqueArea +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))QGraphicsItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsItem::supportsExtension +296 (int (*)(...))QGraphicsItem::setExtension +304 (int (*)(...))QGraphicsItem::extension + +Class QAbstractGraphicsShapeItem + size=16 align=8 + base size=16 base align=8 +QAbstractGraphicsShapeItem (0x0x7fad703e9820) 0 + vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16) + QGraphicsItem (0x0x7fad6a1621e0) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7fad703e9820) + +Vtable for QGraphicsPathItem +QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsPathItem) +16 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem +24 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsPathItem::boundingRect +48 (int (*)(...))QGraphicsPathItem::shape +56 (int (*)(...))QGraphicsPathItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsPathItem::isObscuredBy +88 (int (*)(...))QGraphicsPathItem::opaqueArea +96 (int (*)(...))QGraphicsPathItem::paint +104 (int (*)(...))QGraphicsPathItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsPathItem::supportsExtension +296 (int (*)(...))QGraphicsPathItem::setExtension +304 (int (*)(...))QGraphicsPathItem::extension + +Class QGraphicsPathItem + size=16 align=8 + base size=16 base align=8 +QGraphicsPathItem (0x0x7fad703e9888) 0 + vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16) + QAbstractGraphicsShapeItem (0x0x7fad703e98f0) 0 + primary-for QGraphicsPathItem (0x0x7fad703e9888) + QGraphicsItem (0x0x7fad6a162300) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7fad703e98f0) + +Vtable for QGraphicsRectItem +QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsRectItem) +16 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem +24 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsRectItem::boundingRect +48 (int (*)(...))QGraphicsRectItem::shape +56 (int (*)(...))QGraphicsRectItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsRectItem::isObscuredBy +88 (int (*)(...))QGraphicsRectItem::opaqueArea +96 (int (*)(...))QGraphicsRectItem::paint +104 (int (*)(...))QGraphicsRectItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsRectItem::supportsExtension +296 (int (*)(...))QGraphicsRectItem::setExtension +304 (int (*)(...))QGraphicsRectItem::extension + +Class QGraphicsRectItem + size=16 align=8 + base size=16 base align=8 +QGraphicsRectItem (0x0x7fad703e9958) 0 + vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16) + QAbstractGraphicsShapeItem (0x0x7fad703e99c0) 0 + primary-for QGraphicsRectItem (0x0x7fad703e9958) + QGraphicsItem (0x0x7fad6a162420) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7fad703e99c0) + +Vtable for QGraphicsEllipseItem +QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem) +16 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem +24 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsEllipseItem::boundingRect +48 (int (*)(...))QGraphicsEllipseItem::shape +56 (int (*)(...))QGraphicsEllipseItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsEllipseItem::isObscuredBy +88 (int (*)(...))QGraphicsEllipseItem::opaqueArea +96 (int (*)(...))QGraphicsEllipseItem::paint +104 (int (*)(...))QGraphicsEllipseItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsEllipseItem::supportsExtension +296 (int (*)(...))QGraphicsEllipseItem::setExtension +304 (int (*)(...))QGraphicsEllipseItem::extension + +Class QGraphicsEllipseItem + size=16 align=8 + base size=16 base align=8 +QGraphicsEllipseItem (0x0x7fad703e9a28) 0 + vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16) + QAbstractGraphicsShapeItem (0x0x7fad703e9a90) 0 + primary-for QGraphicsEllipseItem (0x0x7fad703e9a28) + QGraphicsItem (0x0x7fad6a1625a0) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7fad703e9a90) + +Vtable for QGraphicsPolygonItem +QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem) +16 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem +24 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsPolygonItem::boundingRect +48 (int (*)(...))QGraphicsPolygonItem::shape +56 (int (*)(...))QGraphicsPolygonItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsPolygonItem::isObscuredBy +88 (int (*)(...))QGraphicsPolygonItem::opaqueArea +96 (int (*)(...))QGraphicsPolygonItem::paint +104 (int (*)(...))QGraphicsPolygonItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsPolygonItem::supportsExtension +296 (int (*)(...))QGraphicsPolygonItem::setExtension +304 (int (*)(...))QGraphicsPolygonItem::extension + +Class QGraphicsPolygonItem + size=16 align=8 + base size=16 base align=8 +QGraphicsPolygonItem (0x0x7fad703e9af8) 0 + vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16) + QAbstractGraphicsShapeItem (0x0x7fad703e9b60) 0 + primary-for QGraphicsPolygonItem (0x0x7fad703e9af8) + QGraphicsItem (0x0x7fad6a162720) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7fad703e9b60) + +Vtable for QGraphicsLineItem +QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsLineItem) +16 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem +24 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsLineItem::boundingRect +48 (int (*)(...))QGraphicsLineItem::shape +56 (int (*)(...))QGraphicsLineItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsLineItem::isObscuredBy +88 (int (*)(...))QGraphicsLineItem::opaqueArea +96 (int (*)(...))QGraphicsLineItem::paint +104 (int (*)(...))QGraphicsLineItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsLineItem::supportsExtension +296 (int (*)(...))QGraphicsLineItem::setExtension +304 (int (*)(...))QGraphicsLineItem::extension + +Class QGraphicsLineItem + size=16 align=8 + base size=16 base align=8 +QGraphicsLineItem (0x0x7fad703e9bc8) 0 + vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16) + QGraphicsItem (0x0x7fad6a162840) 0 + primary-for QGraphicsLineItem (0x0x7fad703e9bc8) + +Vtable for QGraphicsPixmapItem +QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem) +16 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem +24 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsPixmapItem::boundingRect +48 (int (*)(...))QGraphicsPixmapItem::shape +56 (int (*)(...))QGraphicsPixmapItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsPixmapItem::isObscuredBy +88 (int (*)(...))QGraphicsPixmapItem::opaqueArea +96 (int (*)(...))QGraphicsPixmapItem::paint +104 (int (*)(...))QGraphicsPixmapItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsPixmapItem::supportsExtension +296 (int (*)(...))QGraphicsPixmapItem::setExtension +304 (int (*)(...))QGraphicsPixmapItem::extension + +Class QGraphicsPixmapItem + size=16 align=8 + base size=16 base align=8 +QGraphicsPixmapItem (0x0x7fad703e9c30) 0 + vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16) + QGraphicsItem (0x0x7fad6a1629c0) 0 + primary-for QGraphicsPixmapItem (0x0x7fad703e9c30) + +Class QGraphicsTextItem::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsTextItem::QPrivateSignal (0x0x7fad6a162c00) 0 empty + +Vtable for QGraphicsTextItem +QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsTextItem) +16 (int (*)(...))QGraphicsTextItem::metaObject +24 (int (*)(...))QGraphicsTextItem::qt_metacast +32 (int (*)(...))QGraphicsTextItem::qt_metacall +40 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem +48 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem +56 (int (*)(...))QGraphicsObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsTextItem::boundingRect +120 (int (*)(...))QGraphicsTextItem::shape +128 (int (*)(...))QGraphicsTextItem::contains +136 (int (*)(...))QGraphicsTextItem::paint +144 (int (*)(...))QGraphicsTextItem::isObscuredBy +152 (int (*)(...))QGraphicsTextItem::opaqueArea +160 (int (*)(...))QGraphicsTextItem::type +168 (int (*)(...))QGraphicsTextItem::sceneEvent +176 (int (*)(...))QGraphicsTextItem::mousePressEvent +184 (int (*)(...))QGraphicsTextItem::mouseMoveEvent +192 (int (*)(...))QGraphicsTextItem::mouseReleaseEvent +200 (int (*)(...))QGraphicsTextItem::mouseDoubleClickEvent +208 (int (*)(...))QGraphicsTextItem::contextMenuEvent +216 (int (*)(...))QGraphicsTextItem::keyPressEvent +224 (int (*)(...))QGraphicsTextItem::keyReleaseEvent +232 (int (*)(...))QGraphicsTextItem::focusInEvent +240 (int (*)(...))QGraphicsTextItem::focusOutEvent +248 (int (*)(...))QGraphicsTextItem::dragEnterEvent +256 (int (*)(...))QGraphicsTextItem::dragLeaveEvent +264 (int (*)(...))QGraphicsTextItem::dragMoveEvent +272 (int (*)(...))QGraphicsTextItem::dropEvent +280 (int (*)(...))QGraphicsTextItem::inputMethodEvent +288 (int (*)(...))QGraphicsTextItem::hoverEnterEvent +296 (int (*)(...))QGraphicsTextItem::hoverMoveEvent +304 (int (*)(...))QGraphicsTextItem::hoverLeaveEvent +312 (int (*)(...))QGraphicsTextItem::inputMethodQuery +320 (int (*)(...))QGraphicsTextItem::supportsExtension +328 (int (*)(...))QGraphicsTextItem::setExtension +336 (int (*)(...))QGraphicsTextItem::extension +344 (int (*)(...))-16 +352 (int (*)(...))(& _ZTI17QGraphicsTextItem) +360 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev +368 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev +376 (int (*)(...))QGraphicsItem::advance +384 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv +392 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv +400 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF +408 (int (*)(...))QGraphicsItem::collidesWithItem +416 (int (*)(...))QGraphicsItem::collidesWithPath +424 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem +432 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv +440 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget +448 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv +456 (int (*)(...))QGraphicsItem::sceneEventFilter +464 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent +472 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent +480 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent +488 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent +496 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent +504 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent +512 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent +520 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent +528 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent +536 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent +544 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent +552 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent +560 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent +568 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent +576 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent +584 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent +592 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent +600 (int (*)(...))QGraphicsItem::wheelEvent +608 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent +616 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE +624 (int (*)(...))QGraphicsItem::itemChange +632 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE +640 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant +648 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant + +Class QGraphicsTextItem + size=40 align=8 + base size=40 base align=8 +QGraphicsTextItem (0x0x7fad703e9c98) 0 + vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16) + QGraphicsObject (0x0x7fad71df3070) 0 + primary-for QGraphicsTextItem (0x0x7fad703e9c98) + QObject (0x0x7fad6a162b40) 0 + primary-for QGraphicsObject (0x0x7fad71df3070) + QGraphicsItem (0x0x7fad6a162ba0) 16 + vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360) + +Vtable for QGraphicsSimpleTextItem +QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem) +16 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem +24 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsSimpleTextItem::boundingRect +48 (int (*)(...))QGraphicsSimpleTextItem::shape +56 (int (*)(...))QGraphicsSimpleTextItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsSimpleTextItem::isObscuredBy +88 (int (*)(...))QGraphicsSimpleTextItem::opaqueArea +96 (int (*)(...))QGraphicsSimpleTextItem::paint +104 (int (*)(...))QGraphicsSimpleTextItem::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsSimpleTextItem::supportsExtension +296 (int (*)(...))QGraphicsSimpleTextItem::setExtension +304 (int (*)(...))QGraphicsSimpleTextItem::extension + +Class QGraphicsSimpleTextItem + size=16 align=8 + base size=16 base align=8 +QGraphicsSimpleTextItem (0x0x7fad703e9dd0) 0 + vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16) + QAbstractGraphicsShapeItem (0x0x7fad703e9e38) 0 + primary-for QGraphicsSimpleTextItem (0x0x7fad703e9dd0) + QGraphicsItem (0x0x7fad6a162f00) 0 + primary-for QAbstractGraphicsShapeItem (0x0x7fad703e9e38) + +Vtable for QGraphicsItemGroup +QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QGraphicsItemGroup) +16 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup +24 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup +32 (int (*)(...))QGraphicsItem::advance +40 (int (*)(...))QGraphicsItemGroup::boundingRect +48 (int (*)(...))QGraphicsItem::shape +56 (int (*)(...))QGraphicsItem::contains +64 (int (*)(...))QGraphicsItem::collidesWithItem +72 (int (*)(...))QGraphicsItem::collidesWithPath +80 (int (*)(...))QGraphicsItemGroup::isObscuredBy +88 (int (*)(...))QGraphicsItemGroup::opaqueArea +96 (int (*)(...))QGraphicsItemGroup::paint +104 (int (*)(...))QGraphicsItemGroup::type +112 (int (*)(...))QGraphicsItem::sceneEventFilter +120 (int (*)(...))QGraphicsItem::sceneEvent +128 (int (*)(...))QGraphicsItem::contextMenuEvent +136 (int (*)(...))QGraphicsItem::dragEnterEvent +144 (int (*)(...))QGraphicsItem::dragLeaveEvent +152 (int (*)(...))QGraphicsItem::dragMoveEvent +160 (int (*)(...))QGraphicsItem::dropEvent +168 (int (*)(...))QGraphicsItem::focusInEvent +176 (int (*)(...))QGraphicsItem::focusOutEvent +184 (int (*)(...))QGraphicsItem::hoverEnterEvent +192 (int (*)(...))QGraphicsItem::hoverMoveEvent +200 (int (*)(...))QGraphicsItem::hoverLeaveEvent +208 (int (*)(...))QGraphicsItem::keyPressEvent +216 (int (*)(...))QGraphicsItem::keyReleaseEvent +224 (int (*)(...))QGraphicsItem::mousePressEvent +232 (int (*)(...))QGraphicsItem::mouseMoveEvent +240 (int (*)(...))QGraphicsItem::mouseReleaseEvent +248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +256 (int (*)(...))QGraphicsItem::wheelEvent +264 (int (*)(...))QGraphicsItem::inputMethodEvent +272 (int (*)(...))QGraphicsItem::inputMethodQuery +280 (int (*)(...))QGraphicsItem::itemChange +288 (int (*)(...))QGraphicsItem::supportsExtension +296 (int (*)(...))QGraphicsItem::setExtension +304 (int (*)(...))QGraphicsItem::extension + +Class QGraphicsItemGroup + size=16 align=8 + base size=16 base align=8 +QGraphicsItemGroup (0x0x7fad703e9ea0) 0 + vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16) + QGraphicsItem (0x0x7fad758f2060) 0 + primary-for QGraphicsItemGroup (0x0x7fad703e9ea0) + +Vtable for QGraphicsLayoutItem +QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem) +16 0 +24 0 +32 (int (*)(...))QGraphicsLayoutItem::setGeometry +40 (int (*)(...))QGraphicsLayoutItem::getContentsMargins +48 (int (*)(...))QGraphicsLayoutItem::updateGeometry +56 (int (*)(...))__cxa_pure_virtual + +Class QGraphicsLayoutItem + size=16 align=8 + base size=16 base align=8 +QGraphicsLayoutItem (0x0x7fad758f2420) 0 + vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16) + +Vtable for QGraphicsLayout +QGraphicsLayout::_ZTV15QGraphicsLayout: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsLayout) +16 0 +24 0 +32 (int (*)(...))QGraphicsLayoutItem::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))QGraphicsLayout::invalidate +72 (int (*)(...))QGraphicsLayout::widgetEvent +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual + +Class QGraphicsLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsLayout (0x0x7fad703e9f08) 0 + vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16) + QGraphicsLayoutItem (0x0x7fad758f2ae0) 0 + primary-for QGraphicsLayout (0x0x7fad703e9f08) + +Class QGraphicsAnchor::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsAnchor::QPrivateSignal (0x0x7fad758f2de0) 0 empty + +Vtable for QGraphicsAnchor +QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsAnchor) +16 (int (*)(...))QGraphicsAnchor::metaObject +24 (int (*)(...))QGraphicsAnchor::qt_metacast +32 (int (*)(...))QGraphicsAnchor::qt_metacall +40 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor +48 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QGraphicsAnchor + size=16 align=8 + base size=16 base align=8 +QGraphicsAnchor (0x0x7fad703e9f70) 0 + vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16) + QObject (0x0x7fad758f2d80) 0 + primary-for QGraphicsAnchor (0x0x7fad703e9f70) + +Vtable for QGraphicsAnchorLayout +QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout) +16 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout +24 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout +32 (int (*)(...))QGraphicsAnchorLayout::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))QGraphicsAnchorLayout::sizeHint +64 (int (*)(...))QGraphicsAnchorLayout::invalidate +72 (int (*)(...))QGraphicsLayout::widgetEvent +80 (int (*)(...))QGraphicsAnchorLayout::count +88 (int (*)(...))QGraphicsAnchorLayout::itemAt +96 (int (*)(...))QGraphicsAnchorLayout::removeAt + +Class QGraphicsAnchorLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsAnchorLayout (0x0x7fad6f9fb000) 0 + vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16) + QGraphicsLayout (0x0x7fad6f9fb068) 0 + primary-for QGraphicsAnchorLayout (0x0x7fad6f9fb000) + QGraphicsLayoutItem (0x0x7fad6fa1b000) 0 + primary-for QGraphicsLayout (0x0x7fad6f9fb068) + +Class QGraphicsEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsEffect::QPrivateSignal (0x0x7fad6fa1b180) 0 empty + +Vtable for QGraphicsEffect +QGraphicsEffect::_ZTV15QGraphicsEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsEffect) +16 (int (*)(...))QGraphicsEffect::metaObject +24 (int (*)(...))QGraphicsEffect::qt_metacast +32 (int (*)(...))QGraphicsEffect::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsEffect::boundingRectFor +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsEffect (0x0x7fad6f9fb0d0) 0 + vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16) + QObject (0x0x7fad6fa1b120) 0 + primary-for QGraphicsEffect (0x0x7fad6f9fb0d0) + +Class QGraphicsColorizeEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsColorizeEffect::QPrivateSignal (0x0x7fad6fa1bb40) 0 empty + +Vtable for QGraphicsColorizeEffect +QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect) +16 (int (*)(...))QGraphicsColorizeEffect::metaObject +24 (int (*)(...))QGraphicsColorizeEffect::qt_metacast +32 (int (*)(...))QGraphicsColorizeEffect::qt_metacall +40 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect +48 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsEffect::boundingRectFor +120 (int (*)(...))QGraphicsColorizeEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsColorizeEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsColorizeEffect (0x0x7fad6f9fb208) 0 + vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16) + QGraphicsEffect (0x0x7fad6f9fb270) 0 + primary-for QGraphicsColorizeEffect (0x0x7fad6f9fb208) + QObject (0x0x7fad6fa1bae0) 0 + primary-for QGraphicsEffect (0x0x7fad6f9fb270) + +Class QGraphicsBlurEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsBlurEffect::QPrivateSignal (0x0x7fad6fa1bd80) 0 empty + +Vtable for QGraphicsBlurEffect +QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect) +16 (int (*)(...))QGraphicsBlurEffect::metaObject +24 (int (*)(...))QGraphicsBlurEffect::qt_metacast +32 (int (*)(...))QGraphicsBlurEffect::qt_metacall +40 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect +48 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsBlurEffect::boundingRectFor +120 (int (*)(...))QGraphicsBlurEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsBlurEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsBlurEffect (0x0x7fad6f9fb2d8) 0 + vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16) + QGraphicsEffect (0x0x7fad6f9fb340) 0 + primary-for QGraphicsBlurEffect (0x0x7fad6f9fb2d8) + QObject (0x0x7fad6fa1bd20) 0 + primary-for QGraphicsEffect (0x0x7fad6f9fb340) + +Class QGraphicsDropShadowEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsDropShadowEffect::QPrivateSignal (0x0x7fad6ab2c840) 0 empty + +Vtable for QGraphicsDropShadowEffect +QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect) +16 (int (*)(...))QGraphicsDropShadowEffect::metaObject +24 (int (*)(...))QGraphicsDropShadowEffect::qt_metacast +32 (int (*)(...))QGraphicsDropShadowEffect::qt_metacall +40 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect +48 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsDropShadowEffect::boundingRectFor +120 (int (*)(...))QGraphicsDropShadowEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsDropShadowEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsDropShadowEffect (0x0x7fad6f9fb478) 0 + vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16) + QGraphicsEffect (0x0x7fad6f9fb4e0) 0 + primary-for QGraphicsDropShadowEffect (0x0x7fad6f9fb478) + QObject (0x0x7fad6ab2c7e0) 0 + primary-for QGraphicsEffect (0x0x7fad6f9fb4e0) + +Class QGraphicsOpacityEffect::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsOpacityEffect::QPrivateSignal (0x0x7fad6ab2ccc0) 0 empty + +Vtable for QGraphicsOpacityEffect +QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect) +16 (int (*)(...))QGraphicsOpacityEffect::metaObject +24 (int (*)(...))QGraphicsOpacityEffect::qt_metacast +32 (int (*)(...))QGraphicsOpacityEffect::qt_metacall +40 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect +48 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsEffect::boundingRectFor +120 (int (*)(...))QGraphicsOpacityEffect::draw +128 (int (*)(...))QGraphicsEffect::sourceChanged + +Class QGraphicsOpacityEffect + size=16 align=8 + base size=16 base align=8 +QGraphicsOpacityEffect (0x0x7fad6f9fb548) 0 + vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16) + QGraphicsEffect (0x0x7fad6f9fb5b0) 0 + primary-for QGraphicsOpacityEffect (0x0x7fad6f9fb548) + QObject (0x0x7fad6ab2cc60) 0 + primary-for QGraphicsEffect (0x0x7fad6f9fb5b0) + +Vtable for QGraphicsGridLayout +QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsGridLayout) +16 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout +24 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout +32 (int (*)(...))QGraphicsGridLayout::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))QGraphicsGridLayout::sizeHint +64 (int (*)(...))QGraphicsGridLayout::invalidate +72 (int (*)(...))QGraphicsLayout::widgetEvent +80 (int (*)(...))QGraphicsGridLayout::count +88 (int (*)(...))QGraphicsGridLayout::itemAt +96 (int (*)(...))QGraphicsGridLayout::removeAt + +Class QGraphicsGridLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsGridLayout (0x0x7fad6f9fb618) 0 + vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16) + QGraphicsLayout (0x0x7fad6f9fb680) 0 + primary-for QGraphicsGridLayout (0x0x7fad6f9fb618) + QGraphicsLayoutItem (0x0x7fad6ab2cea0) 0 + primary-for QGraphicsLayout (0x0x7fad6f9fb680) + +Class QGraphicsItemAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsItemAnimation::QPrivateSignal (0x0x7fad69d320c0) 0 empty + +Vtable for QGraphicsItemAnimation +QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation) +16 (int (*)(...))QGraphicsItemAnimation::metaObject +24 (int (*)(...))QGraphicsItemAnimation::qt_metacast +32 (int (*)(...))QGraphicsItemAnimation::qt_metacall +40 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation +48 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsItemAnimation::beforeAnimationStep +120 (int (*)(...))QGraphicsItemAnimation::afterAnimationStep + +Class QGraphicsItemAnimation + size=24 align=8 + base size=24 base align=8 +QGraphicsItemAnimation (0x0x7fad6f9fb7b8) 0 + vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16) + QObject (0x0x7fad69d32060) 0 + primary-for QGraphicsItemAnimation (0x0x7fad6f9fb7b8) + +Vtable for QGraphicsLinearLayout +QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout) +16 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout +24 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout +32 (int (*)(...))QGraphicsLinearLayout::setGeometry +40 (int (*)(...))QGraphicsLayout::getContentsMargins +48 (int (*)(...))QGraphicsLayout::updateGeometry +56 (int (*)(...))QGraphicsLinearLayout::sizeHint +64 (int (*)(...))QGraphicsLinearLayout::invalidate +72 (int (*)(...))QGraphicsLayout::widgetEvent +80 (int (*)(...))QGraphicsLinearLayout::count +88 (int (*)(...))QGraphicsLinearLayout::itemAt +96 (int (*)(...))QGraphicsLinearLayout::removeAt + +Class QGraphicsLinearLayout + size=16 align=8 + base size=16 base align=8 +QGraphicsLinearLayout (0x0x7fad6f9fb820) 0 + vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16) + QGraphicsLayout (0x0x7fad6f9fb888) 0 + primary-for QGraphicsLinearLayout (0x0x7fad6f9fb820) + QGraphicsLayoutItem (0x0x7fad69d321e0) 0 + primary-for QGraphicsLayout (0x0x7fad6f9fb888) + +Class QGraphicsWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsWidget::QPrivateSignal (0x0x7fad69d324e0) 0 empty + +Vtable for QGraphicsWidget +QGraphicsWidget::_ZTV15QGraphicsWidget: 92 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QGraphicsWidget) +16 (int (*)(...))QGraphicsWidget::metaObject +24 (int (*)(...))QGraphicsWidget::qt_metacast +32 (int (*)(...))QGraphicsWidget::qt_metacall +40 (int (*)(...))QGraphicsWidget::~QGraphicsWidget +48 (int (*)(...))QGraphicsWidget::~QGraphicsWidget +56 (int (*)(...))QGraphicsWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsWidget::setGeometry +120 (int (*)(...))QGraphicsWidget::getContentsMargins +128 (int (*)(...))QGraphicsWidget::type +136 (int (*)(...))QGraphicsWidget::paint +144 (int (*)(...))QGraphicsWidget::paintWindowFrame +152 (int (*)(...))QGraphicsWidget::boundingRect +160 (int (*)(...))QGraphicsWidget::shape +168 (int (*)(...))QGraphicsWidget::initStyleOption +176 (int (*)(...))QGraphicsWidget::sizeHint +184 (int (*)(...))QGraphicsWidget::updateGeometry +192 (int (*)(...))QGraphicsWidget::itemChange +200 (int (*)(...))QGraphicsWidget::propertyChange +208 (int (*)(...))QGraphicsWidget::sceneEvent +216 (int (*)(...))QGraphicsWidget::windowFrameEvent +224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt +232 (int (*)(...))QGraphicsWidget::changeEvent +240 (int (*)(...))QGraphicsWidget::closeEvent +248 (int (*)(...))QGraphicsWidget::focusInEvent +256 (int (*)(...))QGraphicsWidget::focusNextPrevChild +264 (int (*)(...))QGraphicsWidget::focusOutEvent +272 (int (*)(...))QGraphicsWidget::hideEvent +280 (int (*)(...))QGraphicsWidget::moveEvent +288 (int (*)(...))QGraphicsWidget::polishEvent +296 (int (*)(...))QGraphicsWidget::resizeEvent +304 (int (*)(...))QGraphicsWidget::showEvent +312 (int (*)(...))QGraphicsWidget::hoverMoveEvent +320 (int (*)(...))QGraphicsWidget::hoverLeaveEvent +328 (int (*)(...))QGraphicsWidget::grabMouseEvent +336 (int (*)(...))QGraphicsWidget::ungrabMouseEvent +344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent +352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent +360 (int (*)(...))-16 +368 (int (*)(...))(& _ZTI15QGraphicsWidget) +376 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev +384 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev +392 (int (*)(...))QGraphicsItem::advance +400 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv +408 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv +416 (int (*)(...))QGraphicsItem::contains +424 (int (*)(...))QGraphicsItem::collidesWithItem +432 (int (*)(...))QGraphicsItem::collidesWithPath +440 (int (*)(...))QGraphicsItem::isObscuredBy +448 (int (*)(...))QGraphicsItem::opaqueArea +456 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget +464 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv +472 (int (*)(...))QGraphicsItem::sceneEventFilter +480 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent +488 (int (*)(...))QGraphicsItem::contextMenuEvent +496 (int (*)(...))QGraphicsItem::dragEnterEvent +504 (int (*)(...))QGraphicsItem::dragLeaveEvent +512 (int (*)(...))QGraphicsItem::dragMoveEvent +520 (int (*)(...))QGraphicsItem::dropEvent +528 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent +536 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent +544 (int (*)(...))QGraphicsItem::hoverEnterEvent +552 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent +560 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent +568 (int (*)(...))QGraphicsItem::keyPressEvent +576 (int (*)(...))QGraphicsItem::keyReleaseEvent +584 (int (*)(...))QGraphicsItem::mousePressEvent +592 (int (*)(...))QGraphicsItem::mouseMoveEvent +600 (int (*)(...))QGraphicsItem::mouseReleaseEvent +608 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent +616 (int (*)(...))QGraphicsItem::wheelEvent +624 (int (*)(...))QGraphicsItem::inputMethodEvent +632 (int (*)(...))QGraphicsItem::inputMethodQuery +640 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant +648 (int (*)(...))QGraphicsItem::supportsExtension +656 (int (*)(...))QGraphicsItem::setExtension +664 (int (*)(...))QGraphicsItem::extension +672 (int (*)(...))-32 +680 (int (*)(...))(& _ZTI15QGraphicsWidget) +688 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev +696 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev +704 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF +712 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_ +720 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv +728 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF + +Class QGraphicsWidget + size=48 align=8 + base size=48 base align=8 +QGraphicsWidget (0x0x7fad71bcf930) 0 + vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16) + QGraphicsObject (0x0x7fad71bcf9a0) 0 + primary-for QGraphicsWidget (0x0x7fad71bcf930) + QObject (0x0x7fad69d323c0) 0 + primary-for QGraphicsObject (0x0x7fad71bcf9a0) + QGraphicsItem (0x0x7fad69d32420) 16 + vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376) + QGraphicsLayoutItem (0x0x7fad69d32480) 32 + vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688) + +Class QGraphicsProxyWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsProxyWidget::QPrivateSignal (0x0x7fad69d329c0) 0 empty + +Vtable for QGraphicsProxyWidget +QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 107 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget) +16 (int (*)(...))QGraphicsProxyWidget::metaObject +24 (int (*)(...))QGraphicsProxyWidget::qt_metacast +32 (int (*)(...))QGraphicsProxyWidget::qt_metacall +40 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget +48 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget +56 (int (*)(...))QGraphicsProxyWidget::event +64 (int (*)(...))QGraphicsProxyWidget::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsProxyWidget::setGeometry +120 (int (*)(...))QGraphicsWidget::getContentsMargins +128 (int (*)(...))QGraphicsProxyWidget::type +136 (int (*)(...))QGraphicsProxyWidget::paint +144 (int (*)(...))QGraphicsWidget::paintWindowFrame +152 (int (*)(...))QGraphicsWidget::boundingRect +160 (int (*)(...))QGraphicsWidget::shape +168 (int (*)(...))QGraphicsWidget::initStyleOption +176 (int (*)(...))QGraphicsProxyWidget::sizeHint +184 (int (*)(...))QGraphicsWidget::updateGeometry +192 (int (*)(...))QGraphicsProxyWidget::itemChange +200 (int (*)(...))QGraphicsWidget::propertyChange +208 (int (*)(...))QGraphicsWidget::sceneEvent +216 (int (*)(...))QGraphicsWidget::windowFrameEvent +224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt +232 (int (*)(...))QGraphicsWidget::changeEvent +240 (int (*)(...))QGraphicsWidget::closeEvent +248 (int (*)(...))QGraphicsProxyWidget::focusInEvent +256 (int (*)(...))QGraphicsProxyWidget::focusNextPrevChild +264 (int (*)(...))QGraphicsProxyWidget::focusOutEvent +272 (int (*)(...))QGraphicsProxyWidget::hideEvent +280 (int (*)(...))QGraphicsWidget::moveEvent +288 (int (*)(...))QGraphicsWidget::polishEvent +296 (int (*)(...))QGraphicsProxyWidget::resizeEvent +304 (int (*)(...))QGraphicsProxyWidget::showEvent +312 (int (*)(...))QGraphicsProxyWidget::hoverMoveEvent +320 (int (*)(...))QGraphicsProxyWidget::hoverLeaveEvent +328 (int (*)(...))QGraphicsProxyWidget::grabMouseEvent +336 (int (*)(...))QGraphicsProxyWidget::ungrabMouseEvent +344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent +352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent +360 (int (*)(...))QGraphicsProxyWidget::contextMenuEvent +368 (int (*)(...))QGraphicsProxyWidget::dragEnterEvent +376 (int (*)(...))QGraphicsProxyWidget::dragLeaveEvent +384 (int (*)(...))QGraphicsProxyWidget::dragMoveEvent +392 (int (*)(...))QGraphicsProxyWidget::dropEvent +400 (int (*)(...))QGraphicsProxyWidget::hoverEnterEvent +408 (int (*)(...))QGraphicsProxyWidget::mouseMoveEvent +416 (int (*)(...))QGraphicsProxyWidget::mousePressEvent +424 (int (*)(...))QGraphicsProxyWidget::mouseReleaseEvent +432 (int (*)(...))QGraphicsProxyWidget::mouseDoubleClickEvent +440 (int (*)(...))QGraphicsProxyWidget::wheelEvent +448 (int (*)(...))QGraphicsProxyWidget::keyPressEvent +456 (int (*)(...))QGraphicsProxyWidget::keyReleaseEvent +464 (int (*)(...))QGraphicsProxyWidget::inputMethodQuery +472 (int (*)(...))QGraphicsProxyWidget::inputMethodEvent +480 (int (*)(...))-16 +488 (int (*)(...))(& _ZTI20QGraphicsProxyWidget) +496 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev +504 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev +512 (int (*)(...))QGraphicsItem::advance +520 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv +528 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv +536 (int (*)(...))QGraphicsItem::contains +544 (int (*)(...))QGraphicsItem::collidesWithItem +552 (int (*)(...))QGraphicsItem::collidesWithPath +560 (int (*)(...))QGraphicsItem::isObscuredBy +568 (int (*)(...))QGraphicsItem::opaqueArea +576 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget +584 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv +592 (int (*)(...))QGraphicsItem::sceneEventFilter +600 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent +608 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent +616 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent +624 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent +632 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent +640 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent +648 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent +656 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent +664 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent +672 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent +680 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent +688 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent +696 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent +704 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent +712 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent +720 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent +728 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent +736 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent +744 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16inputMethodEventEP17QInputMethodEvent +752 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget16inputMethodQueryEN2Qt16InputMethodQueryE +760 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant +768 (int (*)(...))QGraphicsItem::supportsExtension +776 (int (*)(...))QGraphicsItem::setExtension +784 (int (*)(...))QGraphicsItem::extension +792 (int (*)(...))-32 +800 (int (*)(...))(& _ZTI20QGraphicsProxyWidget) +808 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev +816 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev +824 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF +832 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_ +840 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv +848 (int (*)(...))QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF + +Class QGraphicsProxyWidget + size=48 align=8 + base size=48 base align=8 +QGraphicsProxyWidget (0x0x7fad6f9fb9c0) 0 + vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16) + QGraphicsWidget (0x0x7fad71bcfd20) 0 + primary-for QGraphicsProxyWidget (0x0x7fad6f9fb9c0) + QGraphicsObject (0x0x7fad71bcfd90) 0 + primary-for QGraphicsWidget (0x0x7fad71bcfd20) + QObject (0x0x7fad69d328a0) 0 + primary-for QGraphicsObject (0x0x7fad71bcfd90) + QGraphicsItem (0x0x7fad69d32900) 16 + vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 496) + QGraphicsLayoutItem (0x0x7fad69d32960) 32 + vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 808) + +Class QGraphicsScene::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsScene::QPrivateSignal (0x0x7fad69d32d80) 0 empty + +Vtable for QGraphicsScene +QGraphicsScene::_ZTV14QGraphicsScene: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QGraphicsScene) +16 (int (*)(...))QGraphicsScene::metaObject +24 (int (*)(...))QGraphicsScene::qt_metacast +32 (int (*)(...))QGraphicsScene::qt_metacall +40 (int (*)(...))QGraphicsScene::~QGraphicsScene +48 (int (*)(...))QGraphicsScene::~QGraphicsScene +56 (int (*)(...))QGraphicsScene::event +64 (int (*)(...))QGraphicsScene::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsScene::inputMethodQuery +120 (int (*)(...))QGraphicsScene::contextMenuEvent +128 (int (*)(...))QGraphicsScene::dragEnterEvent +136 (int (*)(...))QGraphicsScene::dragMoveEvent +144 (int (*)(...))QGraphicsScene::dragLeaveEvent +152 (int (*)(...))QGraphicsScene::dropEvent +160 (int (*)(...))QGraphicsScene::focusInEvent +168 (int (*)(...))QGraphicsScene::focusOutEvent +176 (int (*)(...))QGraphicsScene::helpEvent +184 (int (*)(...))QGraphicsScene::keyPressEvent +192 (int (*)(...))QGraphicsScene::keyReleaseEvent +200 (int (*)(...))QGraphicsScene::mousePressEvent +208 (int (*)(...))QGraphicsScene::mouseMoveEvent +216 (int (*)(...))QGraphicsScene::mouseReleaseEvent +224 (int (*)(...))QGraphicsScene::mouseDoubleClickEvent +232 (int (*)(...))QGraphicsScene::wheelEvent +240 (int (*)(...))QGraphicsScene::inputMethodEvent +248 (int (*)(...))QGraphicsScene::drawBackground +256 (int (*)(...))QGraphicsScene::drawForeground +264 (int (*)(...))QGraphicsScene::drawItems + +Class QGraphicsScene + size=16 align=8 + base size=16 base align=8 +QGraphicsScene (0x0x7fad6f9fbbc8) 0 + vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16) + QObject (0x0x7fad69d32d20) 0 + primary-for QGraphicsScene (0x0x7fad6f9fbbc8) + +Vtable for QGraphicsSceneEvent +QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent) +16 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent +24 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent + +Class QGraphicsSceneEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneEvent (0x0x7fad6f9fbd68) 0 + vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16) + QEvent (0x0x7fad68a70c60) 0 + primary-for QGraphicsSceneEvent (0x0x7fad6f9fbd68) + +Vtable for QGraphicsSceneMouseEvent +QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent) +16 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent +24 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent + +Class QGraphicsSceneMouseEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneMouseEvent (0x0x7fad6f9fbdd0) 0 + vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16) + QGraphicsSceneEvent (0x0x7fad6f9fbe38) 0 + primary-for QGraphicsSceneMouseEvent (0x0x7fad6f9fbdd0) + QEvent (0x0x7fad68a70e40) 0 + primary-for QGraphicsSceneEvent (0x0x7fad6f9fbe38) + +Vtable for QGraphicsSceneWheelEvent +QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent) +16 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent +24 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent + +Class QGraphicsSceneWheelEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneWheelEvent (0x0x7fad6f9fbea0) 0 + vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16) + QGraphicsSceneEvent (0x0x7fad6f9fbf08) 0 + primary-for QGraphicsSceneWheelEvent (0x0x7fad6f9fbea0) + QEvent (0x0x7fad68a70f60) 0 + primary-for QGraphicsSceneEvent (0x0x7fad6f9fbf08) + +Vtable for QGraphicsSceneContextMenuEvent +QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent) +16 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent +24 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent + +Class QGraphicsSceneContextMenuEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneContextMenuEvent (0x0x7fad6f9fbf70) 0 + vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16) + QGraphicsSceneEvent (0x0x7fad6c347000) 0 + primary-for QGraphicsSceneContextMenuEvent (0x0x7fad6f9fbf70) + QEvent (0x0x7fad6c7350c0) 0 + primary-for QGraphicsSceneEvent (0x0x7fad6c347000) + +Vtable for QGraphicsSceneHoverEvent +QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent) +16 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent +24 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent + +Class QGraphicsSceneHoverEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneHoverEvent (0x0x7fad6c347068) 0 + vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16) + QGraphicsSceneEvent (0x0x7fad6c3470d0) 0 + primary-for QGraphicsSceneHoverEvent (0x0x7fad6c347068) + QEvent (0x0x7fad6c7351e0) 0 + primary-for QGraphicsSceneEvent (0x0x7fad6c3470d0) + +Vtable for QGraphicsSceneHelpEvent +QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent) +16 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent +24 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent + +Class QGraphicsSceneHelpEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneHelpEvent (0x0x7fad6c347138) 0 + vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16) + QGraphicsSceneEvent (0x0x7fad6c3471a0) 0 + primary-for QGraphicsSceneHelpEvent (0x0x7fad6c347138) + QEvent (0x0x7fad6c735300) 0 + primary-for QGraphicsSceneEvent (0x0x7fad6c3471a0) + +Vtable for QGraphicsSceneDragDropEvent +QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent) +16 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent +24 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent + +Class QGraphicsSceneDragDropEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneDragDropEvent (0x0x7fad6c347208) 0 + vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16) + QGraphicsSceneEvent (0x0x7fad6c347270) 0 + primary-for QGraphicsSceneDragDropEvent (0x0x7fad6c347208) + QEvent (0x0x7fad6c735420) 0 + primary-for QGraphicsSceneEvent (0x0x7fad6c347270) + +Vtable for QGraphicsSceneResizeEvent +QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent) +16 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent +24 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent + +Class QGraphicsSceneResizeEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneResizeEvent (0x0x7fad6c3472d8) 0 + vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16) + QGraphicsSceneEvent (0x0x7fad6c347340) 0 + primary-for QGraphicsSceneResizeEvent (0x0x7fad6c3472d8) + QEvent (0x0x7fad6c735540) 0 + primary-for QGraphicsSceneEvent (0x0x7fad6c347340) + +Vtable for QGraphicsSceneMoveEvent +QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent) +16 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent +24 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent + +Class QGraphicsSceneMoveEvent + size=32 align=8 + base size=32 base align=8 +QGraphicsSceneMoveEvent (0x0x7fad6c3473a8) 0 + vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16) + QGraphicsSceneEvent (0x0x7fad6c347410) 0 + primary-for QGraphicsSceneMoveEvent (0x0x7fad6c3473a8) + QEvent (0x0x7fad6c735660) 0 + primary-for QGraphicsSceneEvent (0x0x7fad6c347410) + +Class QGraphicsTransform::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsTransform::QPrivateSignal (0x0x7fad6c7357e0) 0 empty + +Vtable for QGraphicsTransform +QGraphicsTransform::_ZTV18QGraphicsTransform: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QGraphicsTransform) +16 (int (*)(...))QGraphicsTransform::metaObject +24 (int (*)(...))QGraphicsTransform::qt_metacast +32 (int (*)(...))QGraphicsTransform::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QGraphicsTransform + size=16 align=8 + base size=16 base align=8 +QGraphicsTransform (0x0x7fad6c347478) 0 + vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16) + QObject (0x0x7fad6c735780) 0 + primary-for QGraphicsTransform (0x0x7fad6c347478) + +Class QGraphicsScale::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsScale::QPrivateSignal (0x0x7fad6c735a20) 0 empty + +Vtable for QGraphicsScale +QGraphicsScale::_ZTV14QGraphicsScale: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QGraphicsScale) +16 (int (*)(...))QGraphicsScale::metaObject +24 (int (*)(...))QGraphicsScale::qt_metacast +32 (int (*)(...))QGraphicsScale::qt_metacall +40 (int (*)(...))QGraphicsScale::~QGraphicsScale +48 (int (*)(...))QGraphicsScale::~QGraphicsScale +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsScale::applyTo + +Class QGraphicsScale + size=16 align=8 + base size=16 base align=8 +QGraphicsScale (0x0x7fad6c3474e0) 0 + vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16) + QGraphicsTransform (0x0x7fad6c347548) 0 + primary-for QGraphicsScale (0x0x7fad6c3474e0) + QObject (0x0x7fad6c7359c0) 0 + primary-for QGraphicsTransform (0x0x7fad6c347548) + +Class QGraphicsRotation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsRotation::QPrivateSignal (0x0x7fad6c735c60) 0 empty + +Vtable for QGraphicsRotation +QGraphicsRotation::_ZTV17QGraphicsRotation: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QGraphicsRotation) +16 (int (*)(...))QGraphicsRotation::metaObject +24 (int (*)(...))QGraphicsRotation::qt_metacast +32 (int (*)(...))QGraphicsRotation::qt_metacall +40 (int (*)(...))QGraphicsRotation::~QGraphicsRotation +48 (int (*)(...))QGraphicsRotation::~QGraphicsRotation +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QGraphicsRotation::applyTo + +Class QGraphicsRotation + size=16 align=8 + base size=16 base align=8 +QGraphicsRotation (0x0x7fad6c3475b0) 0 + vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16) + QGraphicsTransform (0x0x7fad6c347618) 0 + primary-for QGraphicsRotation (0x0x7fad6c3475b0) + QObject (0x0x7fad6c735c00) 0 + primary-for QGraphicsTransform (0x0x7fad6c347618) + +Class QScrollArea::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScrollArea::QPrivateSignal (0x0x7fad6c735f00) 0 empty + +Vtable for QScrollArea +QScrollArea::_ZTV11QScrollArea: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QScrollArea) +16 (int (*)(...))QScrollArea::metaObject +24 (int (*)(...))QScrollArea::qt_metacast +32 (int (*)(...))QScrollArea::qt_metacall +40 (int (*)(...))QScrollArea::~QScrollArea +48 (int (*)(...))QScrollArea::~QScrollArea +56 (int (*)(...))QScrollArea::event +64 (int (*)(...))QScrollArea::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractScrollArea::mousePressEvent +176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent +184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent +192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractScrollArea::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractScrollArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QScrollArea::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractScrollArea::dragEnterEvent +320 (int (*)(...))QAbstractScrollArea::dragMoveEvent +328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent +336 (int (*)(...))QAbstractScrollArea::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QScrollArea::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QScrollArea::scrollContentsBy +456 (int (*)(...))QScrollArea::viewportSizeHint +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI11QScrollArea) +480 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD1Ev +488 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QScrollArea + size=48 align=8 + base size=48 base align=8 +QScrollArea (0x0x7fad6c347680) 0 + vptr=((& QScrollArea::_ZTV11QScrollArea) + 16) + QAbstractScrollArea (0x0x7fad6c3476e8) 0 + primary-for QScrollArea (0x0x7fad6c347680) + QFrame (0x0x7fad6c347750) 0 + primary-for QAbstractScrollArea (0x0x7fad6c3476e8) + QWidget (0x0x7fad71cbe540) 0 + primary-for QFrame (0x0x7fad6c347750) + QObject (0x0x7fad6c735e40) 0 + primary-for QWidget (0x0x7fad71cbe540) + QPaintDevice (0x0x7fad6c735ea0) 16 + vptr=((& QScrollArea::_ZTV11QScrollArea) + 480) + +Class QGraphicsView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGraphicsView::QPrivateSignal (0x0x7fad70e4b1e0) 0 empty + +Vtable for QGraphicsView +QGraphicsView::_ZTV13QGraphicsView: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QGraphicsView) +16 (int (*)(...))QGraphicsView::metaObject +24 (int (*)(...))QGraphicsView::qt_metacast +32 (int (*)(...))QGraphicsView::qt_metacall +40 (int (*)(...))QGraphicsView::~QGraphicsView +48 (int (*)(...))QGraphicsView::~QGraphicsView +56 (int (*)(...))QGraphicsView::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QGraphicsView::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QGraphicsView::mousePressEvent +176 (int (*)(...))QGraphicsView::mouseReleaseEvent +184 (int (*)(...))QGraphicsView::mouseDoubleClickEvent +192 (int (*)(...))QGraphicsView::mouseMoveEvent +200 (int (*)(...))QGraphicsView::wheelEvent +208 (int (*)(...))QGraphicsView::keyPressEvent +216 (int (*)(...))QGraphicsView::keyReleaseEvent +224 (int (*)(...))QGraphicsView::focusInEvent +232 (int (*)(...))QGraphicsView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QGraphicsView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QGraphicsView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QGraphicsView::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QGraphicsView::dragEnterEvent +320 (int (*)(...))QGraphicsView::dragMoveEvent +328 (int (*)(...))QGraphicsView::dragLeaveEvent +336 (int (*)(...))QGraphicsView::dropEvent +344 (int (*)(...))QGraphicsView::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QGraphicsView::inputMethodEvent +416 (int (*)(...))QGraphicsView::inputMethodQuery +424 (int (*)(...))QGraphicsView::focusNextPrevChild +432 (int (*)(...))QGraphicsView::setupViewport +440 (int (*)(...))QGraphicsView::viewportEvent +448 (int (*)(...))QGraphicsView::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))QGraphicsView::drawBackground +472 (int (*)(...))QGraphicsView::drawForeground +480 (int (*)(...))QGraphicsView::drawItems +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI13QGraphicsView) +504 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev +512 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QGraphicsView + size=48 align=8 + base size=48 base align=8 +QGraphicsView (0x0x7fad6c3477b8) 0 + vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16) + QAbstractScrollArea (0x0x7fad6c347820) 0 + primary-for QGraphicsView (0x0x7fad6c3477b8) + QFrame (0x0x7fad6c347888) 0 + primary-for QAbstractScrollArea (0x0x7fad6c347820) + QWidget (0x0x7fad71cbe690) 0 + primary-for QFrame (0x0x7fad6c347888) + QObject (0x0x7fad70e4b120) 0 + primary-for QWidget (0x0x7fad71cbe690) + QPaintDevice (0x0x7fad70e4b180) 16 + vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504) + +Class QGroupBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QGroupBox::QPrivateSignal (0x0x7fad708068a0) 0 empty + +Vtable for QGroupBox +QGroupBox::_ZTV9QGroupBox: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QGroupBox) +16 (int (*)(...))QGroupBox::metaObject +24 (int (*)(...))QGroupBox::qt_metacast +32 (int (*)(...))QGroupBox::qt_metacall +40 (int (*)(...))QGroupBox::~QGroupBox +48 (int (*)(...))QGroupBox::~QGroupBox +56 (int (*)(...))QGroupBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QGroupBox::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QGroupBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QGroupBox::mousePressEvent +176 (int (*)(...))QGroupBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QGroupBox::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QGroupBox::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QGroupBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QGroupBox::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QGroupBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI9QGroupBox) +448 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD1Ev +456 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QGroupBox + size=48 align=8 + base size=48 base align=8 +QGroupBox (0x0x7fad6c347a90) 0 + vptr=((& QGroupBox::_ZTV9QGroupBox) + 16) + QWidget (0x0x7fad71d261c0) 0 + primary-for QGroupBox (0x0x7fad6c347a90) + QObject (0x0x7fad708067e0) 0 + primary-for QWidget (0x0x7fad71d261c0) + QPaintDevice (0x0x7fad70806840) 16 + vptr=((& QGroupBox::_ZTV9QGroupBox) + 448) + +Class QHeaderView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHeaderView::QPrivateSignal (0x0x7fad70806b40) 0 empty + +Vtable for QHeaderView +QHeaderView::_ZTV11QHeaderView: 108 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QHeaderView) +16 (int (*)(...))QHeaderView::metaObject +24 (int (*)(...))QHeaderView::qt_metacast +32 (int (*)(...))QHeaderView::qt_metacall +40 (int (*)(...))QHeaderView::~QHeaderView +48 (int (*)(...))QHeaderView::~QHeaderView +56 (int (*)(...))QHeaderView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QAbstractItemView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QHeaderView::setVisible +128 (int (*)(...))QHeaderView::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QHeaderView::mousePressEvent +176 (int (*)(...))QHeaderView::mouseReleaseEvent +184 (int (*)(...))QHeaderView::mouseDoubleClickEvent +192 (int (*)(...))QHeaderView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QHeaderView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QHeaderView::viewportEvent +448 (int (*)(...))QHeaderView::scrollContentsBy +456 (int (*)(...))QAbstractItemView::viewportSizeHint +464 (int (*)(...))QHeaderView::setModel +472 (int (*)(...))QAbstractItemView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QHeaderView::visualRect +496 (int (*)(...))QHeaderView::scrollTo +504 (int (*)(...))QHeaderView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QHeaderView::reset +536 (int (*)(...))QAbstractItemView::setRootIndex +544 (int (*)(...))QHeaderView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QHeaderView::dataChanged +568 (int (*)(...))QHeaderView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QAbstractItemView::selectionChanged +592 (int (*)(...))QHeaderView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QHeaderView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QHeaderView::moveCursor +688 (int (*)(...))QHeaderView::horizontalOffset +696 (int (*)(...))QHeaderView::verticalOffset +704 (int (*)(...))QHeaderView::isIndexHidden +712 (int (*)(...))QHeaderView::setSelection +720 (int (*)(...))QHeaderView::visualRegionForSelection +728 (int (*)(...))QAbstractItemView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))QHeaderView::paintSection +776 (int (*)(...))QHeaderView::sectionSizeFromContents +784 (int (*)(...))-16 +792 (int (*)(...))(& _ZTI11QHeaderView) +800 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD1Ev +808 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD0Ev +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QHeaderView + size=48 align=8 + base size=48 base align=8 +QHeaderView (0x0x7fad6c347af8) 0 + vptr=((& QHeaderView::_ZTV11QHeaderView) + 16) + QAbstractItemView (0x0x7fad6c347b60) 0 + primary-for QHeaderView (0x0x7fad6c347af8) + QAbstractScrollArea (0x0x7fad6c347bc8) 0 + primary-for QAbstractItemView (0x0x7fad6c347b60) + QFrame (0x0x7fad6c347c30) 0 + primary-for QAbstractScrollArea (0x0x7fad6c347bc8) + QWidget (0x0x7fad71d26230) 0 + primary-for QFrame (0x0x7fad6c347c30) + QObject (0x0x7fad70806a80) 0 + primary-for QWidget (0x0x7fad71d26230) + QPaintDevice (0x0x7fad70806ae0) 16 + vptr=((& QHeaderView::_ZTV11QHeaderView) + 800) + +Class QLineEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLineEdit::QPrivateSignal (0x0x7fad6e399540) 0 empty + +Vtable for QLineEdit +QLineEdit::_ZTV9QLineEdit: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QLineEdit) +16 (int (*)(...))QLineEdit::metaObject +24 (int (*)(...))QLineEdit::qt_metacast +32 (int (*)(...))QLineEdit::qt_metacall +40 (int (*)(...))QLineEdit::~QLineEdit +48 (int (*)(...))QLineEdit::~QLineEdit +56 (int (*)(...))QLineEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QLineEdit::sizeHint +136 (int (*)(...))QLineEdit::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QLineEdit::mousePressEvent +176 (int (*)(...))QLineEdit::mouseReleaseEvent +184 (int (*)(...))QLineEdit::mouseDoubleClickEvent +192 (int (*)(...))QLineEdit::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QLineEdit::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QLineEdit::focusInEvent +232 (int (*)(...))QLineEdit::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QLineEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QLineEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QLineEdit::dragEnterEvent +320 (int (*)(...))QLineEdit::dragMoveEvent +328 (int (*)(...))QLineEdit::dragLeaveEvent +336 (int (*)(...))QLineEdit::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QLineEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QLineEdit::inputMethodEvent +416 (int (*)(...))QLineEdit::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI9QLineEdit) +448 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD1Ev +456 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QLineEdit + size=48 align=8 + base size=48 base align=8 +QLineEdit (0x0x7fad6e39c1a0) 0 + vptr=((& QLineEdit::_ZTV9QLineEdit) + 16) + QWidget (0x0x7fad71d26af0) 0 + primary-for QLineEdit (0x0x7fad6e39c1a0) + QObject (0x0x7fad6e399480) 0 + primary-for QWidget (0x0x7fad71d26af0) + QPaintDevice (0x0x7fad6e3994e0) 16 + vptr=((& QLineEdit::_ZTV9QLineEdit) + 448) + +Class QInputDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QInputDialog::QPrivateSignal (0x0x7fad6e399960) 0 empty + +Vtable for QInputDialog +QInputDialog::_ZTV12QInputDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QInputDialog) +16 (int (*)(...))QInputDialog::metaObject +24 (int (*)(...))QInputDialog::qt_metacast +32 (int (*)(...))QInputDialog::qt_metacall +40 (int (*)(...))QInputDialog::~QInputDialog +48 (int (*)(...))QInputDialog::~QInputDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QInputDialog::setVisible +128 (int (*)(...))QInputDialog::sizeHint +136 (int (*)(...))QInputDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QDialog::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QInputDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI12QInputDialog) +488 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD1Ev +496 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QInputDialog + size=48 align=8 + base size=48 base align=8 +QInputDialog (0x0x7fad6e39c208) 0 + vptr=((& QInputDialog::_ZTV12QInputDialog) + 16) + QDialog (0x0x7fad6e39c270) 0 + primary-for QInputDialog (0x0x7fad6e39c208) + QWidget (0x0x7fad71956310) 0 + primary-for QDialog (0x0x7fad6e39c270) + QObject (0x0x7fad6e3998a0) 0 + primary-for QWidget (0x0x7fad71956310) + QPaintDevice (0x0x7fad6e399900) 16 + vptr=((& QInputDialog::_ZTV12QInputDialog) + 488) + +Class QItemDelegate::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QItemDelegate::QPrivateSignal (0x0x7fad6bce02a0) 0 empty + +Vtable for QItemDelegate +QItemDelegate::_ZTV13QItemDelegate: 28 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QItemDelegate) +16 (int (*)(...))QItemDelegate::metaObject +24 (int (*)(...))QItemDelegate::qt_metacast +32 (int (*)(...))QItemDelegate::qt_metacall +40 (int (*)(...))QItemDelegate::~QItemDelegate +48 (int (*)(...))QItemDelegate::~QItemDelegate +56 (int (*)(...))QObject::event +64 (int (*)(...))QItemDelegate::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QItemDelegate::paint +120 (int (*)(...))QItemDelegate::sizeHint +128 (int (*)(...))QItemDelegate::createEditor +136 (int (*)(...))QAbstractItemDelegate::destroyEditor +144 (int (*)(...))QItemDelegate::setEditorData +152 (int (*)(...))QItemDelegate::setModelData +160 (int (*)(...))QItemDelegate::updateEditorGeometry +168 (int (*)(...))QItemDelegate::editorEvent +176 (int (*)(...))QAbstractItemDelegate::helpEvent +184 (int (*)(...))QAbstractItemDelegate::paintingRoles +192 (int (*)(...))QItemDelegate::drawDisplay +200 (int (*)(...))QItemDelegate::drawDecoration +208 (int (*)(...))QItemDelegate::drawFocus +216 (int (*)(...))QItemDelegate::drawCheck + +Class QItemDelegate + size=16 align=8 + base size=16 base align=8 +QItemDelegate (0x0x7fad6e39c3a8) 0 + vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16) + QAbstractItemDelegate (0x0x7fad6e39c410) 0 + primary-for QItemDelegate (0x0x7fad6e39c3a8) + QObject (0x0x7fad6bce0240) 0 + primary-for QAbstractItemDelegate (0x0x7fad6e39c410) + +Vtable for QItemEditorCreatorBase +QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual + +Class QItemEditorCreatorBase + size=8 align=8 + base size=8 base align=8 +QItemEditorCreatorBase (0x0x7fad6bce0480) 0 nearly-empty + vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16) + +Vtable for QItemEditorFactory +QItemEditorFactory::_ZTV18QItemEditorFactory: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QItemEditorFactory) +16 (int (*)(...))QItemEditorFactory::~QItemEditorFactory +24 (int (*)(...))QItemEditorFactory::~QItemEditorFactory +32 (int (*)(...))QItemEditorFactory::createEditor +40 (int (*)(...))QItemEditorFactory::valuePropertyName + +Class QItemEditorFactory + size=16 align=8 + base size=16 base align=8 +QItemEditorFactory (0x0x7fad6bce07e0) 0 + vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16) + +Class QKeyEventTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QKeyEventTransition::QPrivateSignal (0x0x7fad6bce0ae0) 0 empty + +Vtable for QKeyEventTransition +QKeyEventTransition::_ZTV19QKeyEventTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QKeyEventTransition) +16 (int (*)(...))QKeyEventTransition::metaObject +24 (int (*)(...))QKeyEventTransition::qt_metacast +32 (int (*)(...))QKeyEventTransition::qt_metacall +40 (int (*)(...))QKeyEventTransition::~QKeyEventTransition +48 (int (*)(...))QKeyEventTransition::~QKeyEventTransition +56 (int (*)(...))QEventTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QKeyEventTransition::eventTest +120 (int (*)(...))QKeyEventTransition::onTransition + +Class QKeyEventTransition + size=16 align=8 + base size=16 base align=8 +QKeyEventTransition (0x0x7fad6e39c548) 0 + vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16) + QEventTransition (0x0x7fad6e39c5b0) 0 + primary-for QKeyEventTransition (0x0x7fad6e39c548) + QAbstractTransition (0x0x7fad6e39c618) 0 + primary-for QEventTransition (0x0x7fad6e39c5b0) + QObject (0x0x7fad6bce0a80) 0 + primary-for QAbstractTransition (0x0x7fad6e39c618) + +Class QKeySequenceEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QKeySequenceEdit::QPrivateSignal (0x0x7fad6bce0d80) 0 empty + +Vtable for QKeySequenceEdit +QKeySequenceEdit::_ZTV16QKeySequenceEdit: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QKeySequenceEdit) +16 (int (*)(...))QKeySequenceEdit::metaObject +24 (int (*)(...))QKeySequenceEdit::qt_metacast +32 (int (*)(...))QKeySequenceEdit::qt_metacall +40 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit +48 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit +56 (int (*)(...))QKeySequenceEdit::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QKeySequenceEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QKeySequenceEdit::keyPressEvent +216 (int (*)(...))QKeySequenceEdit::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI16QKeySequenceEdit) +448 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD1Ev +456 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QKeySequenceEdit + size=48 align=8 + base size=48 base align=8 +QKeySequenceEdit (0x0x7fad6e39c680) 0 + vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 16) + QWidget (0x0x7fad719c8620) 0 + primary-for QKeySequenceEdit (0x0x7fad6e39c680) + QObject (0x0x7fad6bce0cc0) 0 + primary-for QWidget (0x0x7fad719c8620) + QPaintDevice (0x0x7fad6bce0d20) 16 + vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 448) + +Class QLabel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLabel::QPrivateSignal (0x0x7fad6ba85060) 0 empty + +Vtable for QLabel +QLabel::_ZTV6QLabel: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QLabel) +16 (int (*)(...))QLabel::metaObject +24 (int (*)(...))QLabel::qt_metacast +32 (int (*)(...))QLabel::qt_metacall +40 (int (*)(...))QLabel::~QLabel +48 (int (*)(...))QLabel::~QLabel +56 (int (*)(...))QLabel::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QLabel::sizeHint +136 (int (*)(...))QLabel::minimumSizeHint +144 (int (*)(...))QLabel::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QLabel::mousePressEvent +176 (int (*)(...))QLabel::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QLabel::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QLabel::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QLabel::focusInEvent +232 (int (*)(...))QLabel::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QLabel::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QLabel::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QLabel::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QLabel::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI6QLabel) +448 (int (*)(...))QLabel::_ZThn16_N6QLabelD1Ev +456 (int (*)(...))QLabel::_ZThn16_N6QLabelD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QLabel + size=48 align=8 + base size=48 base align=8 +QLabel (0x0x7fad6e39c6e8) 0 + vptr=((& QLabel::_ZTV6QLabel) + 16) + QFrame (0x0x7fad6e39c750) 0 + primary-for QLabel (0x0x7fad6e39c6e8) + QWidget (0x0x7fad719c87e0) 0 + primary-for QFrame (0x0x7fad6e39c750) + QObject (0x0x7fad6bce0f60) 0 + primary-for QWidget (0x0x7fad719c87e0) + QPaintDevice (0x0x7fad6ba85000) 16 + vptr=((& QLabel::_ZTV6QLabel) + 448) + +Class QLCDNumber::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLCDNumber::QPrivateSignal (0x0x7fad6ba85300) 0 empty + +Vtable for QLCDNumber +QLCDNumber::_ZTV10QLCDNumber: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QLCDNumber) +16 (int (*)(...))QLCDNumber::metaObject +24 (int (*)(...))QLCDNumber::qt_metacast +32 (int (*)(...))QLCDNumber::qt_metacall +40 (int (*)(...))QLCDNumber::~QLCDNumber +48 (int (*)(...))QLCDNumber::~QLCDNumber +56 (int (*)(...))QLCDNumber::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QLCDNumber::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QLCDNumber::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI10QLCDNumber) +448 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD1Ev +456 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QLCDNumber + size=48 align=8 + base size=48 base align=8 +QLCDNumber (0x0x7fad6e39c7b8) 0 + vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16) + QFrame (0x0x7fad6e39c820) 0 + primary-for QLCDNumber (0x0x7fad6e39c7b8) + QWidget (0x0x7fad719c8af0) 0 + primary-for QFrame (0x0x7fad6e39c820) + QObject (0x0x7fad6ba85240) 0 + primary-for QWidget (0x0x7fad719c8af0) + QPaintDevice (0x0x7fad6ba852a0) 16 + vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 448) + +Class QListView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QListView::QPrivateSignal (0x0x7fad6ba85720) 0 empty + +Vtable for QListView +QListView::_ZTV9QListView: 106 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QListView) +16 (int (*)(...))QListView::metaObject +24 (int (*)(...))QListView::qt_metacast +32 (int (*)(...))QListView::qt_metacall +40 (int (*)(...))QListView::~QListView +48 (int (*)(...))QListView::~QListView +56 (int (*)(...))QListView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QListView::scrollContentsBy +456 (int (*)(...))QListView::viewportSizeHint +464 (int (*)(...))QAbstractItemView::setModel +472 (int (*)(...))QAbstractItemView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QListView::visualRect +496 (int (*)(...))QListView::scrollTo +504 (int (*)(...))QListView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QListView::reset +536 (int (*)(...))QListView::setRootIndex +544 (int (*)(...))QListView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QListView::dataChanged +568 (int (*)(...))QListView::rowsInserted +576 (int (*)(...))QListView::rowsAboutToBeRemoved +584 (int (*)(...))QListView::selectionChanged +592 (int (*)(...))QListView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QListView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QListView::moveCursor +688 (int (*)(...))QListView::horizontalOffset +696 (int (*)(...))QListView::verticalOffset +704 (int (*)(...))QListView::isIndexHidden +712 (int (*)(...))QListView::setSelection +720 (int (*)(...))QListView::visualRegionForSelection +728 (int (*)(...))QListView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QListView::startDrag +760 (int (*)(...))QListView::viewOptions +768 (int (*)(...))-16 +776 (int (*)(...))(& _ZTI9QListView) +784 (int (*)(...))QListView::_ZThn16_N9QListViewD1Ev +792 (int (*)(...))QListView::_ZThn16_N9QListViewD0Ev +800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QListView + size=48 align=8 + base size=48 base align=8 +QListView (0x0x7fad6e39c888) 0 + vptr=((& QListView::_ZTV9QListView) + 16) + QAbstractItemView (0x0x7fad6e39c8f0) 0 + primary-for QListView (0x0x7fad6e39c888) + QAbstractScrollArea (0x0x7fad6e39c958) 0 + primary-for QAbstractItemView (0x0x7fad6e39c8f0) + QFrame (0x0x7fad6e39c9c0) 0 + primary-for QAbstractScrollArea (0x0x7fad6e39c958) + QWidget (0x0x7fad719c8f50) 0 + primary-for QFrame (0x0x7fad6e39c9c0) + QObject (0x0x7fad6ba85660) 0 + primary-for QWidget (0x0x7fad719c8f50) + QPaintDevice (0x0x7fad6ba856c0) 16 + vptr=((& QListView::_ZTV9QListView) + 784) + +Vtable for QListWidgetItem +QListWidgetItem::_ZTV15QListWidgetItem: 11 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QListWidgetItem) +16 (int (*)(...))QListWidgetItem::~QListWidgetItem +24 (int (*)(...))QListWidgetItem::~QListWidgetItem +32 (int (*)(...))QListWidgetItem::clone +40 (int (*)(...))QListWidgetItem::setBackgroundColor +48 (int (*)(...))QListWidgetItem::data +56 (int (*)(...))QListWidgetItem::setData +64 (int (*)(...))QListWidgetItem::operator< +72 (int (*)(...))QListWidgetItem::read +80 (int (*)(...))QListWidgetItem::write + +Class QListWidgetItem + size=48 align=8 + base size=44 base align=8 +QListWidgetItem (0x0x7fad6ba85cc0) 0 + vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16) + +Class QListWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QListWidget::QPrivateSignal (0x0x7fad6a776a20) 0 empty + +Vtable for QListWidget +QListWidget::_ZTV11QListWidget: 110 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QListWidget) +16 (int (*)(...))QListWidget::metaObject +24 (int (*)(...))QListWidget::qt_metacast +32 (int (*)(...))QListWidget::qt_metacall +40 (int (*)(...))QListWidget::~QListWidget +48 (int (*)(...))QListWidget::~QListWidget +56 (int (*)(...))QListWidget::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QListView::scrollContentsBy +456 (int (*)(...))QListView::viewportSizeHint +464 (int (*)(...))QListWidget::setModel +472 (int (*)(...))QListWidget::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QListView::visualRect +496 (int (*)(...))QListView::scrollTo +504 (int (*)(...))QListView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QListView::reset +536 (int (*)(...))QListView::setRootIndex +544 (int (*)(...))QListView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QListView::dataChanged +568 (int (*)(...))QListView::rowsInserted +576 (int (*)(...))QListView::rowsAboutToBeRemoved +584 (int (*)(...))QListView::selectionChanged +592 (int (*)(...))QListView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QListView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QListView::moveCursor +688 (int (*)(...))QListView::horizontalOffset +696 (int (*)(...))QListView::verticalOffset +704 (int (*)(...))QListView::isIndexHidden +712 (int (*)(...))QListView::setSelection +720 (int (*)(...))QListView::visualRegionForSelection +728 (int (*)(...))QListView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QListView::startDrag +760 (int (*)(...))QListView::viewOptions +768 (int (*)(...))QListWidget::mimeTypes +776 (int (*)(...))QListWidget::mimeData +784 (int (*)(...))QListWidget::dropMimeData +792 (int (*)(...))QListWidget::supportedDropActions +800 (int (*)(...))-16 +808 (int (*)(...))(& _ZTI11QListWidget) +816 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD1Ev +824 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD0Ev +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QListWidget + size=48 align=8 + base size=48 base align=8 +QListWidget (0x0x7fad6e39caf8) 0 + vptr=((& QListWidget::_ZTV11QListWidget) + 16) + QListView (0x0x7fad6e39cb60) 0 + primary-for QListWidget (0x0x7fad6e39caf8) + QAbstractItemView (0x0x7fad6e39cbc8) 0 + primary-for QListView (0x0x7fad6e39cb60) + QAbstractScrollArea (0x0x7fad6e39cc30) 0 + primary-for QAbstractItemView (0x0x7fad6e39cbc8) + QFrame (0x0x7fad6e39cc98) 0 + primary-for QAbstractScrollArea (0x0x7fad6e39cc30) + QWidget (0x0x7fad71a087e0) 0 + primary-for QFrame (0x0x7fad6e39cc98) + QObject (0x0x7fad6a776960) 0 + primary-for QWidget (0x0x7fad71a087e0) + QPaintDevice (0x0x7fad6a7769c0) 16 + vptr=((& QListWidget::_ZTV11QListWidget) + 816) + +Class QMainWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMainWindow::QPrivateSignal (0x0x7fad6a776f60) 0 empty + +Vtable for QMainWindow +QMainWindow::_ZTV11QMainWindow: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QMainWindow) +16 (int (*)(...))QMainWindow::metaObject +24 (int (*)(...))QMainWindow::qt_metacast +32 (int (*)(...))QMainWindow::qt_metacall +40 (int (*)(...))QMainWindow::~QMainWindow +48 (int (*)(...))QMainWindow::~QMainWindow +56 (int (*)(...))QMainWindow::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QMainWindow::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QMainWindow::createPopupMenu +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI11QMainWindow) +456 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD1Ev +464 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMainWindow + size=48 align=8 + base size=48 base align=8 +QMainWindow (0x0x7fad6e39cd00) 0 + vptr=((& QMainWindow::_ZTV11QMainWindow) + 16) + QWidget (0x0x7fad71a08a80) 0 + primary-for QMainWindow (0x0x7fad6e39cd00) + QObject (0x0x7fad6a776ea0) 0 + primary-for QWidget (0x0x7fad71a08a80) + QPaintDevice (0x0x7fad6a776f00) 16 + vptr=((& QMainWindow::_ZTV11QMainWindow) + 456) + +Class QMdiArea::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMdiArea::QPrivateSignal (0x0x7fad69d38a80) 0 empty + +Vtable for QMdiArea +QMdiArea::_ZTV8QMdiArea: 68 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QMdiArea) +16 (int (*)(...))QMdiArea::metaObject +24 (int (*)(...))QMdiArea::qt_metacast +32 (int (*)(...))QMdiArea::qt_metacall +40 (int (*)(...))QMdiArea::~QMdiArea +48 (int (*)(...))QMdiArea::~QMdiArea +56 (int (*)(...))QMdiArea::event +64 (int (*)(...))QMdiArea::eventFilter +72 (int (*)(...))QMdiArea::timerEvent +80 (int (*)(...))QMdiArea::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QMdiArea::sizeHint +136 (int (*)(...))QMdiArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractScrollArea::mousePressEvent +176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent +184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent +192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractScrollArea::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QMdiArea::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QMdiArea::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractScrollArea::dragEnterEvent +320 (int (*)(...))QAbstractScrollArea::dragMoveEvent +328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent +336 (int (*)(...))QAbstractScrollArea::dropEvent +344 (int (*)(...))QMdiArea::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QMdiArea::setupViewport +440 (int (*)(...))QMdiArea::viewportEvent +448 (int (*)(...))QMdiArea::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))-16 +472 (int (*)(...))(& _ZTI8QMdiArea) +480 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD1Ev +488 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD0Ev +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMdiArea + size=48 align=8 + base size=48 base align=8 +QMdiArea (0x0x7fad6e39ce38) 0 + vptr=((& QMdiArea::_ZTV8QMdiArea) + 16) + QAbstractScrollArea (0x0x7fad6e39cea0) 0 + primary-for QMdiArea (0x0x7fad6e39ce38) + QFrame (0x0x7fad6e39cf08) 0 + primary-for QAbstractScrollArea (0x0x7fad6e39cea0) + QWidget (0x0x7fad71ac40e0) 0 + primary-for QFrame (0x0x7fad6e39cf08) + QObject (0x0x7fad69d389c0) 0 + primary-for QWidget (0x0x7fad71ac40e0) + QPaintDevice (0x0x7fad69d38a20) 16 + vptr=((& QMdiArea::_ZTV8QMdiArea) + 480) + +Class QMdiSubWindow::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMdiSubWindow::QPrivateSignal (0x0x7fad6935f5a0) 0 empty + +Vtable for QMdiSubWindow +QMdiSubWindow::_ZTV13QMdiSubWindow: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QMdiSubWindow) +16 (int (*)(...))QMdiSubWindow::metaObject +24 (int (*)(...))QMdiSubWindow::qt_metacast +32 (int (*)(...))QMdiSubWindow::qt_metacall +40 (int (*)(...))QMdiSubWindow::~QMdiSubWindow +48 (int (*)(...))QMdiSubWindow::~QMdiSubWindow +56 (int (*)(...))QMdiSubWindow::event +64 (int (*)(...))QMdiSubWindow::eventFilter +72 (int (*)(...))QMdiSubWindow::timerEvent +80 (int (*)(...))QMdiSubWindow::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QMdiSubWindow::sizeHint +136 (int (*)(...))QMdiSubWindow::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QMdiSubWindow::mousePressEvent +176 (int (*)(...))QMdiSubWindow::mouseReleaseEvent +184 (int (*)(...))QMdiSubWindow::mouseDoubleClickEvent +192 (int (*)(...))QMdiSubWindow::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QMdiSubWindow::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QMdiSubWindow::focusInEvent +232 (int (*)(...))QMdiSubWindow::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QMdiSubWindow::leaveEvent +256 (int (*)(...))QMdiSubWindow::paintEvent +264 (int (*)(...))QMdiSubWindow::moveEvent +272 (int (*)(...))QMdiSubWindow::resizeEvent +280 (int (*)(...))QMdiSubWindow::closeEvent +288 (int (*)(...))QMdiSubWindow::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QMdiSubWindow::showEvent +352 (int (*)(...))QMdiSubWindow::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMdiSubWindow::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI13QMdiSubWindow) +448 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev +456 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMdiSubWindow + size=48 align=8 + base size=48 base align=8 +QMdiSubWindow (0x0x7fad6988f068) 0 + vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16) + QWidget (0x0x7fad71ac4cb0) 0 + primary-for QMdiSubWindow (0x0x7fad6988f068) + QObject (0x0x7fad6935f4e0) 0 + primary-for QWidget (0x0x7fad71ac4cb0) + QPaintDevice (0x0x7fad6935f540) 16 + vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 448) + +Class QMenu::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMenu::QPrivateSignal (0x0x7fad6935ff60) 0 empty + +Vtable for QMenu +QMenu::_ZTV5QMenu: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QMenu) +16 (int (*)(...))QMenu::metaObject +24 (int (*)(...))QMenu::qt_metacast +32 (int (*)(...))QMenu::qt_metacall +40 (int (*)(...))QMenu::~QMenu +48 (int (*)(...))QMenu::~QMenu +56 (int (*)(...))QMenu::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QMenu::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QMenu::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QMenu::mousePressEvent +176 (int (*)(...))QMenu::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QMenu::mouseMoveEvent +200 (int (*)(...))QMenu::wheelEvent +208 (int (*)(...))QMenu::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QMenu::enterEvent +248 (int (*)(...))QMenu::leaveEvent +256 (int (*)(...))QMenu::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QMenu::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QMenu::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMenu::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QMenu::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI5QMenu) +448 (int (*)(...))QMenu::_ZThn16_N5QMenuD1Ev +456 (int (*)(...))QMenu::_ZThn16_N5QMenuD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMenu + size=48 align=8 + base size=48 base align=8 +QMenu (0x0x7fad6988f1a0) 0 + vptr=((& QMenu::_ZTV5QMenu) + 16) + QWidget (0x0x7fad717ac700) 0 + primary-for QMenu (0x0x7fad6988f1a0) + QObject (0x0x7fad6935fea0) 0 + primary-for QWidget (0x0x7fad717ac700) + QPaintDevice (0x0x7fad6935ff00) 16 + vptr=((& QMenu::_ZTV5QMenu) + 448) + +Class QMenuBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMenuBar::QPrivateSignal (0x0x7fad6864f3c0) 0 empty + +Vtable for QMenuBar +QMenuBar::_ZTV8QMenuBar: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QMenuBar) +16 (int (*)(...))QMenuBar::metaObject +24 (int (*)(...))QMenuBar::qt_metacast +32 (int (*)(...))QMenuBar::qt_metacall +40 (int (*)(...))QMenuBar::~QMenuBar +48 (int (*)(...))QMenuBar::~QMenuBar +56 (int (*)(...))QMenuBar::event +64 (int (*)(...))QMenuBar::eventFilter +72 (int (*)(...))QMenuBar::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QMenuBar::setVisible +128 (int (*)(...))QMenuBar::sizeHint +136 (int (*)(...))QMenuBar::minimumSizeHint +144 (int (*)(...))QMenuBar::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QMenuBar::mousePressEvent +176 (int (*)(...))QMenuBar::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QMenuBar::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QMenuBar::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QMenuBar::focusInEvent +232 (int (*)(...))QMenuBar::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QMenuBar::leaveEvent +256 (int (*)(...))QMenuBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QMenuBar::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QMenuBar::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMenuBar::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI8QMenuBar) +448 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD1Ev +456 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMenuBar + size=48 align=8 + base size=48 base align=8 +QMenuBar (0x0x7fad6988f208) 0 + vptr=((& QMenuBar::_ZTV8QMenuBar) + 16) + QWidget (0x0x7fad717ac770) 0 + primary-for QMenuBar (0x0x7fad6988f208) + QObject (0x0x7fad6864f300) 0 + primary-for QWidget (0x0x7fad717ac770) + QPaintDevice (0x0x7fad6864f360) 16 + vptr=((& QMenuBar::_ZTV8QMenuBar) + 448) + +Class QMessageBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMessageBox::QPrivateSignal (0x0x7fad6864f720) 0 empty + +Vtable for QMessageBox +QMessageBox::_ZTV11QMessageBox: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QMessageBox) +16 (int (*)(...))QMessageBox::metaObject +24 (int (*)(...))QMessageBox::qt_metacast +32 (int (*)(...))QMessageBox::qt_metacall +40 (int (*)(...))QMessageBox::~QMessageBox +48 (int (*)(...))QMessageBox::~QMessageBox +56 (int (*)(...))QMessageBox::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QMessageBox::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QMessageBox::resizeEvent +280 (int (*)(...))QMessageBox::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QMessageBox::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QMessageBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QMessageBox) +488 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD1Ev +496 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QMessageBox + size=48 align=8 + base size=48 base align=8 +QMessageBox (0x0x7fad6988f270) 0 + vptr=((& QMessageBox::_ZTV11QMessageBox) + 16) + QDialog (0x0x7fad6988f2d8) 0 + primary-for QMessageBox (0x0x7fad6988f270) + QWidget (0x0x7fad717ac930) 0 + primary-for QDialog (0x0x7fad6988f2d8) + QObject (0x0x7fad6864f660) 0 + primary-for QWidget (0x0x7fad717ac930) + QPaintDevice (0x0x7fad6864f6c0) 16 + vptr=((& QMessageBox::_ZTV11QMessageBox) + 488) + +Class QMouseEventTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMouseEventTransition::QPrivateSignal (0x0x7fad6867c360) 0 empty + +Vtable for QMouseEventTransition +QMouseEventTransition::_ZTV21QMouseEventTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QMouseEventTransition) +16 (int (*)(...))QMouseEventTransition::metaObject +24 (int (*)(...))QMouseEventTransition::qt_metacast +32 (int (*)(...))QMouseEventTransition::qt_metacall +40 (int (*)(...))QMouseEventTransition::~QMouseEventTransition +48 (int (*)(...))QMouseEventTransition::~QMouseEventTransition +56 (int (*)(...))QEventTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QMouseEventTransition::eventTest +120 (int (*)(...))QMouseEventTransition::onTransition + +Class QMouseEventTransition + size=16 align=8 + base size=16 base align=8 +QMouseEventTransition (0x0x7fad6988f410) 0 + vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16) + QEventTransition (0x0x7fad6988f478) 0 + primary-for QMouseEventTransition (0x0x7fad6988f410) + QAbstractTransition (0x0x7fad6988f4e0) 0 + primary-for QEventTransition (0x0x7fad6988f478) + QObject (0x0x7fad6867c300) 0 + primary-for QAbstractTransition (0x0x7fad6988f4e0) + +Class QOpenGLWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QOpenGLWidget::QPrivateSignal (0x0x7fad6867c600) 0 empty + +Vtable for QOpenGLWidget +QOpenGLWidget::_ZTV13QOpenGLWidget: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QOpenGLWidget) +16 (int (*)(...))QOpenGLWidget::metaObject +24 (int (*)(...))QOpenGLWidget::qt_metacast +32 (int (*)(...))QOpenGLWidget::qt_metacall +40 (int (*)(...))QOpenGLWidget::~QOpenGLWidget +48 (int (*)(...))QOpenGLWidget::~QOpenGLWidget +56 (int (*)(...))QOpenGLWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QOpenGLWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QOpenGLWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QOpenGLWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QOpenGLWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QOpenGLWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QOpenGLWidget::initializeGL +440 (int (*)(...))QOpenGLWidget::resizeGL +448 (int (*)(...))QOpenGLWidget::paintGL +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI13QOpenGLWidget) +472 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD1Ev +480 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget11paintEngineEv +504 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QOpenGLWidget + size=48 align=8 + base size=48 base align=8 +QOpenGLWidget (0x0x7fad6988f548) 0 + vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 16) + QWidget (0x0x7fad718ea2a0) 0 + primary-for QOpenGLWidget (0x0x7fad6988f548) + QObject (0x0x7fad6867c540) 0 + primary-for QWidget (0x0x7fad718ea2a0) + QPaintDevice (0x0x7fad6867c5a0) 16 + vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 472) + +Class QTextEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextEdit::QPrivateSignal (0x0x7fad6867c8a0) 0 empty + +Class QTextEdit::ExtraSelection + size=24 align=8 + base size=24 base align=8 +QTextEdit::ExtraSelection (0x0x7fad6867c900) 0 + +Vtable for QTextEdit +QTextEdit::_ZTV9QTextEdit: 73 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTextEdit) +16 (int (*)(...))QTextEdit::metaObject +24 (int (*)(...))QTextEdit::qt_metacast +32 (int (*)(...))QTextEdit::qt_metacall +40 (int (*)(...))QTextEdit::~QTextEdit +48 (int (*)(...))QTextEdit::~QTextEdit +56 (int (*)(...))QTextEdit::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QTextEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTextEdit::mousePressEvent +176 (int (*)(...))QTextEdit::mouseReleaseEvent +184 (int (*)(...))QTextEdit::mouseDoubleClickEvent +192 (int (*)(...))QTextEdit::mouseMoveEvent +200 (int (*)(...))QTextEdit::wheelEvent +208 (int (*)(...))QTextEdit::keyPressEvent +216 (int (*)(...))QTextEdit::keyReleaseEvent +224 (int (*)(...))QTextEdit::focusInEvent +232 (int (*)(...))QTextEdit::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTextEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTextEdit::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QTextEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QTextEdit::dragEnterEvent +320 (int (*)(...))QTextEdit::dragMoveEvent +328 (int (*)(...))QTextEdit::dragLeaveEvent +336 (int (*)(...))QTextEdit::dropEvent +344 (int (*)(...))QTextEdit::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTextEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QTextEdit::inputMethodEvent +416 (int (*)(...))QTextEdit::inputMethodQuery +424 (int (*)(...))QTextEdit::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QTextEdit::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))QTextEdit::loadResource +472 (int (*)(...))QTextEdit::createMimeDataFromSelection +480 (int (*)(...))QTextEdit::canInsertFromMimeData +488 (int (*)(...))QTextEdit::insertFromMimeData +496 (int (*)(...))QTextEdit::doSetTextCursor +504 (int (*)(...))-16 +512 (int (*)(...))(& _ZTI9QTextEdit) +520 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD1Ev +528 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD0Ev +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTextEdit + size=48 align=8 + base size=48 base align=8 +QTextEdit (0x0x7fad6988f618) 0 + vptr=((& QTextEdit::_ZTV9QTextEdit) + 16) + QAbstractScrollArea (0x0x7fad6988f680) 0 + primary-for QTextEdit (0x0x7fad6988f618) + QFrame (0x0x7fad6988f6e8) 0 + primary-for QAbstractScrollArea (0x0x7fad6988f680) + QWidget (0x0x7fad71927150) 0 + primary-for QFrame (0x0x7fad6988f6e8) + QObject (0x0x7fad6867c7e0) 0 + primary-for QWidget (0x0x7fad71927150) + QPaintDevice (0x0x7fad6867c840) 16 + vptr=((& QTextEdit::_ZTV9QTextEdit) + 520) + +Class QPlainTextEdit::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPlainTextEdit::QPrivateSignal (0x0x7fad686b35a0) 0 empty + +Vtable for QPlainTextEdit +QPlainTextEdit::_ZTV14QPlainTextEdit: 73 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QPlainTextEdit) +16 (int (*)(...))QPlainTextEdit::metaObject +24 (int (*)(...))QPlainTextEdit::qt_metacast +32 (int (*)(...))QPlainTextEdit::qt_metacall +40 (int (*)(...))QPlainTextEdit::~QPlainTextEdit +48 (int (*)(...))QPlainTextEdit::~QPlainTextEdit +56 (int (*)(...))QPlainTextEdit::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QPlainTextEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QPlainTextEdit::mousePressEvent +176 (int (*)(...))QPlainTextEdit::mouseReleaseEvent +184 (int (*)(...))QPlainTextEdit::mouseDoubleClickEvent +192 (int (*)(...))QPlainTextEdit::mouseMoveEvent +200 (int (*)(...))QPlainTextEdit::wheelEvent +208 (int (*)(...))QPlainTextEdit::keyPressEvent +216 (int (*)(...))QPlainTextEdit::keyReleaseEvent +224 (int (*)(...))QPlainTextEdit::focusInEvent +232 (int (*)(...))QPlainTextEdit::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QPlainTextEdit::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QPlainTextEdit::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QPlainTextEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QPlainTextEdit::dragEnterEvent +320 (int (*)(...))QPlainTextEdit::dragMoveEvent +328 (int (*)(...))QPlainTextEdit::dragLeaveEvent +336 (int (*)(...))QPlainTextEdit::dropEvent +344 (int (*)(...))QPlainTextEdit::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QPlainTextEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QPlainTextEdit::inputMethodEvent +416 (int (*)(...))QPlainTextEdit::inputMethodQuery +424 (int (*)(...))QPlainTextEdit::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QPlainTextEdit::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))QPlainTextEdit::loadResource +472 (int (*)(...))QPlainTextEdit::createMimeDataFromSelection +480 (int (*)(...))QPlainTextEdit::canInsertFromMimeData +488 (int (*)(...))QPlainTextEdit::insertFromMimeData +496 (int (*)(...))QPlainTextEdit::doSetTextCursor +504 (int (*)(...))-16 +512 (int (*)(...))(& _ZTI14QPlainTextEdit) +520 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev +528 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QPlainTextEdit + size=48 align=8 + base size=48 base align=8 +QPlainTextEdit (0x0x7fad6988f820) 0 + vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16) + QAbstractScrollArea (0x0x7fad6988f888) 0 + primary-for QPlainTextEdit (0x0x7fad6988f820) + QFrame (0x0x7fad6988f8f0) 0 + primary-for QAbstractScrollArea (0x0x7fad6988f888) + QWidget (0x0x7fad7156a4d0) 0 + primary-for QFrame (0x0x7fad6988f8f0) + QObject (0x0x7fad686b34e0) 0 + primary-for QWidget (0x0x7fad7156a4d0) + QPaintDevice (0x0x7fad686b3540) 16 + vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 520) + +Class QPlainTextDocumentLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPlainTextDocumentLayout::QPrivateSignal (0x0x7fad686b3b40) 0 empty + +Vtable for QPlainTextDocumentLayout +QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout) +16 (int (*)(...))QPlainTextDocumentLayout::metaObject +24 (int (*)(...))QPlainTextDocumentLayout::qt_metacast +32 (int (*)(...))QPlainTextDocumentLayout::qt_metacall +40 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout +48 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPlainTextDocumentLayout::draw +120 (int (*)(...))QPlainTextDocumentLayout::hitTest +128 (int (*)(...))QPlainTextDocumentLayout::pageCount +136 (int (*)(...))QPlainTextDocumentLayout::documentSize +144 (int (*)(...))QPlainTextDocumentLayout::frameBoundingRect +152 (int (*)(...))QPlainTextDocumentLayout::blockBoundingRect +160 (int (*)(...))QPlainTextDocumentLayout::documentChanged +168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject +176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject +184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject + +Class QPlainTextDocumentLayout + size=16 align=8 + base size=16 base align=8 +QPlainTextDocumentLayout (0x0x7fad6988f958) 0 + vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16) + QAbstractTextDocumentLayout (0x0x7fad6988f9c0) 0 + primary-for QPlainTextDocumentLayout (0x0x7fad6988f958) + QObject (0x0x7fad686b3ae0) 0 + primary-for QAbstractTextDocumentLayout (0x0x7fad6988f9c0) + +Class QProgressBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProgressBar::QPrivateSignal (0x0x7fad686b3de0) 0 empty + +Vtable for QProgressBar +QProgressBar::_ZTV12QProgressBar: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QProgressBar) +16 (int (*)(...))QProgressBar::metaObject +24 (int (*)(...))QProgressBar::qt_metacast +32 (int (*)(...))QProgressBar::qt_metacall +40 (int (*)(...))QProgressBar::~QProgressBar +48 (int (*)(...))QProgressBar::~QProgressBar +56 (int (*)(...))QProgressBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QProgressBar::sizeHint +136 (int (*)(...))QProgressBar::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QProgressBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QProgressBar::text +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI12QProgressBar) +456 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD1Ev +464 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QProgressBar + size=48 align=8 + base size=48 base align=8 +QProgressBar (0x0x7fad6988fa28) 0 + vptr=((& QProgressBar::_ZTV12QProgressBar) + 16) + QWidget (0x0x7fad7156a7e0) 0 + primary-for QProgressBar (0x0x7fad6988fa28) + QObject (0x0x7fad686b3d20) 0 + primary-for QWidget (0x0x7fad7156a7e0) + QPaintDevice (0x0x7fad686b3d80) 16 + vptr=((& QProgressBar::_ZTV12QProgressBar) + 456) + +Class QProgressDialog::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProgressDialog::QPrivateSignal (0x0x7fad686dd180) 0 empty + +Vtable for QProgressDialog +QProgressDialog::_ZTV15QProgressDialog: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QProgressDialog) +16 (int (*)(...))QProgressDialog::metaObject +24 (int (*)(...))QProgressDialog::qt_metacast +32 (int (*)(...))QProgressDialog::qt_metacall +40 (int (*)(...))QProgressDialog::~QProgressDialog +48 (int (*)(...))QProgressDialog::~QProgressDialog +56 (int (*)(...))QWidget::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QDialog::setVisible +128 (int (*)(...))QProgressDialog::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QProgressDialog::resizeEvent +280 (int (*)(...))QProgressDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QProgressDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QProgressDialog::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QDialog::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI15QProgressDialog) +488 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD1Ev +496 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QProgressDialog + size=48 align=8 + base size=48 base align=8 +QProgressDialog (0x0x7fad6988fa90) 0 + vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16) + QDialog (0x0x7fad6988faf8) 0 + primary-for QProgressDialog (0x0x7fad6988fa90) + QWidget (0x0x7fad7156aa10) 0 + primary-for QDialog (0x0x7fad6988faf8) + QObject (0x0x7fad686dd0c0) 0 + primary-for QWidget (0x0x7fad7156aa10) + QPaintDevice (0x0x7fad686dd120) 16 + vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488) + +Class QProxyStyle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProxyStyle::QPrivateSignal (0x0x7fad686dd3c0) 0 empty + +Vtable for QProxyStyle +QProxyStyle::_ZTV11QProxyStyle: 37 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QProxyStyle) +16 (int (*)(...))QProxyStyle::metaObject +24 (int (*)(...))QProxyStyle::qt_metacast +32 (int (*)(...))QProxyStyle::qt_metacall +40 (int (*)(...))QProxyStyle::~QProxyStyle +48 (int (*)(...))QProxyStyle::~QProxyStyle +56 (int (*)(...))QProxyStyle::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QProxyStyle::polish +120 (int (*)(...))QProxyStyle::unpolish +128 (int (*)(...))QProxyStyle::polish +136 (int (*)(...))QProxyStyle::unpolish +144 (int (*)(...))QProxyStyle::polish +152 (int (*)(...))QProxyStyle::itemTextRect +160 (int (*)(...))QProxyStyle::itemPixmapRect +168 (int (*)(...))QProxyStyle::drawItemText +176 (int (*)(...))QProxyStyle::drawItemPixmap +184 (int (*)(...))QProxyStyle::standardPalette +192 (int (*)(...))QProxyStyle::drawPrimitive +200 (int (*)(...))QProxyStyle::drawControl +208 (int (*)(...))QProxyStyle::subElementRect +216 (int (*)(...))QProxyStyle::drawComplexControl +224 (int (*)(...))QProxyStyle::hitTestComplexControl +232 (int (*)(...))QProxyStyle::subControlRect +240 (int (*)(...))QProxyStyle::pixelMetric +248 (int (*)(...))QProxyStyle::sizeFromContents +256 (int (*)(...))QProxyStyle::styleHint +264 (int (*)(...))QProxyStyle::standardPixmap +272 (int (*)(...))QProxyStyle::standardIcon +280 (int (*)(...))QProxyStyle::generatedIconPixmap +288 (int (*)(...))QProxyStyle::layoutSpacing + +Class QProxyStyle + size=16 align=8 + base size=16 base align=8 +QProxyStyle (0x0x7fad6988fb60) 0 + vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16) + QCommonStyle (0x0x7fad6988fbc8) 0 + primary-for QProxyStyle (0x0x7fad6988fb60) + QStyle (0x0x7fad6988fc30) 0 + primary-for QCommonStyle (0x0x7fad6988fbc8) + QObject (0x0x7fad686dd360) 0 + primary-for QStyle (0x0x7fad6988fc30) + +Class QRadioButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QRadioButton::QPrivateSignal (0x0x7fad686dd660) 0 empty + +Vtable for QRadioButton +QRadioButton::_ZTV12QRadioButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QRadioButton) +16 (int (*)(...))QRadioButton::metaObject +24 (int (*)(...))QRadioButton::qt_metacast +32 (int (*)(...))QRadioButton::qt_metacall +40 (int (*)(...))QRadioButton::~QRadioButton +48 (int (*)(...))QRadioButton::~QRadioButton +56 (int (*)(...))QRadioButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QRadioButton::sizeHint +136 (int (*)(...))QRadioButton::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractButton::mousePressEvent +176 (int (*)(...))QAbstractButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QRadioButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QRadioButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QRadioButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QAbstractButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI12QRadioButton) +472 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD1Ev +480 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QRadioButton + size=48 align=8 + base size=48 base align=8 +QRadioButton (0x0x7fad6988fc98) 0 + vptr=((& QRadioButton::_ZTV12QRadioButton) + 16) + QAbstractButton (0x0x7fad6988fd00) 0 + primary-for QRadioButton (0x0x7fad6988fc98) + QWidget (0x0x7fad7156ad20) 0 + primary-for QAbstractButton (0x0x7fad6988fd00) + QObject (0x0x7fad686dd5a0) 0 + primary-for QWidget (0x0x7fad7156ad20) + QPaintDevice (0x0x7fad686dd600) 16 + vptr=((& QRadioButton::_ZTV12QRadioButton) + 472) + +Class QScrollBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScrollBar::QPrivateSignal (0x0x7fad686dd900) 0 empty + +Vtable for QScrollBar +QScrollBar::_ZTV10QScrollBar: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QScrollBar) +16 (int (*)(...))QScrollBar::metaObject +24 (int (*)(...))QScrollBar::qt_metacast +32 (int (*)(...))QScrollBar::qt_metacall +40 (int (*)(...))QScrollBar::~QScrollBar +48 (int (*)(...))QScrollBar::~QScrollBar +56 (int (*)(...))QScrollBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSlider::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QScrollBar::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QScrollBar::mousePressEvent +176 (int (*)(...))QScrollBar::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QScrollBar::mouseMoveEvent +200 (int (*)(...))QScrollBar::wheelEvent +208 (int (*)(...))QAbstractSlider::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QScrollBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QScrollBar::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QScrollBar::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSlider::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QScrollBar::sliderChange +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI10QScrollBar) +456 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD1Ev +464 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QScrollBar + size=48 align=8 + base size=48 base align=8 +QScrollBar (0x0x7fad6988fd68) 0 + vptr=((& QScrollBar::_ZTV10QScrollBar) + 16) + QAbstractSlider (0x0x7fad6988fdd0) 0 + primary-for QScrollBar (0x0x7fad6988fd68) + QWidget (0x0x7fad7156ae70) 0 + primary-for QAbstractSlider (0x0x7fad6988fdd0) + QObject (0x0x7fad686dd840) 0 + primary-for QWidget (0x0x7fad7156ae70) + QPaintDevice (0x0x7fad686dd8a0) 16 + vptr=((& QScrollBar::_ZTV10QScrollBar) + 456) + +Vtable for QScrollerProperties +QScrollerProperties::_ZTV19QScrollerProperties: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QScrollerProperties) +16 (int (*)(...))QScrollerProperties::~QScrollerProperties +24 (int (*)(...))QScrollerProperties::~QScrollerProperties + +Class QScrollerProperties + size=16 align=8 + base size=16 base align=8 +QScrollerProperties (0x0x7fad686ddae0) 0 + vptr=((& QScrollerProperties::_ZTV19QScrollerProperties) + 16) + +Class QScroller::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QScroller::QPrivateSignal (0x0x7fad6870b000) 0 empty + +Vtable for QScroller +QScroller::_ZTV9QScroller: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QScroller) +16 (int (*)(...))QScroller::metaObject +24 (int (*)(...))QScroller::qt_metacast +32 (int (*)(...))QScroller::qt_metacall +40 (int (*)(...))QScroller::~QScroller +48 (int (*)(...))QScroller::~QScroller +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QScroller + size=24 align=8 + base size=24 base align=8 +QScroller (0x0x7fad6988fe38) 0 + vptr=((& QScroller::_ZTV9QScroller) + 16) + QObject (0x0x7fad686ddf60) 0 + primary-for QScroller (0x0x7fad6988fe38) + +Class QShortcut::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QShortcut::QPrivateSignal (0x0x7fad6870b300) 0 empty + +Vtable for QShortcut +QShortcut::_ZTV9QShortcut: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QShortcut) +16 (int (*)(...))QShortcut::metaObject +24 (int (*)(...))QShortcut::qt_metacast +32 (int (*)(...))QShortcut::qt_metacall +40 (int (*)(...))QShortcut::~QShortcut +48 (int (*)(...))QShortcut::~QShortcut +56 (int (*)(...))QShortcut::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QShortcut + size=16 align=8 + base size=16 base align=8 +QShortcut (0x0x7fad6988fea0) 0 + vptr=((& QShortcut::_ZTV9QShortcut) + 16) + QObject (0x0x7fad6870b2a0) 0 + primary-for QShortcut (0x0x7fad6988fea0) + +Class QSizeGrip::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSizeGrip::QPrivateSignal (0x0x7fad6870b600) 0 empty + +Vtable for QSizeGrip +QSizeGrip::_ZTV9QSizeGrip: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSizeGrip) +16 (int (*)(...))QSizeGrip::metaObject +24 (int (*)(...))QSizeGrip::qt_metacast +32 (int (*)(...))QSizeGrip::qt_metacall +40 (int (*)(...))QSizeGrip::~QSizeGrip +48 (int (*)(...))QSizeGrip::~QSizeGrip +56 (int (*)(...))QSizeGrip::event +64 (int (*)(...))QSizeGrip::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QSizeGrip::setVisible +128 (int (*)(...))QSizeGrip::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSizeGrip::mousePressEvent +176 (int (*)(...))QSizeGrip::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QSizeGrip::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QSizeGrip::paintEvent +264 (int (*)(...))QSizeGrip::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QSizeGrip::showEvent +352 (int (*)(...))QSizeGrip::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI9QSizeGrip) +448 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD1Ev +456 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSizeGrip + size=48 align=8 + base size=48 base align=8 +QSizeGrip (0x0x7fad6988ff08) 0 + vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16) + QWidget (0x0x7fad713f2310) 0 + primary-for QSizeGrip (0x0x7fad6988ff08) + QObject (0x0x7fad6870b540) 0 + primary-for QWidget (0x0x7fad713f2310) + QPaintDevice (0x0x7fad6870b5a0) 16 + vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 448) + +Class QSpinBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSpinBox::QPrivateSignal (0x0x7fad6870b8a0) 0 empty + +Vtable for QSpinBox +QSpinBox::_ZTV8QSpinBox: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QSpinBox) +16 (int (*)(...))QSpinBox::metaObject +24 (int (*)(...))QSpinBox::qt_metacast +32 (int (*)(...))QSpinBox::qt_metacall +40 (int (*)(...))QSpinBox::~QSpinBox +48 (int (*)(...))QSpinBox::~QSpinBox +56 (int (*)(...))QSpinBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractSpinBox::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractSpinBox::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QAbstractSpinBox::wheelEvent +208 (int (*)(...))QAbstractSpinBox::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QAbstractSpinBox::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractSpinBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QSpinBox::validate +440 (int (*)(...))QSpinBox::fixup +448 (int (*)(...))QAbstractSpinBox::stepBy +456 (int (*)(...))QAbstractSpinBox::clear +464 (int (*)(...))QAbstractSpinBox::stepEnabled +472 (int (*)(...))QSpinBox::valueFromText +480 (int (*)(...))QSpinBox::textFromValue +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI8QSpinBox) +504 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD1Ev +512 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSpinBox + size=48 align=8 + base size=48 base align=8 +QSpinBox (0x0x7fad6988ff70) 0 + vptr=((& QSpinBox::_ZTV8QSpinBox) + 16) + QAbstractSpinBox (0x0x7fad68723000) 0 + primary-for QSpinBox (0x0x7fad6988ff70) + QWidget (0x0x7fad713f2460) 0 + primary-for QAbstractSpinBox (0x0x7fad68723000) + QObject (0x0x7fad6870b7e0) 0 + primary-for QWidget (0x0x7fad713f2460) + QPaintDevice (0x0x7fad6870b840) 16 + vptr=((& QSpinBox::_ZTV8QSpinBox) + 504) + +Class QDoubleSpinBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDoubleSpinBox::QPrivateSignal (0x0x7fad6870bb40) 0 empty + +Vtable for QDoubleSpinBox +QDoubleSpinBox::_ZTV14QDoubleSpinBox: 71 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QDoubleSpinBox) +16 (int (*)(...))QDoubleSpinBox::metaObject +24 (int (*)(...))QDoubleSpinBox::qt_metacast +32 (int (*)(...))QDoubleSpinBox::qt_metacall +40 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox +48 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox +56 (int (*)(...))QAbstractSpinBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QAbstractSpinBox::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractSpinBox::sizeHint +136 (int (*)(...))QAbstractSpinBox::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractSpinBox::mousePressEvent +176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent +200 (int (*)(...))QAbstractSpinBox::wheelEvent +208 (int (*)(...))QAbstractSpinBox::keyPressEvent +216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent +224 (int (*)(...))QAbstractSpinBox::focusInEvent +232 (int (*)(...))QAbstractSpinBox::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QAbstractSpinBox::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractSpinBox::resizeEvent +280 (int (*)(...))QAbstractSpinBox::closeEvent +288 (int (*)(...))QAbstractSpinBox::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QAbstractSpinBox::showEvent +352 (int (*)(...))QAbstractSpinBox::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QAbstractSpinBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QAbstractSpinBox::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDoubleSpinBox::validate +440 (int (*)(...))QDoubleSpinBox::fixup +448 (int (*)(...))QAbstractSpinBox::stepBy +456 (int (*)(...))QAbstractSpinBox::clear +464 (int (*)(...))QAbstractSpinBox::stepEnabled +472 (int (*)(...))QDoubleSpinBox::valueFromText +480 (int (*)(...))QDoubleSpinBox::textFromValue +488 (int (*)(...))-16 +496 (int (*)(...))(& _ZTI14QDoubleSpinBox) +504 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev +512 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QDoubleSpinBox + size=48 align=8 + base size=48 base align=8 +QDoubleSpinBox (0x0x7fad68723068) 0 + vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16) + QAbstractSpinBox (0x0x7fad687230d0) 0 + primary-for QDoubleSpinBox (0x0x7fad68723068) + QWidget (0x0x7fad713f2620) 0 + primary-for QAbstractSpinBox (0x0x7fad687230d0) + QObject (0x0x7fad6870ba80) 0 + primary-for QWidget (0x0x7fad713f2620) + QPaintDevice (0x0x7fad6870bae0) 16 + vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 504) + +Class QSplashScreen::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSplashScreen::QPrivateSignal (0x0x7fad6870bde0) 0 empty + +Vtable for QSplashScreen +QSplashScreen::_ZTV13QSplashScreen: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSplashScreen) +16 (int (*)(...))QSplashScreen::metaObject +24 (int (*)(...))QSplashScreen::qt_metacast +32 (int (*)(...))QSplashScreen::qt_metacall +40 (int (*)(...))QSplashScreen::~QSplashScreen +48 (int (*)(...))QSplashScreen::~QSplashScreen +56 (int (*)(...))QSplashScreen::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSplashScreen::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QSplashScreen::drawContents +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI13QSplashScreen) +456 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD1Ev +464 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSplashScreen + size=48 align=8 + base size=48 base align=8 +QSplashScreen (0x0x7fad68723138) 0 + vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16) + QWidget (0x0x7fad713f2850) 0 + primary-for QSplashScreen (0x0x7fad68723138) + QObject (0x0x7fad6870bd20) 0 + primary-for QWidget (0x0x7fad713f2850) + QPaintDevice (0x0x7fad6870bd80) 16 + vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 456) + +Class QSplitter::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSplitter::QPrivateSignal (0x0x7fad6873c0c0) 0 empty + +Vtable for QSplitter +QSplitter::_ZTV9QSplitter: 65 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSplitter) +16 (int (*)(...))QSplitter::metaObject +24 (int (*)(...))QSplitter::qt_metacast +32 (int (*)(...))QSplitter::qt_metacall +40 (int (*)(...))QSplitter::~QSplitter +48 (int (*)(...))QSplitter::~QSplitter +56 (int (*)(...))QSplitter::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QSplitter::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QSplitter::sizeHint +136 (int (*)(...))QSplitter::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QSplitter::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QSplitter::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QSplitter::createHandle +440 (int (*)(...))-16 +448 (int (*)(...))(& _ZTI9QSplitter) +456 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD1Ev +464 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD0Ev +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSplitter + size=48 align=8 + base size=48 base align=8 +QSplitter (0x0x7fad687231a0) 0 + vptr=((& QSplitter::_ZTV9QSplitter) + 16) + QFrame (0x0x7fad68723208) 0 + primary-for QSplitter (0x0x7fad687231a0) + QWidget (0x0x7fad713f2a80) 0 + primary-for QFrame (0x0x7fad68723208) + QObject (0x0x7fad6873c000) 0 + primary-for QWidget (0x0x7fad713f2a80) + QPaintDevice (0x0x7fad6873c060) 16 + vptr=((& QSplitter::_ZTV9QSplitter) + 456) + +Class QSplitterHandle::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSplitterHandle::QPrivateSignal (0x0x7fad6873c360) 0 empty + +Vtable for QSplitterHandle +QSplitterHandle::_ZTV15QSplitterHandle: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSplitterHandle) +16 (int (*)(...))QSplitterHandle::metaObject +24 (int (*)(...))QSplitterHandle::qt_metacast +32 (int (*)(...))QSplitterHandle::qt_metacall +40 (int (*)(...))QSplitterHandle::~QSplitterHandle +48 (int (*)(...))QSplitterHandle::~QSplitterHandle +56 (int (*)(...))QSplitterHandle::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QSplitterHandle::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QSplitterHandle::mousePressEvent +176 (int (*)(...))QSplitterHandle::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QSplitterHandle::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QSplitterHandle::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QSplitterHandle::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI15QSplitterHandle) +448 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev +456 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QSplitterHandle + size=48 align=8 + base size=48 base align=8 +QSplitterHandle (0x0x7fad68723270) 0 + vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16) + QWidget (0x0x7fad713f2bd0) 0 + primary-for QSplitterHandle (0x0x7fad68723270) + QObject (0x0x7fad6873c2a0) 0 + primary-for QWidget (0x0x7fad713f2bd0) + QPaintDevice (0x0x7fad6873c300) 16 + vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 448) + +Class QStackedLayout::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStackedLayout::QPrivateSignal (0x0x7fad6873c600) 0 empty + +Vtable for QStackedLayout +QStackedLayout::_ZTV14QStackedLayout: 50 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QStackedLayout) +16 (int (*)(...))QStackedLayout::metaObject +24 (int (*)(...))QStackedLayout::qt_metacast +32 (int (*)(...))QStackedLayout::qt_metacall +40 (int (*)(...))QStackedLayout::~QStackedLayout +48 (int (*)(...))QStackedLayout::~QStackedLayout +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QLayout::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QLayout::invalidate +120 (int (*)(...))QLayout::geometry +128 (int (*)(...))QStackedLayout::addItem +136 (int (*)(...))QLayout::expandingDirections +144 (int (*)(...))QStackedLayout::minimumSize +152 (int (*)(...))QLayout::maximumSize +160 (int (*)(...))QStackedLayout::setGeometry +168 (int (*)(...))QStackedLayout::itemAt +176 (int (*)(...))QStackedLayout::takeAt +184 (int (*)(...))QLayout::indexOf +192 (int (*)(...))QStackedLayout::count +200 (int (*)(...))QLayout::isEmpty +208 (int (*)(...))QLayout::controlTypes +216 (int (*)(...))QLayout::layout +224 (int (*)(...))QStackedLayout::sizeHint +232 (int (*)(...))QStackedLayout::hasHeightForWidth +240 (int (*)(...))QStackedLayout::heightForWidth +248 (int (*)(...))-16 +256 (int (*)(...))(& _ZTI14QStackedLayout) +264 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev +272 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev +280 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv +288 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv +296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv +304 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv +312 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect +320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv +328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv +336 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout17hasHeightForWidthEv +344 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout14heightForWidthEi +352 (int (*)(...))QLayoutItem::minimumHeightForWidth +360 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv +368 (int (*)(...))QLayoutItem::widget +376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv +384 (int (*)(...))QLayoutItem::spacerItem +392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv + +Class QStackedLayout + size=32 align=8 + base size=28 base align=8 +QStackedLayout (0x0x7fad687232d8) 0 + vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16) + QLayout (0x0x7fad713f2d20) 0 + primary-for QStackedLayout (0x0x7fad687232d8) + QObject (0x0x7fad6873c540) 0 + primary-for QLayout (0x0x7fad713f2d20) + QLayoutItem (0x0x7fad6873c5a0) 16 + vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 264) + +Class QStackedWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStackedWidget::QPrivateSignal (0x0x7fad6873c960) 0 empty + +Vtable for QStackedWidget +QStackedWidget::_ZTV14QStackedWidget: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QStackedWidget) +16 (int (*)(...))QStackedWidget::metaObject +24 (int (*)(...))QStackedWidget::qt_metacast +32 (int (*)(...))QStackedWidget::qt_metacall +40 (int (*)(...))QStackedWidget::~QStackedWidget +48 (int (*)(...))QStackedWidget::~QStackedWidget +56 (int (*)(...))QStackedWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFrame::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI14QStackedWidget) +448 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev +456 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QStackedWidget + size=48 align=8 + base size=48 base align=8 +QStackedWidget (0x0x7fad68723340) 0 + vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16) + QFrame (0x0x7fad687233a8) 0 + primary-for QStackedWidget (0x0x7fad68723340) + QWidget (0x0x7fad713f2f50) 0 + primary-for QFrame (0x0x7fad687233a8) + QObject (0x0x7fad6873c8a0) 0 + primary-for QWidget (0x0x7fad713f2f50) + QPaintDevice (0x0x7fad6873c900) 16 + vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 448) + +Class QStatusBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStatusBar::QPrivateSignal (0x0x7fad6873cc00) 0 empty + +Vtable for QStatusBar +QStatusBar::_ZTV10QStatusBar: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QStatusBar) +16 (int (*)(...))QStatusBar::metaObject +24 (int (*)(...))QStatusBar::qt_metacast +32 (int (*)(...))QStatusBar::qt_metacall +40 (int (*)(...))QStatusBar::~QStatusBar +48 (int (*)(...))QStatusBar::~QStatusBar +56 (int (*)(...))QStatusBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QStatusBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QStatusBar::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QStatusBar::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI10QStatusBar) +448 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD1Ev +456 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QStatusBar + size=48 align=8 + base size=48 base align=8 +QStatusBar (0x0x7fad68723410) 0 + vptr=((& QStatusBar::_ZTV10QStatusBar) + 16) + QWidget (0x0x7fad714290e0) 0 + primary-for QStatusBar (0x0x7fad68723410) + QObject (0x0x7fad6873cb40) 0 + primary-for QWidget (0x0x7fad714290e0) + QPaintDevice (0x0x7fad6873cba0) 16 + vptr=((& QStatusBar::_ZTV10QStatusBar) + 448) + +Class QStyledItemDelegate::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStyledItemDelegate::QPrivateSignal (0x0x7fad6873ce40) 0 empty + +Vtable for QStyledItemDelegate +QStyledItemDelegate::_ZTV19QStyledItemDelegate: 26 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QStyledItemDelegate) +16 (int (*)(...))QStyledItemDelegate::metaObject +24 (int (*)(...))QStyledItemDelegate::qt_metacast +32 (int (*)(...))QStyledItemDelegate::qt_metacall +40 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate +48 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate +56 (int (*)(...))QObject::event +64 (int (*)(...))QStyledItemDelegate::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStyledItemDelegate::paint +120 (int (*)(...))QStyledItemDelegate::sizeHint +128 (int (*)(...))QStyledItemDelegate::createEditor +136 (int (*)(...))QAbstractItemDelegate::destroyEditor +144 (int (*)(...))QStyledItemDelegate::setEditorData +152 (int (*)(...))QStyledItemDelegate::setModelData +160 (int (*)(...))QStyledItemDelegate::updateEditorGeometry +168 (int (*)(...))QStyledItemDelegate::editorEvent +176 (int (*)(...))QAbstractItemDelegate::helpEvent +184 (int (*)(...))QAbstractItemDelegate::paintingRoles +192 (int (*)(...))QStyledItemDelegate::displayText +200 (int (*)(...))QStyledItemDelegate::initStyleOption + +Class QStyledItemDelegate + size=16 align=8 + base size=16 base align=8 +QStyledItemDelegate (0x0x7fad68723478) 0 + vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16) + QAbstractItemDelegate (0x0x7fad687234e0) 0 + primary-for QStyledItemDelegate (0x0x7fad68723478) + QObject (0x0x7fad6873cde0) 0 + primary-for QAbstractItemDelegate (0x0x7fad687234e0) + +Class QStyleFactory + size=1 align=1 + base size=0 base align=1 +QStyleFactory (0x0x7fad6876b060) 0 empty + +Class QStylePainter + size=24 align=8 + base size=24 base align=8 +QStylePainter (0x0x7fad68723548) 0 + QPainter (0x0x7fad6876b0c0) 0 + +Class QStylePlugin::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStylePlugin::QPrivateSignal (0x0x7fad6876b960) 0 empty + +Vtable for QStylePlugin +QStylePlugin::_ZTV12QStylePlugin: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QStylePlugin) +16 (int (*)(...))QStylePlugin::metaObject +24 (int (*)(...))QStylePlugin::qt_metacast +32 (int (*)(...))QStylePlugin::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual + +Class QStylePlugin + size=16 align=8 + base size=16 base align=8 +QStylePlugin (0x0x7fad687235b0) 0 + vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16) + QObject (0x0x7fad6876b900) 0 + primary-for QStylePlugin (0x0x7fad687235b0) + +Class QSystemTrayIcon::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSystemTrayIcon::QPrivateSignal (0x0x7fad6876bae0) 0 empty + +Vtable for QSystemTrayIcon +QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSystemTrayIcon) +16 (int (*)(...))QSystemTrayIcon::metaObject +24 (int (*)(...))QSystemTrayIcon::qt_metacast +32 (int (*)(...))QSystemTrayIcon::qt_metacall +40 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon +48 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon +56 (int (*)(...))QSystemTrayIcon::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSystemTrayIcon + size=16 align=8 + base size=16 base align=8 +QSystemTrayIcon (0x0x7fad68723618) 0 + vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16) + QObject (0x0x7fad6876ba80) 0 + primary-for QSystemTrayIcon (0x0x7fad68723618) + +Class QTableView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTableView::QPrivateSignal (0x0x7fad6876be40) 0 empty + +Vtable for QTableView +QTableView::_ZTV10QTableView: 106 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTableView) +16 (int (*)(...))QTableView::metaObject +24 (int (*)(...))QTableView::qt_metacast +32 (int (*)(...))QTableView::qt_metacall +40 (int (*)(...))QTableView::~QTableView +48 (int (*)(...))QTableView::~QTableView +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTableView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTableView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QTableView::scrollContentsBy +456 (int (*)(...))QTableView::viewportSizeHint +464 (int (*)(...))QTableView::setModel +472 (int (*)(...))QTableView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QTableView::visualRect +496 (int (*)(...))QTableView::scrollTo +504 (int (*)(...))QTableView::indexAt +512 (int (*)(...))QTableView::sizeHintForRow +520 (int (*)(...))QTableView::sizeHintForColumn +528 (int (*)(...))QAbstractItemView::reset +536 (int (*)(...))QTableView::setRootIndex +544 (int (*)(...))QTableView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QAbstractItemView::dataChanged +568 (int (*)(...))QAbstractItemView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QTableView::selectionChanged +592 (int (*)(...))QTableView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QTableView::updateGeometries +624 (int (*)(...))QTableView::verticalScrollbarAction +632 (int (*)(...))QTableView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QTableView::moveCursor +688 (int (*)(...))QTableView::horizontalOffset +696 (int (*)(...))QTableView::verticalOffset +704 (int (*)(...))QTableView::isIndexHidden +712 (int (*)(...))QTableView::setSelection +720 (int (*)(...))QTableView::visualRegionForSelection +728 (int (*)(...))QTableView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QTableView::viewOptions +768 (int (*)(...))-16 +776 (int (*)(...))(& _ZTI10QTableView) +784 (int (*)(...))QTableView::_ZThn16_N10QTableViewD1Ev +792 (int (*)(...))QTableView::_ZThn16_N10QTableViewD0Ev +800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTableView + size=48 align=8 + base size=48 base align=8 +QTableView (0x0x7fad68723680) 0 + vptr=((& QTableView::_ZTV10QTableView) + 16) + QAbstractItemView (0x0x7fad687236e8) 0 + primary-for QTableView (0x0x7fad68723680) + QAbstractScrollArea (0x0x7fad68723750) 0 + primary-for QAbstractItemView (0x0x7fad687236e8) + QFrame (0x0x7fad687237b8) 0 + primary-for QAbstractScrollArea (0x0x7fad68723750) + QWidget (0x0x7fad71429f50) 0 + primary-for QFrame (0x0x7fad687237b8) + QObject (0x0x7fad6876bd80) 0 + primary-for QWidget (0x0x7fad71429f50) + QPaintDevice (0x0x7fad6876bde0) 16 + vptr=((& QTableView::_ZTV10QTableView) + 784) + +Class QTableWidgetSelectionRange + size=16 align=4 + base size=16 base align=4 +QTableWidgetSelectionRange (0x0x7fad687920c0) 0 + +Vtable for QTableWidgetItem +QTableWidgetItem::_ZTV16QTableWidgetItem: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QTableWidgetItem) +16 (int (*)(...))QTableWidgetItem::~QTableWidgetItem +24 (int (*)(...))QTableWidgetItem::~QTableWidgetItem +32 (int (*)(...))QTableWidgetItem::clone +40 (int (*)(...))QTableWidgetItem::data +48 (int (*)(...))QTableWidgetItem::setData +56 (int (*)(...))QTableWidgetItem::operator< +64 (int (*)(...))QTableWidgetItem::read +72 (int (*)(...))QTableWidgetItem::write + +Class QTableWidgetItem + size=48 align=8 + base size=44 base align=8 +QTableWidgetItem (0x0x7fad68792360) 0 + vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16) + +Class QTableWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTableWidget::QPrivateSignal (0x0x7fad687bd0c0) 0 empty + +Vtable for QTableWidget +QTableWidget::_ZTV12QTableWidget: 110 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QTableWidget) +16 (int (*)(...))QTableWidget::metaObject +24 (int (*)(...))QTableWidget::qt_metacast +32 (int (*)(...))QTableWidget::qt_metacall +40 (int (*)(...))QTableWidget::~QTableWidget +48 (int (*)(...))QTableWidget::~QTableWidget +56 (int (*)(...))QTableWidget::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTableView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QAbstractItemView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QAbstractItemView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTableView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QAbstractItemView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QTableWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QTableView::scrollContentsBy +456 (int (*)(...))QTableView::viewportSizeHint +464 (int (*)(...))QTableWidget::setModel +472 (int (*)(...))QTableView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QTableView::visualRect +496 (int (*)(...))QTableView::scrollTo +504 (int (*)(...))QTableView::indexAt +512 (int (*)(...))QTableView::sizeHintForRow +520 (int (*)(...))QTableView::sizeHintForColumn +528 (int (*)(...))QAbstractItemView::reset +536 (int (*)(...))QTableView::setRootIndex +544 (int (*)(...))QTableView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QAbstractItemView::dataChanged +568 (int (*)(...))QAbstractItemView::rowsInserted +576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved +584 (int (*)(...))QTableView::selectionChanged +592 (int (*)(...))QTableView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QTableView::updateGeometries +624 (int (*)(...))QTableView::verticalScrollbarAction +632 (int (*)(...))QTableView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QTableView::moveCursor +688 (int (*)(...))QTableView::horizontalOffset +696 (int (*)(...))QTableView::verticalOffset +704 (int (*)(...))QTableView::isIndexHidden +712 (int (*)(...))QTableView::setSelection +720 (int (*)(...))QTableView::visualRegionForSelection +728 (int (*)(...))QTableView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QTableView::viewOptions +768 (int (*)(...))QTableWidget::mimeTypes +776 (int (*)(...))QTableWidget::mimeData +784 (int (*)(...))QTableWidget::dropMimeData +792 (int (*)(...))QTableWidget::supportedDropActions +800 (int (*)(...))-16 +808 (int (*)(...))(& _ZTI12QTableWidget) +816 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD1Ev +824 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD0Ev +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTableWidget + size=48 align=8 + base size=48 base align=8 +QTableWidget (0x0x7fad687238f0) 0 + vptr=((& QTableWidget::_ZTV12QTableWidget) + 16) + QTableView (0x0x7fad68723958) 0 + primary-for QTableWidget (0x0x7fad687238f0) + QAbstractItemView (0x0x7fad687239c0) 0 + primary-for QTableView (0x0x7fad68723958) + QAbstractScrollArea (0x0x7fad68723a28) 0 + primary-for QAbstractItemView (0x0x7fad687239c0) + QFrame (0x0x7fad68723a90) 0 + primary-for QAbstractScrollArea (0x0x7fad68723a28) + QWidget (0x0x7fad714af380) 0 + primary-for QFrame (0x0x7fad68723a90) + QObject (0x0x7fad687bd000) 0 + primary-for QWidget (0x0x7fad714af380) + QPaintDevice (0x0x7fad687bd060) 16 + vptr=((& QTableWidget::_ZTV12QTableWidget) + 816) + +Class QTextBrowser::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTextBrowser::QPrivateSignal (0x0x7fad687bd4e0) 0 empty + +Vtable for QTextBrowser +QTextBrowser::_ZTV12QTextBrowser: 78 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QTextBrowser) +16 (int (*)(...))QTextBrowser::metaObject +24 (int (*)(...))QTextBrowser::qt_metacast +32 (int (*)(...))QTextBrowser::qt_metacall +40 (int (*)(...))QTextBrowser::~QTextBrowser +48 (int (*)(...))QTextBrowser::~QTextBrowser +56 (int (*)(...))QTextBrowser::event +64 (int (*)(...))QAbstractScrollArea::eventFilter +72 (int (*)(...))QTextEdit::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTextBrowser::mousePressEvent +176 (int (*)(...))QTextBrowser::mouseReleaseEvent +184 (int (*)(...))QTextEdit::mouseDoubleClickEvent +192 (int (*)(...))QTextBrowser::mouseMoveEvent +200 (int (*)(...))QTextEdit::wheelEvent +208 (int (*)(...))QTextBrowser::keyPressEvent +216 (int (*)(...))QTextEdit::keyReleaseEvent +224 (int (*)(...))QTextEdit::focusInEvent +232 (int (*)(...))QTextBrowser::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTextBrowser::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QTextEdit::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QTextEdit::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QTextEdit::dragEnterEvent +320 (int (*)(...))QTextEdit::dragMoveEvent +328 (int (*)(...))QTextEdit::dragLeaveEvent +336 (int (*)(...))QTextEdit::dropEvent +344 (int (*)(...))QTextEdit::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QTextEdit::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QTextEdit::inputMethodEvent +416 (int (*)(...))QTextEdit::inputMethodQuery +424 (int (*)(...))QTextBrowser::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractScrollArea::viewportEvent +448 (int (*)(...))QTextEdit::scrollContentsBy +456 (int (*)(...))QAbstractScrollArea::viewportSizeHint +464 (int (*)(...))QTextBrowser::loadResource +472 (int (*)(...))QTextEdit::createMimeDataFromSelection +480 (int (*)(...))QTextEdit::canInsertFromMimeData +488 (int (*)(...))QTextEdit::insertFromMimeData +496 (int (*)(...))QTextEdit::doSetTextCursor +504 (int (*)(...))QTextBrowser::setSource +512 (int (*)(...))QTextBrowser::backward +520 (int (*)(...))QTextBrowser::forward +528 (int (*)(...))QTextBrowser::home +536 (int (*)(...))QTextBrowser::reload +544 (int (*)(...))-16 +552 (int (*)(...))(& _ZTI12QTextBrowser) +560 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD1Ev +568 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD0Ev +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +584 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +592 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +600 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +608 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +616 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTextBrowser + size=48 align=8 + base size=48 base align=8 +QTextBrowser (0x0x7fad68723af8) 0 + vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16) + QTextEdit (0x0x7fad68723b60) 0 + primary-for QTextBrowser (0x0x7fad68723af8) + QAbstractScrollArea (0x0x7fad68723bc8) 0 + primary-for QTextEdit (0x0x7fad68723b60) + QFrame (0x0x7fad68723c30) 0 + primary-for QAbstractScrollArea (0x0x7fad68723bc8) + QWidget (0x0x7fad714af540) 0 + primary-for QFrame (0x0x7fad68723c30) + QObject (0x0x7fad687bd420) 0 + primary-for QWidget (0x0x7fad714af540) + QPaintDevice (0x0x7fad687bd480) 16 + vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 560) + +Class QToolBar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QToolBar::QPrivateSignal (0x0x7fad687bd780) 0 empty + +Vtable for QToolBar +QToolBar::_ZTV8QToolBar: 64 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QToolBar) +16 (int (*)(...))QToolBar::metaObject +24 (int (*)(...))QToolBar::qt_metacast +32 (int (*)(...))QToolBar::qt_metacall +40 (int (*)(...))QToolBar::~QToolBar +48 (int (*)(...))QToolBar::~QToolBar +56 (int (*)(...))QToolBar::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QToolBar::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QToolBar::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QToolBar::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))-16 +440 (int (*)(...))(& _ZTI8QToolBar) +448 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD1Ev +456 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD0Ev +464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QToolBar + size=48 align=8 + base size=48 base align=8 +QToolBar (0x0x7fad68723c98) 0 + vptr=((& QToolBar::_ZTV8QToolBar) + 16) + QWidget (0x0x7fad714af690) 0 + primary-for QToolBar (0x0x7fad68723c98) + QObject (0x0x7fad687bd6c0) 0 + primary-for QWidget (0x0x7fad714af690) + QPaintDevice (0x0x7fad687bd720) 16 + vptr=((& QToolBar::_ZTV8QToolBar) + 448) + +Class QToolBox::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QToolBox::QPrivateSignal (0x0x7fad687e9120) 0 empty + +Vtable for QToolBox +QToolBox::_ZTV8QToolBox: 66 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QToolBox) +16 (int (*)(...))QToolBox::metaObject +24 (int (*)(...))QToolBox::qt_metacast +32 (int (*)(...))QToolBox::qt_metacall +40 (int (*)(...))QToolBox::~QToolBox +48 (int (*)(...))QToolBox::~QToolBox +56 (int (*)(...))QToolBox::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QFrame::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QFrame::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QToolBox::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QToolBox::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QToolBox::itemInserted +440 (int (*)(...))QToolBox::itemRemoved +448 (int (*)(...))-16 +456 (int (*)(...))(& _ZTI8QToolBox) +464 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD1Ev +472 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD0Ev +480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QToolBox + size=48 align=8 + base size=48 base align=8 +QToolBox (0x0x7fad687e5208) 0 + vptr=((& QToolBox::_ZTV8QToolBox) + 16) + QFrame (0x0x7fad687e5270) 0 + primary-for QToolBox (0x0x7fad687e5208) + QWidget (0x0x7fad71530230) 0 + primary-for QFrame (0x0x7fad687e5270) + QObject (0x0x7fad687e9060) 0 + primary-for QWidget (0x0x7fad71530230) + QPaintDevice (0x0x7fad687e90c0) 16 + vptr=((& QToolBox::_ZTV8QToolBox) + 464) + +Class QToolButton::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QToolButton::QPrivateSignal (0x0x7fad687e94e0) 0 empty + +Vtable for QToolButton +QToolButton::_ZTV11QToolButton: 67 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QToolButton) +16 (int (*)(...))QToolButton::metaObject +24 (int (*)(...))QToolButton::qt_metacast +32 (int (*)(...))QToolButton::qt_metacall +40 (int (*)(...))QToolButton::~QToolButton +48 (int (*)(...))QToolButton::~QToolButton +56 (int (*)(...))QToolButton::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QToolButton::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QToolButton::sizeHint +136 (int (*)(...))QToolButton::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QToolButton::mousePressEvent +176 (int (*)(...))QToolButton::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QAbstractButton::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QAbstractButton::keyPressEvent +216 (int (*)(...))QAbstractButton::keyReleaseEvent +224 (int (*)(...))QAbstractButton::focusInEvent +232 (int (*)(...))QAbstractButton::focusOutEvent +240 (int (*)(...))QToolButton::enterEvent +248 (int (*)(...))QToolButton::leaveEvent +256 (int (*)(...))QToolButton::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QToolButton::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QToolButton::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QToolButton::hitButton +440 (int (*)(...))QAbstractButton::checkStateSet +448 (int (*)(...))QToolButton::nextCheckState +456 (int (*)(...))-16 +464 (int (*)(...))(& _ZTI11QToolButton) +472 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD1Ev +480 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD0Ev +488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QToolButton + size=48 align=8 + base size=48 base align=8 +QToolButton (0x0x7fad687e52d8) 0 + vptr=((& QToolButton::_ZTV11QToolButton) + 16) + QAbstractButton (0x0x7fad687e5340) 0 + primary-for QToolButton (0x0x7fad687e52d8) + QWidget (0x0x7fad71530460) 0 + primary-for QAbstractButton (0x0x7fad687e5340) + QObject (0x0x7fad687e9420) 0 + primary-for QWidget (0x0x7fad71530460) + QPaintDevice (0x0x7fad687e9480) 16 + vptr=((& QToolButton::_ZTV11QToolButton) + 472) + +Class QToolTip + size=1 align=1 + base size=0 base align=1 +QToolTip (0x0x7fad687e9780) 0 empty + +Class QTreeView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTreeView::QPrivateSignal (0x0x7fad687e9900) 0 empty + +Vtable for QTreeView +QTreeView::_ZTV9QTreeView: 108 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTreeView) +16 (int (*)(...))QTreeView::metaObject +24 (int (*)(...))QTreeView::qt_metacast +32 (int (*)(...))QTreeView::qt_metacall +40 (int (*)(...))QTreeView::~QTreeView +48 (int (*)(...))QTreeView::~QTreeView +56 (int (*)(...))QAbstractItemView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTreeView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTreeView::mousePressEvent +176 (int (*)(...))QTreeView::mouseReleaseEvent +184 (int (*)(...))QTreeView::mouseDoubleClickEvent +192 (int (*)(...))QTreeView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QTreeView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTreeView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QTreeView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QAbstractItemView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QTreeView::viewportEvent +448 (int (*)(...))QTreeView::scrollContentsBy +456 (int (*)(...))QTreeView::viewportSizeHint +464 (int (*)(...))QTreeView::setModel +472 (int (*)(...))QTreeView::setSelectionModel +480 (int (*)(...))QTreeView::keyboardSearch +488 (int (*)(...))QTreeView::visualRect +496 (int (*)(...))QTreeView::scrollTo +504 (int (*)(...))QTreeView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QTreeView::sizeHintForColumn +528 (int (*)(...))QTreeView::reset +536 (int (*)(...))QTreeView::setRootIndex +544 (int (*)(...))QTreeView::doItemsLayout +552 (int (*)(...))QTreeView::selectAll +560 (int (*)(...))QTreeView::dataChanged +568 (int (*)(...))QTreeView::rowsInserted +576 (int (*)(...))QTreeView::rowsAboutToBeRemoved +584 (int (*)(...))QTreeView::selectionChanged +592 (int (*)(...))QTreeView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QTreeView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QTreeView::horizontalScrollbarAction +640 (int (*)(...))QTreeView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QTreeView::moveCursor +688 (int (*)(...))QTreeView::horizontalOffset +696 (int (*)(...))QTreeView::verticalOffset +704 (int (*)(...))QTreeView::isIndexHidden +712 (int (*)(...))QTreeView::setSelection +720 (int (*)(...))QTreeView::visualRegionForSelection +728 (int (*)(...))QTreeView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))QTreeView::drawRow +776 (int (*)(...))QTreeView::drawBranches +784 (int (*)(...))-16 +792 (int (*)(...))(& _ZTI9QTreeView) +800 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD1Ev +808 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD0Ev +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTreeView + size=48 align=8 + base size=48 base align=8 +QTreeView (0x0x7fad687e53a8) 0 + vptr=((& QTreeView::_ZTV9QTreeView) + 16) + QAbstractItemView (0x0x7fad687e5410) 0 + primary-for QTreeView (0x0x7fad687e53a8) + QAbstractScrollArea (0x0x7fad687e5478) 0 + primary-for QAbstractItemView (0x0x7fad687e5410) + QFrame (0x0x7fad687e54e0) 0 + primary-for QAbstractScrollArea (0x0x7fad687e5478) + QWidget (0x0x7fad71530770) 0 + primary-for QFrame (0x0x7fad687e54e0) + QObject (0x0x7fad687e9840) 0 + primary-for QWidget (0x0x7fad71530770) + QPaintDevice (0x0x7fad687e98a0) 16 + vptr=((& QTreeView::_ZTV9QTreeView) + 800) + +Class QTreeWidgetItemIterator + size=24 align=8 + base size=20 base align=8 +QTreeWidgetItemIterator (0x0x7fad687e9b40) 0 + +Vtable for QTreeWidgetItem +QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QTreeWidgetItem) +16 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem +24 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem +32 (int (*)(...))QTreeWidgetItem::clone +40 (int (*)(...))QTreeWidgetItem::data +48 (int (*)(...))QTreeWidgetItem::setData +56 (int (*)(...))QTreeWidgetItem::operator< +64 (int (*)(...))QTreeWidgetItem::read +72 (int (*)(...))QTreeWidgetItem::write + +Class QTreeWidgetItem + size=64 align=8 + base size=60 base align=8 +QTreeWidgetItem (0x0x7fad68825600) 0 + vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16) + +Class QTreeWidget::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTreeWidget::QPrivateSignal (0x0x7fad6846b600) 0 empty + +Vtable for QTreeWidget +QTreeWidget::_ZTV11QTreeWidget: 112 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTreeWidget) +16 (int (*)(...))QTreeWidget::metaObject +24 (int (*)(...))QTreeWidget::qt_metacast +32 (int (*)(...))QTreeWidget::qt_metacall +40 (int (*)(...))QTreeWidget::~QTreeWidget +48 (int (*)(...))QTreeWidget::~QTreeWidget +56 (int (*)(...))QTreeWidget::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QTreeView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QTreeView::mousePressEvent +176 (int (*)(...))QTreeView::mouseReleaseEvent +184 (int (*)(...))QTreeView::mouseDoubleClickEvent +192 (int (*)(...))QTreeView::mouseMoveEvent +200 (int (*)(...))QAbstractScrollArea::wheelEvent +208 (int (*)(...))QTreeView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QTreeView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QAbstractItemView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QTreeView::dragMoveEvent +328 (int (*)(...))QAbstractItemView::dragLeaveEvent +336 (int (*)(...))QTreeWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QTreeView::viewportEvent +448 (int (*)(...))QTreeView::scrollContentsBy +456 (int (*)(...))QTreeView::viewportSizeHint +464 (int (*)(...))QTreeWidget::setModel +472 (int (*)(...))QTreeWidget::setSelectionModel +480 (int (*)(...))QTreeView::keyboardSearch +488 (int (*)(...))QTreeView::visualRect +496 (int (*)(...))QTreeView::scrollTo +504 (int (*)(...))QTreeView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QTreeView::sizeHintForColumn +528 (int (*)(...))QTreeView::reset +536 (int (*)(...))QTreeView::setRootIndex +544 (int (*)(...))QTreeView::doItemsLayout +552 (int (*)(...))QTreeView::selectAll +560 (int (*)(...))QTreeView::dataChanged +568 (int (*)(...))QTreeView::rowsInserted +576 (int (*)(...))QTreeView::rowsAboutToBeRemoved +584 (int (*)(...))QTreeView::selectionChanged +592 (int (*)(...))QTreeView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QTreeView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QTreeView::horizontalScrollbarAction +640 (int (*)(...))QTreeView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QTreeView::moveCursor +688 (int (*)(...))QTreeView::horizontalOffset +696 (int (*)(...))QTreeView::verticalOffset +704 (int (*)(...))QTreeView::isIndexHidden +712 (int (*)(...))QTreeView::setSelection +720 (int (*)(...))QTreeView::visualRegionForSelection +728 (int (*)(...))QTreeView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QAbstractItemView::startDrag +760 (int (*)(...))QAbstractItemView::viewOptions +768 (int (*)(...))QTreeView::drawRow +776 (int (*)(...))QTreeView::drawBranches +784 (int (*)(...))QTreeWidget::mimeTypes +792 (int (*)(...))QTreeWidget::mimeData +800 (int (*)(...))QTreeWidget::dropMimeData +808 (int (*)(...))QTreeWidget::supportedDropActions +816 (int (*)(...))-16 +824 (int (*)(...))(& _ZTI11QTreeWidget) +832 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev +840 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev +848 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +864 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +872 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +880 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +888 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QTreeWidget + size=48 align=8 + base size=48 base align=8 +QTreeWidget (0x0x7fad687e5750) 0 + vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16) + QTreeView (0x0x7fad687e57b8) 0 + primary-for QTreeWidget (0x0x7fad687e5750) + QAbstractItemView (0x0x7fad687e5820) 0 + primary-for QTreeView (0x0x7fad687e57b8) + QAbstractScrollArea (0x0x7fad687e5888) 0 + primary-for QAbstractItemView (0x0x7fad687e5820) + QFrame (0x0x7fad687e58f0) 0 + primary-for QAbstractScrollArea (0x0x7fad687e5888) + QWidget (0x0x7fad7118e690) 0 + primary-for QFrame (0x0x7fad687e58f0) + QObject (0x0x7fad6846b540) 0 + primary-for QWidget (0x0x7fad7118e690) + QPaintDevice (0x0x7fad6846b5a0) 16 + vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832) + +Class QUndoGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUndoGroup::QPrivateSignal (0x0x7fad6846ba20) 0 empty + +Vtable for QUndoGroup +QUndoGroup::_ZTV10QUndoGroup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QUndoGroup) +16 (int (*)(...))QUndoGroup::metaObject +24 (int (*)(...))QUndoGroup::qt_metacast +32 (int (*)(...))QUndoGroup::qt_metacall +40 (int (*)(...))QUndoGroup::~QUndoGroup +48 (int (*)(...))QUndoGroup::~QUndoGroup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QUndoGroup + size=16 align=8 + base size=16 base align=8 +QUndoGroup (0x0x7fad687e5958) 0 + vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16) + QObject (0x0x7fad6846b9c0) 0 + primary-for QUndoGroup (0x0x7fad687e5958) + +Vtable for QUndoCommand +QUndoCommand::_ZTV12QUndoCommand: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QUndoCommand) +16 (int (*)(...))QUndoCommand::~QUndoCommand +24 (int (*)(...))QUndoCommand::~QUndoCommand +32 (int (*)(...))QUndoCommand::undo +40 (int (*)(...))QUndoCommand::redo +48 (int (*)(...))QUndoCommand::id +56 (int (*)(...))QUndoCommand::mergeWith + +Class QUndoCommand + size=16 align=8 + base size=16 base align=8 +QUndoCommand (0x0x7fad6846bc00) 0 + vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16) + +Class QUndoStack::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUndoStack::QPrivateSignal (0x0x7fad6846bcc0) 0 empty + +Vtable for QUndoStack +QUndoStack::_ZTV10QUndoStack: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QUndoStack) +16 (int (*)(...))QUndoStack::metaObject +24 (int (*)(...))QUndoStack::qt_metacast +32 (int (*)(...))QUndoStack::qt_metacall +40 (int (*)(...))QUndoStack::~QUndoStack +48 (int (*)(...))QUndoStack::~QUndoStack +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QUndoStack + size=16 align=8 + base size=16 base align=8 +QUndoStack (0x0x7fad687e59c0) 0 + vptr=((& QUndoStack::_ZTV10QUndoStack) + 16) + QObject (0x0x7fad6846bc60) 0 + primary-for QUndoStack (0x0x7fad687e59c0) + +Class QUndoView::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUndoView::QPrivateSignal (0x0x7fad6846bf60) 0 empty + +Vtable for QUndoView +QUndoView::_ZTV9QUndoView: 106 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QUndoView) +16 (int (*)(...))QUndoView::metaObject +24 (int (*)(...))QUndoView::qt_metacast +32 (int (*)(...))QUndoView::qt_metacall +40 (int (*)(...))QUndoView::~QUndoView +48 (int (*)(...))QUndoView::~QUndoView +56 (int (*)(...))QListView::event +64 (int (*)(...))QAbstractItemView::eventFilter +72 (int (*)(...))QListView::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QAbstractScrollArea::sizeHint +136 (int (*)(...))QAbstractScrollArea::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QAbstractItemView::mousePressEvent +176 (int (*)(...))QListView::mouseReleaseEvent +184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent +192 (int (*)(...))QListView::mouseMoveEvent +200 (int (*)(...))QListView::wheelEvent +208 (int (*)(...))QAbstractItemView::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QAbstractItemView::focusInEvent +232 (int (*)(...))QAbstractItemView::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QListView::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QListView::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QAbstractScrollArea::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QAbstractItemView::dragEnterEvent +320 (int (*)(...))QListView::dragMoveEvent +328 (int (*)(...))QListView::dragLeaveEvent +336 (int (*)(...))QListView::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QFrame::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QAbstractItemView::inputMethodEvent +416 (int (*)(...))QAbstractItemView::inputMethodQuery +424 (int (*)(...))QAbstractItemView::focusNextPrevChild +432 (int (*)(...))QAbstractScrollArea::setupViewport +440 (int (*)(...))QAbstractItemView::viewportEvent +448 (int (*)(...))QListView::scrollContentsBy +456 (int (*)(...))QListView::viewportSizeHint +464 (int (*)(...))QAbstractItemView::setModel +472 (int (*)(...))QAbstractItemView::setSelectionModel +480 (int (*)(...))QAbstractItemView::keyboardSearch +488 (int (*)(...))QListView::visualRect +496 (int (*)(...))QListView::scrollTo +504 (int (*)(...))QListView::indexAt +512 (int (*)(...))QAbstractItemView::sizeHintForRow +520 (int (*)(...))QAbstractItemView::sizeHintForColumn +528 (int (*)(...))QListView::reset +536 (int (*)(...))QListView::setRootIndex +544 (int (*)(...))QListView::doItemsLayout +552 (int (*)(...))QAbstractItemView::selectAll +560 (int (*)(...))QListView::dataChanged +568 (int (*)(...))QListView::rowsInserted +576 (int (*)(...))QListView::rowsAboutToBeRemoved +584 (int (*)(...))QListView::selectionChanged +592 (int (*)(...))QListView::currentChanged +600 (int (*)(...))QAbstractItemView::updateEditorData +608 (int (*)(...))QAbstractItemView::updateEditorGeometries +616 (int (*)(...))QListView::updateGeometries +624 (int (*)(...))QAbstractItemView::verticalScrollbarAction +632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction +640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged +648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged +656 (int (*)(...))QAbstractItemView::closeEditor +664 (int (*)(...))QAbstractItemView::commitData +672 (int (*)(...))QAbstractItemView::editorDestroyed +680 (int (*)(...))QListView::moveCursor +688 (int (*)(...))QListView::horizontalOffset +696 (int (*)(...))QListView::verticalOffset +704 (int (*)(...))QListView::isIndexHidden +712 (int (*)(...))QListView::setSelection +720 (int (*)(...))QListView::visualRegionForSelection +728 (int (*)(...))QListView::selectedIndexes +736 (int (*)(...))QAbstractItemView::edit +744 (int (*)(...))QAbstractItemView::selectionCommand +752 (int (*)(...))QListView::startDrag +760 (int (*)(...))QListView::viewOptions +768 (int (*)(...))-16 +776 (int (*)(...))(& _ZTI9QUndoView) +784 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD1Ev +792 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD0Ev +800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QUndoView + size=48 align=8 + base size=48 base align=8 +QUndoView (0x0x7fad687e5a28) 0 + vptr=((& QUndoView::_ZTV9QUndoView) + 16) + QListView (0x0x7fad687e5a90) 0 + primary-for QUndoView (0x0x7fad687e5a28) + QAbstractItemView (0x0x7fad687e5af8) 0 + primary-for QListView (0x0x7fad687e5a90) + QAbstractScrollArea (0x0x7fad687e5b60) 0 + primary-for QAbstractItemView (0x0x7fad687e5af8) + QFrame (0x0x7fad687e5bc8) 0 + primary-for QAbstractScrollArea (0x0x7fad687e5b60) + QWidget (0x0x7fad7118ea10) 0 + primary-for QFrame (0x0x7fad687e5bc8) + QObject (0x0x7fad6846bea0) 0 + primary-for QWidget (0x0x7fad7118ea10) + QPaintDevice (0x0x7fad6846bf00) 16 + vptr=((& QUndoView::_ZTV9QUndoView) + 784) + +Class QWhatsThis + size=1 align=1 + base size=0 base align=1 +QWhatsThis (0x0x7fad6849b180) 0 empty + +Class QWidgetAction::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWidgetAction::QPrivateSignal (0x0x7fad6849b240) 0 empty + +Vtable for QWidgetAction +QWidgetAction::_ZTV13QWidgetAction: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QWidgetAction) +16 (int (*)(...))QWidgetAction::metaObject +24 (int (*)(...))QWidgetAction::qt_metacast +32 (int (*)(...))QWidgetAction::qt_metacall +40 (int (*)(...))QWidgetAction::~QWidgetAction +48 (int (*)(...))QWidgetAction::~QWidgetAction +56 (int (*)(...))QWidgetAction::event +64 (int (*)(...))QWidgetAction::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidgetAction::createWidget +120 (int (*)(...))QWidgetAction::deleteWidget + +Class QWidgetAction + size=16 align=8 + base size=16 base align=8 +QWidgetAction (0x0x7fad687e5c30) 0 + vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16) + QAction (0x0x7fad687e5c98) 0 + primary-for QWidgetAction (0x0x7fad687e5c30) + QObject (0x0x7fad6849b1e0) 0 + primary-for QAction (0x0x7fad687e5c98) + +Class QWizard::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWizard::QPrivateSignal (0x0x7fad6849b4e0) 0 empty + +Vtable for QWizard +QWizard::_ZTV7QWizard: 73 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QWizard) +16 (int (*)(...))QWizard::metaObject +24 (int (*)(...))QWizard::qt_metacast +32 (int (*)(...))QWizard::qt_metacall +40 (int (*)(...))QWizard::~QWizard +48 (int (*)(...))QWizard::~QWizard +56 (int (*)(...))QWizard::event +64 (int (*)(...))QDialog::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWizard::setVisible +128 (int (*)(...))QWizard::sizeHint +136 (int (*)(...))QDialog::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QDialog::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWizard::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWizard::resizeEvent +280 (int (*)(...))QDialog::closeEvent +288 (int (*)(...))QDialog::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QDialog::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QDialog::open +440 (int (*)(...))QDialog::exec +448 (int (*)(...))QWizard::done +456 (int (*)(...))QDialog::accept +464 (int (*)(...))QDialog::reject +472 (int (*)(...))QWizard::validateCurrentPage +480 (int (*)(...))QWizard::nextId +488 (int (*)(...))QWizard::initializePage +496 (int (*)(...))QWizard::cleanupPage +504 (int (*)(...))-16 +512 (int (*)(...))(& _ZTI7QWizard) +520 (int (*)(...))QWizard::_ZThn16_N7QWizardD1Ev +528 (int (*)(...))QWizard::_ZThn16_N7QWizardD0Ev +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QWizard + size=48 align=8 + base size=48 base align=8 +QWizard (0x0x7fad687e5d00) 0 + vptr=((& QWizard::_ZTV7QWizard) + 16) + QDialog (0x0x7fad687e5d68) 0 + primary-for QWizard (0x0x7fad687e5d00) + QWidget (0x0x7fad7118ecb0) 0 + primary-for QDialog (0x0x7fad687e5d68) + QObject (0x0x7fad6849b420) 0 + primary-for QWidget (0x0x7fad7118ecb0) + QPaintDevice (0x0x7fad6849b480) 16 + vptr=((& QWizard::_ZTV7QWizard) + 520) + +Class QWizardPage::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWizardPage::QPrivateSignal (0x0x7fad684c10c0) 0 empty + +Vtable for QWizardPage +QWizardPage::_ZTV11QWizardPage: 69 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QWizardPage) +16 (int (*)(...))QWizardPage::metaObject +24 (int (*)(...))QWizardPage::qt_metacast +32 (int (*)(...))QWizardPage::qt_metacall +40 (int (*)(...))QWizardPage::~QWizardPage +48 (int (*)(...))QWizardPage::~QWizardPage +56 (int (*)(...))QWidget::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWidget::devType +120 (int (*)(...))QWidget::setVisible +128 (int (*)(...))QWidget::sizeHint +136 (int (*)(...))QWidget::minimumSizeHint +144 (int (*)(...))QWidget::heightForWidth +152 (int (*)(...))QWidget::hasHeightForWidth +160 (int (*)(...))QWidget::paintEngine +168 (int (*)(...))QWidget::mousePressEvent +176 (int (*)(...))QWidget::mouseReleaseEvent +184 (int (*)(...))QWidget::mouseDoubleClickEvent +192 (int (*)(...))QWidget::mouseMoveEvent +200 (int (*)(...))QWidget::wheelEvent +208 (int (*)(...))QWidget::keyPressEvent +216 (int (*)(...))QWidget::keyReleaseEvent +224 (int (*)(...))QWidget::focusInEvent +232 (int (*)(...))QWidget::focusOutEvent +240 (int (*)(...))QWidget::enterEvent +248 (int (*)(...))QWidget::leaveEvent +256 (int (*)(...))QWidget::paintEvent +264 (int (*)(...))QWidget::moveEvent +272 (int (*)(...))QWidget::resizeEvent +280 (int (*)(...))QWidget::closeEvent +288 (int (*)(...))QWidget::contextMenuEvent +296 (int (*)(...))QWidget::tabletEvent +304 (int (*)(...))QWidget::actionEvent +312 (int (*)(...))QWidget::dragEnterEvent +320 (int (*)(...))QWidget::dragMoveEvent +328 (int (*)(...))QWidget::dragLeaveEvent +336 (int (*)(...))QWidget::dropEvent +344 (int (*)(...))QWidget::showEvent +352 (int (*)(...))QWidget::hideEvent +360 (int (*)(...))QWidget::nativeEvent +368 (int (*)(...))QWidget::changeEvent +376 (int (*)(...))QWidget::metric +384 (int (*)(...))QWidget::initPainter +392 (int (*)(...))QWidget::redirected +400 (int (*)(...))QWidget::sharedPainter +408 (int (*)(...))QWidget::inputMethodEvent +416 (int (*)(...))QWidget::inputMethodQuery +424 (int (*)(...))QWidget::focusNextPrevChild +432 (int (*)(...))QWizardPage::initializePage +440 (int (*)(...))QWizardPage::cleanupPage +448 (int (*)(...))QWizardPage::validatePage +456 (int (*)(...))QWizardPage::isComplete +464 (int (*)(...))QWizardPage::nextId +472 (int (*)(...))-16 +480 (int (*)(...))(& _ZTI11QWizardPage) +488 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD1Ev +496 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD0Ev +504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv +512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv +520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE +528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter +536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint +544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv + +Class QWizardPage + size=48 align=8 + base size=48 base align=8 +QWizardPage (0x0x7fad687e5ea0) 0 + vptr=((& QWizardPage::_ZTV11QWizardPage) + 16) + QWidget (0x0x7fad711e9bd0) 0 + primary-for QWizardPage (0x0x7fad687e5ea0) + QObject (0x0x7fad684c1000) 0 + primary-for QWidget (0x0x7fad711e9bd0) + QPaintDevice (0x0x7fad684c1060) 16 + vptr=((& QWizardPage::_ZTV11QWizardPage) + 488) + +Class QUiLoader::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUiLoader::QPrivateSignal (0x0x7fad684c1300) 0 empty + +Vtable for QUiLoader +QUiLoader::_ZTV9QUiLoader: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QUiLoader) +16 (int (*)(...))QUiLoader::metaObject +24 (int (*)(...))QUiLoader::qt_metacast +32 (int (*)(...))QUiLoader::qt_metacall +40 (int (*)(...))QUiLoader::~QUiLoader +48 (int (*)(...))QUiLoader::~QUiLoader +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QUiLoader::createWidget +120 (int (*)(...))QUiLoader::createLayout +128 (int (*)(...))QUiLoader::createActionGroup +136 (int (*)(...))QUiLoader::createAction + +Class QUiLoader + size=24 align=8 + base size=24 base align=8 +QUiLoader (0x0x7fad687e5f08) 0 + vptr=((& QUiLoader::_ZTV9QUiLoader) + 16) + QObject (0x0x7fad684c12a0) 0 + primary-for QUiLoader (0x0x7fad687e5f08) + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad684e3840) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad684e3ba0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad684e3d80) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad684f4120) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad684f4300) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad684f4660) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad684f4840) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad684f4ba0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad684f4d80) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad68506120) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad68506300) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad68506660) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad68506840) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad68506ba0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad68506d80) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad68518120) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad6851f600) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad6851f960) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad6851fae0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad6851fe40) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad6852c000) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad6852c360) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad6852c4e0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad6852c840) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad6852c9c0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad6852cd20) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad6852cea0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad6853b240) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad6853b3c0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad6853b720) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7fad6853b8a0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7fad6853bc00) 0 empty + -- cgit v1.2.3 From 5aa19d92036be3056ee7ff2d5d302b52a3e4a394 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Fri, 13 Dec 2019 23:32:44 +0100 Subject: qdoc: Fix regression in output for QML properties with shared comments QDoc was incorrectly assuming that QML properties that share a comment must belong to a property group. Fix the issue, reduce duplication of code with functions that output properties and methods, fix the 'id' attributes that were left empty, and remove the elements that are obsolete and unnecessary now that 'id' has correct content. Add a test for both properties and methods that share a comment, and fix the expected output data for above changes. Fixes: QTBUG-80768 Change-Id: Iddfca8214b6058987c76cd8f8dd6a842ce7cea89 Reviewed-by: Levon Sargsyan Reviewed-by: Paul Wicking --- src/qdoc/htmlgenerator.cpp | 89 +++++++++----------- .../qml-qdoc-test-abstractparent.html | 16 ++-- .../expected_output/qml-qdoc-test-child.html | 16 ++-- .../expected_output/qml-qdoc-test-doctest.html | 24 +++--- .../qml-qdoc-test-type-members.html | 4 + .../expected_output/qml-qdoc-test-type.html | 95 ++++++++++++++++------ .../qml-uicomponents-progressbar.html | 40 ++++----- .../expected_output/qml-uicomponents-switch.html | 16 ++-- .../qml-uicomponents-tabwidget.html | 16 ++-- tests/auto/qdoc/generatedoutput/qml/type.cpp | 14 ++++ tests/auto/qdoc/generatedoutput/testqml.qdocconf | 5 ++ 11 files changed, 195 insertions(+), 140 deletions(-) diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index afd39e0e2..05241753d 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -3855,7 +3855,6 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, const Aggregate *relative, CodeMarker *marker) { - QmlPropertyNode *qpn = nullptr; #ifdef GENERATE_MAC_REFS generateMacRef(node, marker); #endif @@ -3866,61 +3865,52 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, "
    \n"); QString qmlItemStart("\n" - "\n"); - QString qmlItemFooter("

    \n"); + "

    \n"); QString qmlItemEnd("

    \n"); + QString qmlItemFooter("\n"); + + + std::function generateQmlProperty = [&](QmlPropertyNode *n) { + out() << qmlItemStart.arg(refForNode(n), "tblQmlPropNode"); + + if (!n->isReadOnlySet() && n->declarativeCppNode()) + n->markReadOnly(!n->isWritable()); + + if (n->isReadOnly()) + out() << "[read-only] "; + if (n->isDefault()) + out() << "[default] "; + + generateQmlItem(n, relative, marker, false); + out() << qmlItemEnd; + }; + + std::function generateQmlMethod = [&](Node *n) { + out() << qmlItemStart.arg(refForNode(n), "tblQmlFuncNode"); + generateSynopsis(n, relative, marker, Section::Details, false); + out() << qmlItemEnd; + }; out() << "
    "; - QString nodeRef; if (node->isPropertyGroup()) { const SharedCommentNode *scn = static_cast(node); - out() << "
    "; - out() << "
    "; + out() << qmlItemHeader; if (!scn->name().isEmpty()) { - nodeRef = refForNode(scn); - QString heading = scn->name() + " group"; - out() << ""; + out() << ""; out() << ""; + out() << "" << scn->name() << " group"; + out() << "

    \n"; } const QVector sharedNodes = scn->collective(); for (const auto &node : sharedNodes) { - if (node->isQmlProperty() || node->isJsProperty()) { - qpn = static_cast(node); - nodeRef = refForNode(qpn); - out() << ""; - out() << ""; - } + if (node->isQmlProperty() || node->isJsProperty()) + generateQmlProperty(static_cast(node)); } - out() << "

    "; - out() << ""; - out() << "" << heading << ""; - out() << "

    "; - out() << ""; - - if (!qpn->isWritable()) - out() << "[read-only] "; - if (qpn->isDefault()) - out() << "[default] "; - generateQmlItem(qpn, relative, marker, false); - out() << "

    "; - out() << "
    "; + out() << qmlItemFooter; } else if (node->isQmlProperty() || node->isJsProperty()) { - qpn = static_cast(node); out() << qmlItemHeader; - out() << qmlItemStart.arg(nodeRef, "tblQmlPropNode", refForNode(qpn)); - - if (!qpn->isReadOnlySet()) { - if (qpn->declarativeCppNode()) - qpn->markReadOnly(!qpn->isWritable()); - } - if (qpn->isReadOnly()) - out() << "[read-only] "; - if (qpn->isDefault()) - out() << "[default] "; - - generateQmlItem(qpn, relative, marker, false); - out() << qmlItemEnd; + generateQmlProperty(static_cast(node)); out() << qmlItemFooter; } else if (node->isSharedCommentNode()) { const SharedCommentNode *scn = reinterpret_cast(node); @@ -3929,20 +3919,17 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, out() << "
    \n"; out() << qmlItemHeader; for (const auto &node : sharedNodes) { - if (node->isFunction(Node::QML) || node->isFunction(Node::JS)) { - out() << qmlItemStart.arg(nodeRef, "tblQmlFuncNode", refForNode(node)); - generateSynopsis(node, relative, marker, Section::Details, false); - out() << qmlItemEnd; - } + if (node->isFunction(Node::QML) || node->isFunction(Node::JS)) + generateQmlMethod(node); + else if (node->isQmlProperty() || node->isJsProperty()) + generateQmlProperty(static_cast(node)); } out() << qmlItemFooter; if (sharedNodes.size() > 1) - out() << "
    "; + out() << "
    "; // fngroup } else { // assume the node is a method/signal handler out() << qmlItemHeader; - out() << qmlItemStart.arg(nodeRef, "tblQmlFuncNode", refForNode(node)); - generateSynopsis(node, relative, marker, Section::Details, false); - out() << qmlItemEnd; + generateQmlMethod(node); out() << qmlItemFooter; } diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html index 5b9bad572..c1739608c 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html @@ -45,22 +45,22 @@
    +

    Children of the type.


    Method Documentation

    - + -

    -void rear(child)

    -

    Do some abstract parenting on child.

    +void rear(child)

    +
    +

    Do some abstract parenting on child.


    diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html index c9cb241af..c20ce7d8f 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html @@ -45,22 +45,22 @@
    - + -

    -[default] children : list<Child>

    -

    Children of the type.

    +[default] children : list<Child>

    +
    +

    Children of the type.


    Method Documentation

    - + -

    -void rear(child)

    -

    Do some abstract parenting on child.

    +void rear(child)

    +
    +

    Do some abstract parenting on child.


    diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html index 626531c04..b15559210 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html @@ -49,22 +49,22 @@
    - + -

    -active : bool

    -

    Whether the test is active.

    +active : bool

    +
    +

    Whether the test is active.

    See also name.


    - + -

    -name : string

    -

    Name of the test.

    +name : string

    +
    +

    Name of the test.

    DocTest {
         name: "test"
         // ...
    @@ -75,11 +75,11 @@
     
     
    - + -

    -fail(message = "oops")

    -

    Fails the current test case, with the optional message.

    +fail(message = "oops")

    +
    +

    Fails the current test case, with the optional message.

    This method was introduced in QDoc.Test 1.0.


    diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html index a227cfc0a..a0599c34d 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html @@ -11,6 +11,8 @@

    List of All Members for Type

    This is the complete list of members for Type, including inherited members.

      +
    • fifth : int
    • +
    • fourth : int
    • group diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html index 8bd343fa1..30c48adf5 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html @@ -32,6 +32,8 @@

      Properties

        +
      • fifth : int
      • +
      • fourth : int
      • group
        • group.first : int
        • group.second : int
        • @@ -60,45 +62,74 @@

          Methods

          Detailed Description

          Property Documentation

          + +
          +
          +
          + + + + +

          +fourth : int

          +fifth : int

          +

          A group of properties sharing a documentation comment.

          +
          +
          -

          group group

          group.first : int

          group.second : int

          group.third : int

          A property group.

          +
          +
          + + + + + + + +

          group group

          +group.first : int

          +group.second : int

          +group.third : int

          +

          A property group.


          - + -

          -[read-only] id : int

          -

          A read-only property.

          +[read-only] id : int

          +
          +

          A read-only property.


          - + -

          -name : string

          -

          Name of the Test.

          +name : string

          +
          +

          Name of the Test.


          Attached Property Documentation

          - + -

          -Type.type : enumeration

          -
          +Type.type : enumeration

          +
          ConstantDescription
          +
          ConstantDescription
          Type.NoTypeNothing
          Type.SomeTypeSomething
          @@ -108,33 +139,47 @@
          - + -

          -completed(status)

          -

          This signal is emitted when the operation completed with status.

          +completed(status)

          +
          +

          This signal is emitted when the operation completed with status.


          Attached Signal Documentation

          - + -

          -configured()

          -

          This attached signal is emitted when the type was configured.

          +configured()

          +
          +

          This attached signal is emitted when the type was configured.


          Method Documentation

          + +
          +
          +
          + + + + +

          +enable()

          +disable()

          +

          Enables or disables this type.

          +
          +
          - + -

          -Type copy(a)

          -

          Returns another Type based on a.

          +Type copy(a)

          +
          +

          Returns another Type based on a.


          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html index 5a25e2ff1..d860f022e 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html @@ -45,53 +45,53 @@
          - + -

          -color : color

          -

          The color of the ProgressBar's gradient. Must bind to a color type.

          +color : color

          +
          +

          The color of the ProgressBar's gradient. Must bind to a color type.

          See also secondColor.


          - + -

          -maximum : int

          -

          The maximum value of the ProgressBar range. The value must not be more than this value.

          +maximum : int

          +
          +

          The maximum value of the ProgressBar range. The value must not be more than this value.


          - + -

          -minimum : int

          -

          The minimum value of the ProgressBar range. The value must not be less than this value.

          +minimum : int

          +
          +

          The minimum value of the ProgressBar range. The value must not be less than this value.


          - + -

          -secondColor : color

          -

          The second color of the ProgressBar's gradient. Must bind to a color type.

          +secondColor : color

          +
          +

          The second color of the ProgressBar's gradient. Must bind to a color type.

          See also color.


          - + -

          -value : int

          -

          The value of the progress.

          +value : int

          +
          +

          The value of the progress.


          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html index 06d7ab184..e4febbfcf 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html @@ -47,22 +47,22 @@
          - + -

          -on : bool

          -

          Indicates the state of the switch. If false, then the switch is in the off state.

          +on : bool

          +
          +

          Indicates the state of the switch. If false, then the switch is in the off state.


          Method Documentation

          - + -

          -toggle()

          -

          A method to toggle the switch. If the switch is on, the toggling it will turn it off. Toggling a switch in the off position will turn it on.

          +toggle()

          +
          +

          A method to toggle the switch. If the switch is on, the toggling it will turn it off. Toggling a switch in the off position will turn it on.


          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html index 991737785..8598eec00 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html @@ -61,21 +61,21 @@
          - + -

          -current : int

          -

          The currently active tab in the TabWidget.

          +current : int

          +
          +

          The currently active tab in the TabWidget.


          - + -

          -[read-only] sampleReadOnlyProperty : int

          -

          A sample read-only property. A contrived property to demonstrate QDoc's ability to detect read-only properties.

          +[read-only] sampleReadOnlyProperty : int

          +
          +

          A sample read-only property. A contrived property to demonstrate QDoc's ability to detect read-only properties.

          The signature is:

          readonly property int sampleReadOnlyProperty: 0

          Note that the property must be initialized to a value.

          diff --git a/tests/auto/qdoc/generatedoutput/qml/type.cpp b/tests/auto/qdoc/generatedoutput/qml/type.cpp index db3dd1047..bf04bdb43 100644 --- a/tests/auto/qdoc/generatedoutput/qml/type.cpp +++ b/tests/auto/qdoc/generatedoutput/qml/type.cpp @@ -68,12 +68,26 @@ \brief A property group. */ +/*! + \qmlproperty int Type::fourth + \qmlproperty int Type::fifth + + \brief A group of properties sharing a documentation comment. +*/ + /*! \qmlmethod Type Type::copy(a) Returns another Type based on \a a. */ +/*! + \qmlmethod Type::enable() + \qmlmethod Type::disable() + + Enables or disables this type. +*/ + /*! \qmlsignal Type::completed(int status) diff --git a/tests/auto/qdoc/generatedoutput/testqml.qdocconf b/tests/auto/qdoc/generatedoutput/testqml.qdocconf index 00d12a463..c469bde06 100644 --- a/tests/auto/qdoc/generatedoutput/testqml.qdocconf +++ b/tests/auto/qdoc/generatedoutput/testqml.qdocconf @@ -1,4 +1,6 @@ include(testcpp.qdocconf) +moduleheader = TestCPP + project = Test description = "A test project for QDoc build artifacts" outputdir = ./html @@ -8,6 +10,9 @@ exampledirs = qml headerdirs += . sourcedirs += qml +# Exclude source files from other tests' subdirs +excludedirs = ./bug80259 + sources.fileextensions = "*.qml *.cpp *.qdoc" headers.fileextensions = "*.h" -- cgit v1.2.3 From 9f13c865439c024364f999680ceceb296d9daeb2 Mon Sep 17 00:00:00 2001 From: Daniel Smith Date: Mon, 16 Dec 2019 15:21:53 +0100 Subject: Bump version Change-Id: I574e7de9c22ae8dae680cae643272d5e2933491a --- .qmake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.qmake.conf b/.qmake.conf index 2c781f2ea..c3ff36444 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -2,4 +2,4 @@ load(qt_build_config) DEFINES += QT_NO_JAVA_STYLE_ITERATORS QT_NO_LINKED_LIST -MODULE_VERSION = 5.14.0 +MODULE_VERSION = 5.14.1 -- cgit v1.2.3 From ed6658c2c82e2d91f34d57e88b61648fb301baf4 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Tue, 17 Dec 2019 06:44:19 +0100 Subject: clang-format QDoc This patch is the result of formatting all of QDoc's source with clang-format. The clang-format style is from the qt5 super repo's _clang-format definition. The purpose is unify the style across the code, to avoid spending too much time on style related issues in reviews and cleanup patches. Future changes to QDoc can benefit from using git-clang-format in combination with the git commit hook provided in qtrepotools.git as mentioned in this email to the dev list: https://lists.qt-project.org/pipermail/development/2019-October/037682.html Change-Id: I8af6a051c8334b5f35862a4dcd3becce8ac500c2 Reviewed-by: Martin Smith --- src/qdoc/atom.cpp | 193 +++-- src/qdoc/atom.h | 80 +- src/qdoc/clangcodeparser.cpp | 280 ++++--- src/qdoc/codechunk.cpp | 70 +- src/qdoc/codechunk.h | 24 +- src/qdoc/codemarker.cpp | 102 +-- src/qdoc/codemarker.h | 30 +- src/qdoc/codeparser.cpp | 51 +- src/qdoc/codeparser.h | 186 +++-- src/qdoc/config.cpp | 161 ++--- src/qdoc/config.h | 47 +- src/qdoc/cppcodemarker.cpp | 112 ++- src/qdoc/cppcodemarker.h | 3 +- src/qdoc/cppcodeparser.cpp | 314 ++++---- src/qdoc/cppcodeparser.h | 30 +- src/qdoc/doc.cpp | 827 +++++++++------------ src/qdoc/doc.h | 32 +- src/qdoc/editdistance.cpp | 20 +- src/qdoc/generator.cpp | 530 ++++++-------- src/qdoc/generator.h | 57 +- src/qdoc/helpprojectwriter.cpp | 221 +++--- src/qdoc/helpprojectwriter.h | 20 +- src/qdoc/htmlgenerator.cpp | 1403 +++++++++++++++--------------------- src/qdoc/htmlgenerator.h | 110 +-- src/qdoc/jscodemarker.cpp | 35 +- src/qdoc/jscodemarker.h | 6 +- src/qdoc/location.cpp | 52 +- src/qdoc/location.h | 22 +- src/qdoc/main.cpp | 103 +-- src/qdoc/node.cpp | 463 ++++++------ src/qdoc/node.h | 292 ++++---- src/qdoc/openedlist.cpp | 8 +- src/qdoc/openedlist.h | 6 +- src/qdoc/parameters.cpp | 61 +- src/qdoc/parameters.h | 28 +- src/qdoc/puredocparser.cpp | 11 +- src/qdoc/qdoccommandlineparser.cpp | 63 +- src/qdoc/qdocdatabase.cpp | 72 +- src/qdoc/qdocdatabase.h | 133 ++-- src/qdoc/qdocindexfiles.cpp | 558 +++++++------- src/qdoc/qdocindexfiles.h | 18 +- src/qdoc/qdoctagfiles.cpp | 149 ++-- src/qdoc/qmlcodemarker.cpp | 45 +- src/qdoc/qmlcodemarker.h | 8 +- src/qdoc/qmlcodeparser.cpp | 58 +- src/qdoc/qmlcodeparser.h | 6 +- src/qdoc/qmlmarkupvisitor.cpp | 57 +- src/qdoc/qmlmarkupvisitor.h | 15 +- src/qdoc/qmlvisitor.cpp | 170 ++--- src/qdoc/qmlvisitor.h | 18 +- src/qdoc/quoter.cpp | 34 +- src/qdoc/quoter.h | 21 +- src/qdoc/sections.cpp | 162 ++--- src/qdoc/sections.h | 55 +- src/qdoc/text.cpp | 41 +- src/qdoc/text.h | 30 +- src/qdoc/tokenizer.cpp | 145 ++-- src/qdoc/tokenizer.h | 118 ++- src/qdoc/tree.cpp | 148 ++-- src/qdoc/tree.h | 80 +- src/qdoc/utilities.cpp | 36 +- src/qdoc/utilities.h | 9 +- src/qdoc/webxmlgenerator.cpp | 131 ++-- src/qdoc/webxmlgenerator.h | 9 +- src/qdoc/xmlgenerator.cpp | 45 +- src/qdoc/xmlgenerator.h | 4 +- src/qdoc/yyindent.cpp | 112 ++- 67 files changed, 3911 insertions(+), 4629 deletions(-) diff --git a/src/qdoc/atom.cpp b/src/qdoc/atom.cpp index ecbea2013..298d2bbd4 100644 --- a/src/qdoc/atom.cpp +++ b/src/qdoc/atom.cpp @@ -145,98 +145,97 @@ QT_BEGIN_NAMESPACE QString Atom::noError_ = QString(); -static const struct { +static const struct +{ const char *english; int no; -} atms[] = { - { "AnnotatedList", Atom::AnnotatedList }, - { "AutoLink", Atom::AutoLink }, - { "BaseName", Atom::BaseName }, - { "br", Atom::BR}, - { "BriefLeft", Atom::BriefLeft }, - { "BriefRight", Atom::BriefRight }, - { "C", Atom::C }, - { "CaptionLeft", Atom::CaptionLeft }, - { "CaptionRight", Atom::CaptionRight }, - { "Code", Atom::Code }, - { "CodeBad", Atom::CodeBad }, - { "CodeNew", Atom::CodeNew }, - { "CodeOld", Atom::CodeOld }, - { "CodeQuoteArgument", Atom::CodeQuoteArgument }, - { "CodeQuoteCommand", Atom::CodeQuoteCommand }, - { "DivLeft", Atom::DivLeft }, - { "DivRight", Atom::DivRight }, - { "EndQmlText", Atom::EndQmlText }, - { "ExampleFileLink", Atom::ExampleFileLink}, - { "ExampleImageLink", Atom::ExampleImageLink}, - { "FootnoteLeft", Atom::FootnoteLeft }, - { "FootnoteRight", Atom::FootnoteRight }, - { "FormatElse", Atom::FormatElse }, - { "FormatEndif", Atom::FormatEndif }, - { "FormatIf", Atom::FormatIf }, - { "FormattingLeft", Atom::FormattingLeft }, - { "FormattingRight", Atom::FormattingRight }, - { "GeneratedList", Atom::GeneratedList }, - { "hr", Atom::HR}, - { "Image", Atom::Image }, - { "ImageText", Atom::ImageText }, - { "ImportantLeft", Atom::ImportantLeft }, - { "ImportantRight", Atom::ImportantRight }, - { "InlineImage", Atom::InlineImage }, - { "JavaScript", Atom::JavaScript }, - { "EndJavaScript", Atom::EndJavaScript }, - { "Keyword", Atom::Keyword }, - { "LegaleseLeft", Atom::LegaleseLeft }, - { "LegaleseRight", Atom::LegaleseRight }, - { "LineBreak", Atom::LineBreak }, - { "Link", Atom::Link }, - { "LinkNode", Atom::LinkNode }, - { "ListLeft", Atom::ListLeft }, - { "ListItemNumber", Atom::ListItemNumber }, - { "ListTagLeft", Atom::ListTagLeft }, - { "ListTagRight", Atom::ListTagRight }, - { "ListItemLeft", Atom::ListItemLeft }, - { "ListItemRight", Atom::ListItemRight }, - { "ListRight", Atom::ListRight }, - { "NavAutoLink", Atom::NavAutoLink }, - { "NavLink", Atom::NavLink }, - { "Nop", Atom::Nop }, - { "NoteLeft", Atom::NoteLeft }, - { "NoteRight", Atom::NoteRight }, - { "ParaLeft", Atom::ParaLeft }, - { "ParaRight", Atom::ParaRight }, - { "Qml", Atom::Qml}, - { "QmlText", Atom::QmlText }, - { "QuotationLeft", Atom::QuotationLeft }, - { "QuotationRight", Atom::QuotationRight }, - { "RawString", Atom::RawString }, - { "SectionLeft", Atom::SectionLeft }, - { "SectionRight", Atom::SectionRight }, - { "SectionHeadingLeft", Atom::SectionHeadingLeft }, - { "SectionHeadingRight", Atom::SectionHeadingRight }, - { "SidebarLeft", Atom::SidebarLeft }, - { "SidebarRight", Atom::SidebarRight }, - { "SinceList", Atom::SinceList }, - { "SinceTagLeft", Atom::SinceTagLeft }, - { "SinceTagRight", Atom::SinceTagRight }, - { "SnippetCommand", Atom::SnippetCommand }, - { "SnippetIdentifier", Atom::SnippetIdentifier }, - { "SnippetLocation", Atom::SnippetLocation }, - { "String", Atom::String }, - { "TableLeft", Atom::TableLeft }, - { "TableRight", Atom::TableRight }, - { "TableHeaderLeft", Atom::TableHeaderLeft }, - { "TableHeaderRight", Atom::TableHeaderRight }, - { "TableRowLeft", Atom::TableRowLeft }, - { "TableRowRight", Atom::TableRowRight }, - { "TableItemLeft", Atom::TableItemLeft }, - { "TableItemRight", Atom::TableItemRight }, - { "TableOfContents", Atom::TableOfContents }, - { "Target", Atom::Target }, - { "UnhandledFormat", Atom::UnhandledFormat }, - { "UnknownCommand", Atom::UnknownCommand }, - { nullptr, 0 } -}; +} atms[] = { { "AnnotatedList", Atom::AnnotatedList }, + { "AutoLink", Atom::AutoLink }, + { "BaseName", Atom::BaseName }, + { "br", Atom::BR }, + { "BriefLeft", Atom::BriefLeft }, + { "BriefRight", Atom::BriefRight }, + { "C", Atom::C }, + { "CaptionLeft", Atom::CaptionLeft }, + { "CaptionRight", Atom::CaptionRight }, + { "Code", Atom::Code }, + { "CodeBad", Atom::CodeBad }, + { "CodeNew", Atom::CodeNew }, + { "CodeOld", Atom::CodeOld }, + { "CodeQuoteArgument", Atom::CodeQuoteArgument }, + { "CodeQuoteCommand", Atom::CodeQuoteCommand }, + { "DivLeft", Atom::DivLeft }, + { "DivRight", Atom::DivRight }, + { "EndQmlText", Atom::EndQmlText }, + { "ExampleFileLink", Atom::ExampleFileLink }, + { "ExampleImageLink", Atom::ExampleImageLink }, + { "FootnoteLeft", Atom::FootnoteLeft }, + { "FootnoteRight", Atom::FootnoteRight }, + { "FormatElse", Atom::FormatElse }, + { "FormatEndif", Atom::FormatEndif }, + { "FormatIf", Atom::FormatIf }, + { "FormattingLeft", Atom::FormattingLeft }, + { "FormattingRight", Atom::FormattingRight }, + { "GeneratedList", Atom::GeneratedList }, + { "hr", Atom::HR }, + { "Image", Atom::Image }, + { "ImageText", Atom::ImageText }, + { "ImportantLeft", Atom::ImportantLeft }, + { "ImportantRight", Atom::ImportantRight }, + { "InlineImage", Atom::InlineImage }, + { "JavaScript", Atom::JavaScript }, + { "EndJavaScript", Atom::EndJavaScript }, + { "Keyword", Atom::Keyword }, + { "LegaleseLeft", Atom::LegaleseLeft }, + { "LegaleseRight", Atom::LegaleseRight }, + { "LineBreak", Atom::LineBreak }, + { "Link", Atom::Link }, + { "LinkNode", Atom::LinkNode }, + { "ListLeft", Atom::ListLeft }, + { "ListItemNumber", Atom::ListItemNumber }, + { "ListTagLeft", Atom::ListTagLeft }, + { "ListTagRight", Atom::ListTagRight }, + { "ListItemLeft", Atom::ListItemLeft }, + { "ListItemRight", Atom::ListItemRight }, + { "ListRight", Atom::ListRight }, + { "NavAutoLink", Atom::NavAutoLink }, + { "NavLink", Atom::NavLink }, + { "Nop", Atom::Nop }, + { "NoteLeft", Atom::NoteLeft }, + { "NoteRight", Atom::NoteRight }, + { "ParaLeft", Atom::ParaLeft }, + { "ParaRight", Atom::ParaRight }, + { "Qml", Atom::Qml }, + { "QmlText", Atom::QmlText }, + { "QuotationLeft", Atom::QuotationLeft }, + { "QuotationRight", Atom::QuotationRight }, + { "RawString", Atom::RawString }, + { "SectionLeft", Atom::SectionLeft }, + { "SectionRight", Atom::SectionRight }, + { "SectionHeadingLeft", Atom::SectionHeadingLeft }, + { "SectionHeadingRight", Atom::SectionHeadingRight }, + { "SidebarLeft", Atom::SidebarLeft }, + { "SidebarRight", Atom::SidebarRight }, + { "SinceList", Atom::SinceList }, + { "SinceTagLeft", Atom::SinceTagLeft }, + { "SinceTagRight", Atom::SinceTagRight }, + { "SnippetCommand", Atom::SnippetCommand }, + { "SnippetIdentifier", Atom::SnippetIdentifier }, + { "SnippetLocation", Atom::SnippetLocation }, + { "String", Atom::String }, + { "TableLeft", Atom::TableLeft }, + { "TableRight", Atom::TableRight }, + { "TableHeaderLeft", Atom::TableHeaderLeft }, + { "TableHeaderRight", Atom::TableHeaderRight }, + { "TableRowLeft", Atom::TableRowLeft }, + { "TableRowRight", Atom::TableRowRight }, + { "TableItemLeft", Atom::TableItemLeft }, + { "TableItemRight", Atom::TableItemRight }, + { "TableOfContents", Atom::TableOfContents }, + { "Target", Atom::Target }, + { "UnhandledFormat", Atom::UnhandledFormat }, + { "UnknownCommand", Atom::UnknownCommand }, + { nullptr, 0 } }; /*! \fn Atom::Atom(AtomType type, const QString &string) @@ -333,7 +332,8 @@ QString Atom::typeString() const int i = 0; while (atms[i].english != nullptr) { if (atms[i].no != i) - Location::internalError(QCoreApplication::translate("QDoc::Atom", "atom %1 missing").arg(i)); + Location::internalError( + QCoreApplication::translate("QDoc::Atom", "atom %1 missing").arg(i)); ++i; } deja = true; @@ -365,10 +365,7 @@ void Atom::dump() const str.replace(QRegExp(QLatin1String("[^\x20-\x7e]")), QLatin1String("?")); if (!str.isEmpty()) str = QLatin1String(" \"") + str + QLatin1Char('"'); - fprintf(stderr, - " %-15s%s\n", - typeString().toLatin1().data(), - str.toLatin1().data()); + fprintf(stderr, " %-15s%s\n", typeString().toLatin1().data(), str.toLatin1().data()); } /*! @@ -400,13 +397,13 @@ void LinkAtom::resolveSquareBracketParams() if (resolved_) return; const QStringList params = squareBracketParams_.toLower().split(QLatin1Char(' ')); - for (const auto ¶m : params) { + for (const auto ¶m : params) { if (!domain_) { domain_ = QDocDatabase::qdocDB()->findTree(param); if (domain_) { - continue; + continue; } - } + } if (goal_ == Node::NoType) { goal_ = Node::goal(param); if (goal_ != Node::NoType) diff --git a/src/qdoc/atom.h b/src/qdoc/atom.h index 9ad1d2b7a..f7cb0b654 100644 --- a/src/qdoc/atom.h +++ b/src/qdoc/atom.h @@ -134,20 +134,14 @@ public: friend class LinkAtom; - Atom(const QString &string) - : next_(nullptr), type_(Link) - { - strs << string; - } + Atom(const QString &string) : next_(nullptr), type_(Link) { strs << string; } - Atom(AtomType type, const QString &string = "") - : next_(nullptr), type_(type) + Atom(AtomType type, const QString &string = "") : next_(nullptr), type_(type) { strs << string; } - Atom(AtomType type, const QString &p1, const QString &p2) - : next_(nullptr), type_(type) + Atom(AtomType type, const QString &p1, const QString &p2) : next_(nullptr), type_(type) { strs << p1; if (!p2.isEmpty()) @@ -170,7 +164,7 @@ public: previous->next_ = this; } - virtual ~Atom() { } + virtual ~Atom() {} void appendChar(QChar ch) { strs[0] += ch; } void appendString(const QString &string) { strs[0] += string; } @@ -196,7 +190,7 @@ public: virtual Tree *domain() { return nullptr; } virtual Node::NodeType goal() { return Node::NoType; } virtual const QString &error() { return noError_; } - virtual void resolveSquareBracketParams() { } + virtual void resolveSquareBracketParams() {} protected: static QString noError_; @@ -211,13 +205,29 @@ public: LinkAtom(const QString &p1, const QString &p2); LinkAtom(const LinkAtom &t); LinkAtom(Atom *previous, const LinkAtom &t); - ~LinkAtom() override { } + ~LinkAtom() override {} bool isLinkAtom() const override { return true; } - Node::Genus genus() override { resolveSquareBracketParams(); return genus_; } - bool specifiesDomain() override { resolveSquareBracketParams(); return (domain_ != nullptr); } - Tree *domain() override { resolveSquareBracketParams(); return domain_; } - Node::NodeType goal() override { resolveSquareBracketParams(); return goal_; } + Node::Genus genus() override + { + resolveSquareBracketParams(); + return genus_; + } + bool specifiesDomain() override + { + resolveSquareBracketParams(); + return (domain_ != nullptr); + } + Tree *domain() override + { + resolveSquareBracketParams(); + return domain_; + } + Node::NodeType goal() override + { + resolveSquareBracketParams(); + return goal_; + } const QString &error() override { return error_; } void resolveSquareBracketParams() override; @@ -230,26 +240,26 @@ protected: QString squareBracketParams_; }; -#define ATOM_FORMATTING_BOLD "bold" -#define ATOM_FORMATTING_INDEX "index" -#define ATOM_FORMATTING_ITALIC "italic" -#define ATOM_FORMATTING_LINK "link" -#define ATOM_FORMATTING_PARAMETER "parameter" -#define ATOM_FORMATTING_SPAN "span " -#define ATOM_FORMATTING_SUBSCRIPT "subscript" -#define ATOM_FORMATTING_SUPERSCRIPT "superscript" -#define ATOM_FORMATTING_TELETYPE "teletype" -#define ATOM_FORMATTING_UICONTROL "uicontrol" -#define ATOM_FORMATTING_UNDERLINE "underline" +#define ATOM_FORMATTING_BOLD "bold" +#define ATOM_FORMATTING_INDEX "index" +#define ATOM_FORMATTING_ITALIC "italic" +#define ATOM_FORMATTING_LINK "link" +#define ATOM_FORMATTING_PARAMETER "parameter" +#define ATOM_FORMATTING_SPAN "span " +#define ATOM_FORMATTING_SUBSCRIPT "subscript" +#define ATOM_FORMATTING_SUPERSCRIPT "superscript" +#define ATOM_FORMATTING_TELETYPE "teletype" +#define ATOM_FORMATTING_UICONTROL "uicontrol" +#define ATOM_FORMATTING_UNDERLINE "underline" -#define ATOM_LIST_BULLET "bullet" -#define ATOM_LIST_TAG "tag" -#define ATOM_LIST_VALUE "value" -#define ATOM_LIST_LOWERALPHA "loweralpha" -#define ATOM_LIST_LOWERROMAN "lowerroman" -#define ATOM_LIST_NUMERIC "numeric" -#define ATOM_LIST_UPPERALPHA "upperalpha" -#define ATOM_LIST_UPPERROMAN "upperroman" +#define ATOM_LIST_BULLET "bullet" +#define ATOM_LIST_TAG "tag" +#define ATOM_LIST_VALUE "value" +#define ATOM_LIST_LOWERALPHA "loweralpha" +#define ATOM_LIST_LOWERROMAN "lowerroman" +#define ATOM_LIST_NUMERIC "numeric" +#define ATOM_LIST_UPPERALPHA "upperalpha" +#define ATOM_LIST_UPPERROMAN "upperroman" QT_END_NAMESPACE diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp index 2e96a092d..5e04c344e 100644 --- a/src/qdoc/clangcodeparser.cpp +++ b/src/qdoc/clangcodeparser.cpp @@ -67,7 +67,7 @@ static CXTranslationUnit_Flags flags_ = static_cast(0); static CXIndex index_ = nullptr; #ifndef QT_NO_DEBUG_STREAM -template +template static QDebug operator<<(QDebug debug, const std::vector &v) { QDebugStateSaver saver(debug); @@ -90,10 +90,13 @@ static QDebug operator<<(QDebug debug, const std::vector &v) T can be any functor that is callable with a CXCursor parameter and returns a CXChildVisitResult (in other word compatible with function */ -template bool visitChildrenLambda(CXCursor cursor, T &&lambda) +template +bool visitChildrenLambda(CXCursor cursor, T &&lambda) { - CXCursorVisitor visitor = [](CXCursor c, CXCursor , CXClientData client_data) -> CXChildVisitResult - { return (*static_cast(client_data))(c); }; + CXCursorVisitor visitor = [](CXCursor c, CXCursor, + CXClientData client_data) -> CXChildVisitResult { + return (*static_cast(client_data))(c); + }; return clang_visitChildren(cursor, visitor, &lambda); } @@ -107,7 +110,6 @@ static QString fromCXString(CXString &&string) return ret; } - /*! convert a CXSourceLocation to a qdoc Location */ @@ -125,12 +127,17 @@ static Location fromCXSourceLocation(CXSourceLocation location) /*! convert a CX_CXXAccessSpecifier to Node::Access */ -static Node::Access fromCX_CXXAccessSpecifier(CX_CXXAccessSpecifier spec) { +static Node::Access fromCX_CXXAccessSpecifier(CX_CXXAccessSpecifier spec) +{ switch (spec) { - case CX_CXXPrivate: return Node::Private; - case CX_CXXProtected: return Node::Protected; - case CX_CXXPublic: return Node::Public; - default: return Node::Public; + case CX_CXXPrivate: + return Node::Private; + case CX_CXXProtected: + return Node::Protected; + case CX_CXXPublic: + return Node::Public; + default: + return Node::Public; } } @@ -154,7 +161,6 @@ static QString getSpelling(CXSourceRange range) return QString::fromUtf8(file.read(offset2 - offset1)); } - /*! Returns the function name from a given cursor representing a function declaration. This is usually clang_getCursorSpelling, but @@ -163,9 +169,9 @@ static QString getSpelling(CXSourceRange range) QString functionName(CXCursor cursor) { if (clang_getCursorKind(cursor) == CXCursor_ConversionFunction) { - // For a CXCursor_ConversionFunction we don't want the spelling which would be something like - // "operator type-parameter-0-0" or "operator unsigned int". - // we want the actual name as spelled; + // For a CXCursor_ConversionFunction we don't want the spelling which would be something + // like "operator type-parameter-0-0" or "operator unsigned int". we want the actual name as + // spelled; QString type = fromCXString(clang_getTypeSpelling(clang_getCursorResultType(cursor))); if (type.isEmpty()) return fromCXString(clang_getCursorSpelling(cursor)); @@ -185,7 +191,8 @@ QString functionName(CXCursor cursor) Reconstruct the qualified path name of a function that is being overridden. */ -static QString reconstructQualifiedPathForCursor(CXCursor cur) { +static QString reconstructQualifiedPathForCursor(CXCursor cur) +{ QString path; auto kind = clang_getCursorKind(cur); while (!clang_isInvalid(kind) && kind != CXCursor_TranslationUnit) { @@ -219,7 +226,8 @@ static QString reconstructQualifiedPathForCursor(CXCursor cur) { Find the node from the QDocDatabase \a qdb that corrseponds to the declaration represented by the cursor \a cur, if it exists. */ -static Node *findNodeForCursor(QDocDatabase *qdb, CXCursor cur) { +static Node *findNodeForCursor(QDocDatabase *qdb, CXCursor cur) +{ auto kind = clang_getCursorKind(cur); if (clang_isInvalid(kind)) return nullptr; @@ -308,7 +316,8 @@ static Node *findNodeForCursor(QDocDatabase *qdb, CXCursor cur) { corrseponds to the declaration represented by the cursor \a cur, if it exists. */ -static Node *findFunctionNodeForCursor(QDocDatabase *qdb, CXCursor cur) { +static Node *findFunctionNodeForCursor(QDocDatabase *qdb, CXCursor cur) +{ auto kind = clang_getCursorKind(cur); if (clang_isInvalid(kind)) return nullptr; @@ -375,10 +384,13 @@ static Node *findFunctionNodeForCursor(QDocDatabase *qdb, CXCursor cur) { return nullptr; } -class ClangVisitor { +class ClangVisitor +{ public: ClangVisitor(QDocDatabase *qdb, const QHash &allHeaders) - : qdb_(qdb), parent_(qdb->primaryTreeRoot()), allHeaders_(allHeaders) { } + : qdb_(qdb), parent_(qdb->primaryTreeRoot()), allHeaders_(allHeaders) + { + } QDocDatabase *qdocDB() { return qdb_; } @@ -425,6 +437,7 @@ public: } Node *nodeForCommentAtLocation(CXSourceLocation loc, CXSourceLocation nextCommentLoc); + private: /*! SimpleLoc represents a simple location in the main source file, @@ -433,7 +446,8 @@ private: struct SimpleLoc { unsigned int line, column; - friend bool operator<(const SimpleLoc &a, const SimpleLoc &b) { + friend bool operator<(const SimpleLoc &a, const SimpleLoc &b) + { return a.line != b.line ? a.line < b.line : a.column < b.column; } }; @@ -452,7 +466,8 @@ private: /*! Returns true if the symbol should be ignored for the documentation. */ - bool ignoredSymbol(const QString &symbolName) { + bool ignoredSymbol(const QString &symbolName) + { if (symbolName == QLatin1String("QPrivateSignal")) return true; return false; @@ -464,7 +479,8 @@ private: example: 'QLinkedList::iterator' -> 'iterator' */ - QString adjustTypeName(const QString &typeName) { + QString adjustTypeName(const QString &typeName) + { auto parent = parent_->parent(); if (parent && parent->isClassNode()) { QStringRef typeNameConstRemoved(&typeName); @@ -473,7 +489,7 @@ private: auto parentName = parent->fullName(); if (typeNameConstRemoved.startsWith(parentName) - && typeNameConstRemoved.mid(parentName.size(), 2) == QLatin1String("::")) { + && typeNameConstRemoved.mid(parentName.size(), 2) == QLatin1String("::")) { QString result = typeName; result.remove(typeNameConstRemoved.position(), parentName.size() + 2); return result; @@ -484,7 +500,8 @@ private: CXChildVisitResult visitSource(CXCursor cursor, CXSourceLocation loc); CXChildVisitResult visitHeader(CXCursor cursor, CXSourceLocation loc); - CXChildVisitResult visitFnSignature(CXCursor cursor, CXSourceLocation loc, Node **fnNode, bool &ignoreSignature); + CXChildVisitResult visitFnSignature(CXCursor cursor, CXSourceLocation loc, Node **fnNode, + bool &ignoreSignature); void parseProperty(const QString &spelling, const Location &loc); void readParameterNamesAndAttributes(FunctionNode *fn, CXCursor cursor); Aggregate *getSemanticParent(CXCursor cursor); @@ -524,7 +541,8 @@ Aggregate *ClangVisitor::getSemanticParent(CXCursor cursor) return parent_; } -CXChildVisitResult ClangVisitor::visitFnSignature(CXCursor cursor, CXSourceLocation , Node **fnNode, bool &ignoreSignature) +CXChildVisitResult ClangVisitor::visitFnSignature(CXCursor cursor, CXSourceLocation, Node **fnNode, + bool &ignoreSignature) { switch (clang_getCursorKind(cursor)) { case CXCursor_FunctionDecl: @@ -582,7 +600,8 @@ CXChildVisitResult ClangVisitor::visitHeader(CXCursor cursor, CXSourceLocation l if (!clang_isCursorDefinition(cursor)) return CXChildVisit_Continue; - if (findNodeForCursor(qdb_, cursor)) // Was already parsed, propably in another translation unit + if (findNodeForCursor(qdb_, + cursor)) // Was already parsed, propably in another translation unit return CXChildVisit_Continue; QString className = fromCXString(clang_getCursorSpelling(cursor)); @@ -610,7 +629,6 @@ CXChildVisitResult ClangVisitor::visitHeader(CXCursor cursor, CXSourceLocation l QScopedValueRollback setParent(parent_, classe); return visitChildren(cursor); - } case CXCursor_CXXBaseSpecifier: { if (!parent_->isClassNode()) @@ -633,7 +651,8 @@ CXChildVisitResult ClangVisitor::visitHeader(CXCursor cursor, CXSourceLocation l QString namespaceName = fromCXString(clang_getCursorDisplayName(cursor)); NamespaceNode *ns = nullptr; if (parent_) - ns = static_cast(parent_->findNonfunctionChild(namespaceName, &Node::isNamespace)); + ns = static_cast( + parent_->findNonfunctionChild(namespaceName, &Node::isNamespace)); if (!ns) { ns = new NamespaceNode(parent_, namespaceName); ns->setAccess(Node::Public); @@ -648,7 +667,8 @@ CXChildVisitResult ClangVisitor::visitHeader(CXCursor cursor, CXSourceLocation l case CXCursor_Constructor: case CXCursor_Destructor: case CXCursor_ConversionFunction: { - if (findNodeForCursor(qdb_, cursor)) // Was already parsed, propably in another translation unit + if (findNodeForCursor(qdb_, + cursor)) // Was already parsed, propably in another translation unit return CXChildVisit_Continue; QString name = functionName(cursor); if (ignoredSymbol(name)) @@ -679,14 +699,16 @@ CXChildVisitResult ClangVisitor::visitHeader(CXCursor cursor, CXSourceLocation l else if (kind == CXCursor_Destructor) fn->setMetaness(FunctionNode::Dtor); else - fn->setReturnType(adjustTypeName(fromCXString( - clang_getTypeSpelling(clang_getResultType(funcType))))); + fn->setReturnType(adjustTypeName( + fromCXString(clang_getTypeSpelling(clang_getResultType(funcType))))); fn->setStatic(clang_CXXMethod_isStatic(cursor)); fn->setConst(clang_CXXMethod_isConst(cursor)); - fn->setVirtualness(!clang_CXXMethod_isVirtual(cursor) ? FunctionNode::NonVirtual - : clang_CXXMethod_isPureVirtual(cursor) ? FunctionNode::PureVirtual - : FunctionNode::NormalVirtual); + fn->setVirtualness(!clang_CXXMethod_isVirtual(cursor) + ? FunctionNode::NonVirtual + : clang_CXXMethod_isPureVirtual(cursor) + ? FunctionNode::PureVirtual + : FunctionNode::NormalVirtual); CXRefQualifierKind refQualKind = clang_Type_getCXXRefQualifier(funcType); if (refQualKind == CXRefQualifier_LValue) fn->setRef(true); @@ -746,7 +768,7 @@ CXChildVisitResult ClangVisitor::visitHeader(CXCursor cursor, CXSourceLocation l Aggregate *ns = parent_; while (ns && ns->isClassNode()) ns = ns->parent(); - QScopedValueRollbacksetParent(parent_, ns); + QScopedValueRollback setParent(parent_, ns); // Visit the friend functions return visitChildren(cursor); } @@ -774,7 +796,6 @@ CXChildVisitResult ClangVisitor::visitHeader(CXCursor cursor, CXSourceLocation l if (clang_getCursorKind(cur) != CXCursor_EnumConstantDecl) return CXChildVisit_Continue; - QString value; visitChildrenLambda(cur, [&](CXCursor cur) { if (clang_isExpression(clang_getCursorKind(cur))) { @@ -799,7 +820,8 @@ CXChildVisitResult ClangVisitor::visitHeader(CXCursor cursor, CXSourceLocation l } case CXCursor_FieldDecl: case CXCursor_VarDecl: { - if (findNodeForCursor(qdb_, cursor)) // Was already parsed, propably in another translation unit + if (findNodeForCursor(qdb_, + cursor)) // Was already parsed, propably in another translation unit return CXChildVisit_Continue; auto access = fromCX_CXXAccessSpecifier(clang_getCXXAccessSpecifier(cursor)); auto var = new VariableNode(parent_, fromCXString(clang_getCursorSpelling(cursor))); @@ -810,7 +832,8 @@ CXChildVisitResult ClangVisitor::visitHeader(CXCursor cursor, CXSourceLocation l return CXChildVisit_Continue; } case CXCursor_TypedefDecl: { - if (findNodeForCursor(qdb_, cursor)) // Was already parsed, propably in another translation unit + if (findNodeForCursor(qdb_, + cursor)) // Was already parsed, propably in another translation unit return CXChildVisit_Continue; TypedefNode *td = new TypedefNode(parent_, fromCXString(clang_getCursorSpelling(cursor))); td->setAccess(fromCX_CXXAccessSpecifier(clang_getCXXAccessSpecifier(cursor))); @@ -818,13 +841,14 @@ CXChildVisitResult ClangVisitor::visitHeader(CXCursor cursor, CXSourceLocation l // Search to see if this is a Q_DECLARE_FLAGS (if the type is QFlags) visitChildrenLambda(cursor, [&](CXCursor cur) { if (clang_getCursorKind(cur) != CXCursor_TemplateRef - || fromCXString(clang_getCursorSpelling(cur)) != QLatin1String("QFlags")) + || fromCXString(clang_getCursorSpelling(cur)) != QLatin1String("QFlags")) return CXChildVisit_Continue; // Found QFlags visitChildrenLambda(cursor, [&](CXCursor cur) { if (clang_getCursorKind(cur) != CXCursor_TypeRef) return CXChildVisit_Continue; - auto *en = findNodeForCursor(qdb_, clang_getTypeDeclaration(clang_getCursorType(cur))); + auto *en = + findNodeForCursor(qdb_, clang_getTypeDeclaration(clang_getCursorType(cur))); if (en && en->isEnumType()) static_cast(en)->setFlagsType(td); return CXChildVisit_Break; @@ -836,10 +860,10 @@ CXChildVisitResult ClangVisitor::visitHeader(CXCursor cursor, CXSourceLocation l default: if (clang_isDeclaration(kind) && parent_->isClassNode()) { // maybe a static_assert (which is not exposed from the clang API) - QString spelling = getSpelling(clang_getCursorExtent(cursor)); + QString spelling = getSpelling(clang_getCursorExtent(cursor)); if (spelling.startsWith(QLatin1String("Q_PROPERTY")) - || spelling.startsWith(QLatin1String("QDOC_PROPERTY")) - || spelling.startsWith(QLatin1String("Q_OVERRIDE"))) { + || spelling.startsWith(QLatin1String("QDOC_PROPERTY")) + || spelling.startsWith(QLatin1String("Q_OVERRIDE"))) { parseProperty(spelling, fromCXSourceLocation(loc)); } } @@ -907,7 +931,7 @@ void ClangVisitor::parseProperty(const QString &spelling, const Location &loc) QString name = part.at(1); if (name.at(0) == QChar('*')) { type.append(QChar('*')); - name.remove(0,1); + name.remove(0, 1); } auto *property = new PropertyNode(parent_, name); property->setAccess(Node::Public); @@ -923,7 +947,7 @@ void ClangVisitor::parseProperty(const QString &spelling, const Location &loc) property->setFinal(); } if (i < part.size()) { - QString value = part.at(i++); + QString value = part.at(i++); if (key == "READ") { qdb_->addPropertyFunction(property, value, PropertyNode::Getter); } else if (key == "WRITE") { @@ -990,14 +1014,14 @@ Node *ClangVisitor::nodeForCommentAtLocation(CXSourceLocation loc, CXSourceLocat // make sure the previous decl was finished. if (decl_it != declMap_.begin()) { - CXSourceLocation prevDeclEnd = clang_getRangeEnd(clang_getCursorExtent(*(decl_it-1))); + CXSourceLocation prevDeclEnd = clang_getRangeEnd(clang_getCursorExtent(*(decl_it - 1))); unsigned int prevDeclLine; clang_getPresumedLocation(prevDeclEnd, nullptr, &prevDeclLine, nullptr); if (prevDeclLine >= docloc.line) { // The previous declaration was still going. This is only valid if the previous // declaration is a parent of the next declaration. auto parent = clang_getCursorLexicalParent(*decl_it); - if (!clang_equalCursors(parent, *(decl_it-1))) + if (!clang_equalCursors(parent, *(decl_it - 1))) return nullptr; } } @@ -1039,12 +1063,12 @@ void ClangCodeParser::initializeParser(const Config &config) includePaths_.resize(squeezedArgs.size()); std::transform(squeezedArgs.begin(), squeezedArgs.end(), includePaths_.begin(), [](const QString &s) { - QByteArray path(s.toUtf8()); - QFileInfo fi(QDir::current(), s); - if (fi.exists()) - path = fi.canonicalFilePath().toUtf8(); - return path.prepend("-I"); - }); + QByteArray path(s.toUtf8()); + QFileInfo fi(QDir::current(), s); + if (fi.exists()) + path = fi.canonicalFilePath().toUtf8(); + return path.prepend("-I"); + }); CppCodeParser::initializeParser(config); pchFileDir_.reset(nullptr); allHeaders_.clear(); @@ -1073,8 +1097,8 @@ void ClangCodeParser::initializeParser(const Config &config) } } } - qCDebug(lcQdoc).nospace() << __FUNCTION__ << " Clang v" << CINDEX_VERSION_MAJOR - << '.' << CINDEX_VERSION_MINOR; + qCDebug(lcQdoc).nospace() << __FUNCTION__ << " Clang v" << CINDEX_VERSION_MAJOR << '.' + << CINDEX_VERSION_MINOR; } /*! @@ -1096,7 +1120,12 @@ QString ClangCodeParser::language() */ QStringList ClangCodeParser::headerFileNameFilter() { - return QStringList() << "*.ch" << "*.h" << "*.h++" << "*.hh" << "*.hpp" << "*.hxx"; + return QStringList() << "*.ch" + << "*.h" + << "*.h++" + << "*.hh" + << "*.hpp" + << "*.hxx"; } /*! @@ -1105,7 +1134,11 @@ QStringList ClangCodeParser::headerFileNameFilter() */ QStringList ClangCodeParser::sourceFileNameFilter() { - return QStringList() << "*.c++" << "*.cc" << "*.cpp" << "*.cxx" << "*.mm"; + return QStringList() << "*.c++" + << "*.cc" + << "*.cpp" + << "*.cxx" + << "*.mm"; } /*! @@ -1158,8 +1191,8 @@ static QVector includePathsFromHeaders(const QHash QVector result; for (auto it = allHeaders.cbegin(); it != allHeaders.cend(); ++it) { const QByteArray path = "-I" + it.value().toLatin1(); - const QByteArray parent = "-I" - + QDir::cleanPath(it.value() + QLatin1String("/../")).toLatin1(); + const QByteArray parent = + "-I" + QDir::cleanPath(it.value() + QLatin1String("/../")).toLatin1(); if (!result.contains(path)) result.append(path); if (!result.contains(parent)) @@ -1191,7 +1224,8 @@ bool ClangCodeParser::getMoreArgs() of reasonable places to look for include files and use that list instead. */ - Location::logToStdErrAlways("No include paths passed to qdoc; guessing reasonable include paths"); + Location::logToStdErrAlways( + "No include paths passed to qdoc; guessing reasonable include paths"); guessedIncludePaths = true; auto forest = qdb_->searchOrder(); @@ -1199,8 +1233,7 @@ bool ClangCodeParser::getMoreArgs() QString basicIncludeDir = QDir::cleanPath(QString(Config::installDir + "/../include")); moreArgs_ += "-I" + basicIncludeDir.toLatin1(); moreArgs_ += includePathsFromHeaders(allHeaders_); - } - else { + } else { moreArgs_ = includePaths_; } @@ -1217,22 +1250,28 @@ void ClangCodeParser::buildPCH() if (!pchFileDir_ && !moduleHeader().isEmpty()) { pchFileDir_.reset(new QTemporaryDir(QDir::tempPath() + QLatin1String("/qdoc_pch"))); if (pchFileDir_->isValid()) { - //const QByteArray module = qdb_->primaryTreeRoot()->tree()->camelCaseModuleName().toUtf8(); + // const QByteArray module = + // qdb_->primaryTreeRoot()->tree()->camelCaseModuleName().toUtf8(); const QByteArray module = moduleHeader().toUtf8(); QByteArray header; QByteArray privateHeaderDir; Location::logToStdErrAlways("Build & visit PCH for " + moduleHeader()); // A predicate for std::find_if() to locate a path to the module's header // (e.g. QtGui/QtGui) to be used as pre-compiled header - struct FindPredicate { + struct FindPredicate + { enum SearchType { Any, Module, Private }; QByteArray &candidate_; const QByteArray &module_; SearchType type_; - FindPredicate(QByteArray &candidate, const QByteArray &module, SearchType type = Any) - : candidate_(candidate), module_(module), type_(type) {} + FindPredicate(QByteArray &candidate, const QByteArray &module, + SearchType type = Any) + : candidate_(candidate), module_(module), type_(type) + { + } - bool operator()(const QByteArray &p) const { + bool operator()(const QByteArray &p) const + { if (type_ != Any && !p.endsWith(module_)) return false; candidate_ = p + "/"; @@ -1255,27 +1294,25 @@ void ClangCodeParser::buildPCH() // First, search for an include path that contains the module name, then any path QByteArray candidate; - auto it = std::find_if(includePaths_.begin(), - includePaths_.end(), + auto it = std::find_if(includePaths_.begin(), includePaths_.end(), FindPredicate(candidate, module, FindPredicate::Module)); if (it == includePaths_.end()) - it = std::find_if(includePaths_.begin(), - includePaths_.end(), + it = std::find_if(includePaths_.begin(), includePaths_.end(), FindPredicate(candidate, module, FindPredicate::Any)); if (it != includePaths_.end()) header = candidate; // Find the path to module's private headers - currently unused - it = std::find_if(includePaths_.begin(), - includePaths_.end(), + it = std::find_if(includePaths_.begin(), includePaths_.end(), FindPredicate(candidate, module, FindPredicate::Private)); if (it != includePaths_.end()) privateHeaderDir = candidate; if (header.isEmpty()) { qWarning() << "(qdoc) Could not find the module header in include paths for module" - << module << " (include paths: "<< includePaths_ << ")"; - qWarning() << " Artificial module header built from header dirs in qdocconf file"; + << module << " (include paths: " << includePaths_ << ")"; + qWarning() << " Artificial module header built from header dirs in qdocconf " + "file"; } args_.push_back("-xc++"); CXTranslationUnit tu; @@ -1285,11 +1322,11 @@ void ClangCodeParser::buildPCH() QTextStream out(&tmpHeaderFile); if (header.isEmpty()) { for (auto it = allHeaders_.constKeyValueBegin(); - it != allHeaders_.constKeyValueEnd(); ++it) { - if (!(*it).first.endsWith(QLatin1String("_p.h")) && - !(*it).first.startsWith(QLatin1String("moc_"))) { - QString line = QLatin1String("#include \"") + (*it).second + - QLatin1String("/") + (*it).first + QLatin1String("\""); + it != allHeaders_.constKeyValueEnd(); ++it) { + if (!(*it).first.endsWith(QLatin1String("_p.h")) + && !(*it).first.startsWith(QLatin1String("moc_"))) { + QString line = QLatin1String("#include \"") + (*it).second + + QLatin1String("/") + (*it).first + QLatin1String("\""); out << line << "\n"; } } @@ -1306,25 +1343,27 @@ void ClangCodeParser::buildPCH() out << line << "\n"; } } - tmpHeaderFile.close(); + tmpHeaderFile.close(); } if (printParsingErrors_ == 0) - Location::logToStdErrAlways("clang not printing errors; include paths were guessed"); - CXErrorCode err = clang_parseTranslationUnit2(index_, - tmpHeader.toLatin1().data(), - args_.data(), static_cast(args_.size()), nullptr, 0, - flags_ | CXTranslationUnit_ForSerialization, &tu); - qCDebug(lcQdoc) << __FUNCTION__ << "clang_parseTranslationUnit2(" - << tmpHeader << args_ << ") returns" << err; + Location::logToStdErrAlways( + "clang not printing errors; include paths were guessed"); + CXErrorCode err = + clang_parseTranslationUnit2(index_, tmpHeader.toLatin1().data(), args_.data(), + static_cast(args_.size()), nullptr, 0, + flags_ | CXTranslationUnit_ForSerialization, &tu); + qCDebug(lcQdoc) << __FUNCTION__ << "clang_parseTranslationUnit2(" << tmpHeader << args_ + << ") returns" << err; if (!err && tu) { pchName_ = pchFileDir_->path().toUtf8() + "/" + module + ".pch"; - auto error = clang_saveTranslationUnit(tu, pchName_.constData(), clang_defaultSaveOptions(tu)); + auto error = clang_saveTranslationUnit(tu, pchName_.constData(), + clang_defaultSaveOptions(tu)); if (error) { Location::logToStdErrAlways("Could not save PCH file for " + moduleHeader()); pchName_.clear(); - } - else { - // Visit the header now, as token from pre-compiled header won't be visited later + } else { + // Visit the header now, as token from pre-compiled header won't be visited + // later CXCursor cur = clang_getTranslationUnitCursor(tu); ClangVisitor visitor(qdb_, allHeaders_); visitor.visitChildren(cur); @@ -1351,7 +1390,9 @@ void ClangCodeParser::precompileHeaders() for (const auto &p : qAsConst(moreArgs_)) args_.push_back(p.constData()); - flags_ = static_cast(CXTranslationUnit_Incomplete | CXTranslationUnit_SkipFunctionBodies | CXTranslationUnit_KeepGoing); + flags_ = static_cast(CXTranslationUnit_Incomplete + | CXTranslationUnit_SkipFunctionBodies + | CXTranslationUnit_KeepGoing); // 1 as 2nd parameter tells clang to report parser errors. index_ = clang_createIndex(1, printParsingErrors_); buildPCH(); @@ -1372,7 +1413,7 @@ static float getUnpatchedVersion(QString t) Call matchDocsAndStuff() to do all the parsing and tree building. */ -void ClangCodeParser::parseSourceFile(const Location &/*location*/, const QString &filePath) +void ClangCodeParser::parseSourceFile(const Location & /*location*/, const QString &filePath) { /* The set of open namespaces is cleared before parsing @@ -1380,7 +1421,9 @@ void ClangCodeParser::parseSourceFile(const Location &/*location*/, const QStrin */ qdb_->clearOpenNamespaces(); currentFile_ = filePath; - flags_ = static_cast(CXTranslationUnit_Incomplete | CXTranslationUnit_SkipFunctionBodies | CXTranslationUnit_KeepGoing); + flags_ = static_cast(CXTranslationUnit_Incomplete + | CXTranslationUnit_SkipFunctionBodies + | CXTranslationUnit_KeepGoing); index_ = clang_createIndex(1, 0); getDefaultArgs(); @@ -1394,10 +1437,11 @@ void ClangCodeParser::parseSourceFile(const Location &/*location*/, const QStrin args_.push_back(p.constData()); CXTranslationUnit tu; - CXErrorCode err = clang_parseTranslationUnit2(index_, filePath.toLocal8Bit(), args_.data(), - static_cast(args_.size()), nullptr, 0, flags_, &tu); - qCDebug(lcQdoc) << __FUNCTION__ << "clang_parseTranslationUnit2(" - << filePath << args_ << ") returns" << err; + CXErrorCode err = + clang_parseTranslationUnit2(index_, filePath.toLocal8Bit(), args_.data(), + static_cast(args_.size()), nullptr, 0, flags_, &tu); + qCDebug(lcQdoc) << __FUNCTION__ << "clang_parseTranslationUnit2(" << filePath << args_ + << ") returns" << err; if (err || !tu) { qWarning() << "(qdoc) Could not parse source file" << filePath << " error code:" << err; clang_disposeIndex(index_); @@ -1422,7 +1466,7 @@ void ClangCodeParser::parseSourceFile(const Location &/*location*/, const QStrin auto loc = fromCXSourceLocation(clang_getTokenLocation(tu, tokens[i])); auto end_loc = fromCXSourceLocation(clang_getRangeEnd(clang_getTokenExtent(tu, tokens[i]))); - Doc::trimCStyleComment(loc,comment); + Doc::trimCStyleComment(loc, comment); // Doc constructor parses the comment. Doc doc(loc, end_loc, comment, commands, topicCommands()); @@ -1442,9 +1486,9 @@ void ClangCodeParser::parseSourceFile(const Location &/*location*/, const QStrin if (i + 1 < numTokens) { // Try to find the next declaration. CXSourceLocation nextCommentLoc = commentLoc; - while (i + 2 < numTokens && clang_getTokenKind(tokens[i+1]) != CXToken_Comment) + while (i + 2 < numTokens && clang_getTokenKind(tokens[i + 1]) != CXToken_Comment) ++i; // already skip all the tokens that are not comments - nextCommentLoc = clang_getTokenLocation(tu, tokens[i+1]); + nextCommentLoc = clang_getTokenLocation(tu, tokens[i + 1]); n = visitor.nodeForCommentAtLocation(commentLoc, nextCommentLoc); } @@ -1464,7 +1508,8 @@ void ClangCodeParser::parseSourceFile(const Location &/*location*/, const QStrin "topic command (e.g., '\\%1', '\\%2') in the " "comment and no function definition following " "the comment.") - .arg(COMMAND_FN).arg(COMMAND_PAGE)); + .arg(COMMAND_FN) + .arg(COMMAND_PAGE)); } } } else { @@ -1498,7 +1543,9 @@ Node *ClangCodeParser::parseFnArg(const Location &location, const QString &fnArg QString tag = fnArg.left(end + 1); fnNode = qdb_->findFunctionNodeForTag(tag); if (!fnNode) { - location.error(ClangCodeParser::tr("tag \\fn %1 not used in any include file in current module").arg(tag)); + location.error(ClangCodeParser::tr( + "tag \\fn %1 not used in any include file in current module") + .arg(tag)); } else { /* The function node was found. Use the formal @@ -1536,9 +1583,9 @@ Node *ClangCodeParser::parseFnArg(const Location &location, const QString &fnArg } return fnNode; } - CXTranslationUnit_Flags flags = static_cast(CXTranslationUnit_Incomplete | - CXTranslationUnit_SkipFunctionBodies | - CXTranslationUnit_KeepGoing); + CXTranslationUnit_Flags flags = static_cast( + CXTranslationUnit_Incomplete | CXTranslationUnit_SkipFunctionBodies + | CXTranslationUnit_KeepGoing); // Change 2nd parameter to 1 to make clang report errors. CXIndex index = clang_createIndex(1, Utilities::debugging() ? 1 : 0); @@ -1558,15 +1605,10 @@ Node *ClangCodeParser::parseFnArg(const Location &location, const QString &fnArg const char *dummyFileName = "/fn_dummyfile.cpp"; CXUnsavedFile unsavedFile { dummyFileName, fn.constData(), static_cast(fn.size()) }; - CXErrorCode err = clang_parseTranslationUnit2(index, dummyFileName, - args.data(), - args.size(), - &unsavedFile, - 1, - flags, - &tu); - qCDebug(lcQdoc) << __FUNCTION__ << "clang_parseTranslationUnit2(" - << dummyFileName << args << ") returns" << err; + CXErrorCode err = clang_parseTranslationUnit2(index, dummyFileName, args.data(), args.size(), + &unsavedFile, 1, flags, &tu); + qCDebug(lcQdoc) << __FUNCTION__ << "clang_parseTranslationUnit2(" << dummyFileName << args + << ") returns" << err; if (err || !tu) { location.error(ClangCodeParser::tr("clang could not parse \\fn %1").arg(fnArg)); clang_disposeTranslationUnit(tu); @@ -1609,10 +1651,12 @@ Node *ClangCodeParser::parseFnArg(const Location &location, const QString &fnArg } } if (report) { - location.warning(ClangCodeParser::tr("clang found diagnostics parsing \\fn %1").arg(fnArg)); + location.warning(ClangCodeParser::tr("clang found diagnostics parsing \\fn %1") + .arg(fnArg)); for (unsigned i = 0; i < diagnosticCount; ++i) { CXDiagnostic diagnostic = clang_getDiagnostic(tu, i); - location.report(tr(" %1").arg(fromCXString(clang_formatDiagnostic(diagnostic, 0)))); + location.report(tr(" %1").arg( + fromCXString(clang_formatDiagnostic(diagnostic, 0)))); } } } diff --git a/src/qdoc/codechunk.cpp b/src/qdoc/codechunk.cpp index 27f26fdd6..d6293432e 100644 --- a/src/qdoc/codechunk.cpp +++ b/src/qdoc/codechunk.cpp @@ -40,47 +40,45 @@ QT_BEGIN_NAMESPACE enum { Other, Alnum, Gizmo, Comma, LBrace, RBrace, RAngle, Colon, Paren }; // entries 128 and above are Other -static const int charCategory[256] = { - Other, Other, Other, Other, Other, Other, Other, Other, - Other, Other, Other, Other, Other, Other, Other, Other, - Other, Other, Other, Other, Other, Other, Other, Other, - Other, Other, Other, Other, Other, Other, Other, Other, - // ! " # $ % & ' - Other, Other, Other, Other, Other, Gizmo, Gizmo, Other, - // ( ) * + , - . / - Paren, Paren, Gizmo, Gizmo, Comma, Other, Other, Gizmo, - // 0 1 2 3 4 5 6 7 - Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, - // 8 9 : ; < = > ? - Alnum, Alnum, Colon, Other, Other, Gizmo, RAngle, Gizmo, - // @ A B C D E F G - Other, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, - // H I J K L M N O - Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, - // P Q R S T U V W - Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, - // X Y Z [ \ ] ^ _ - Alnum, Alnum, Alnum, Other, Other, Other, Gizmo, Alnum, - // ` a b c d e f g - Other, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, - // h i j k l m n o - Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, - // p q r s t u v w - Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, - // x y z { | } ~ - Alnum, Alnum, Alnum, LBrace, Gizmo, RBrace, Other, Other -}; +static const int charCategory[256] = { Other, Other, Other, Other, Other, Other, Other, Other, + Other, Other, Other, Other, Other, Other, Other, Other, + Other, Other, Other, Other, Other, Other, Other, Other, + Other, Other, Other, Other, Other, Other, Other, Other, + // ! " # $ % & ' + Other, Other, Other, Other, Other, Gizmo, Gizmo, Other, + // ( ) * + , - . / + Paren, Paren, Gizmo, Gizmo, Comma, Other, Other, Gizmo, + // 0 1 2 3 4 5 6 7 + Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, + // 8 9 : ; < = > ? + Alnum, Alnum, Colon, Other, Other, Gizmo, RAngle, Gizmo, + // @ A B C D E F G + Other, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, + // H I J K L M N O + Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, + // P Q R S T U V W + Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, + // X Y Z [ \ ] ^ _ + Alnum, Alnum, Alnum, Other, Other, Other, Gizmo, Alnum, + // ` a b c d e f g + Other, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, + // h i j k l m n o + Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, + // p q r s t u v w + Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, Alnum, + // x y z { | } ~ + Alnum, Alnum, Alnum, LBrace, Gizmo, RBrace, Other, Other }; static const bool needSpace[9][9] = { /* [ a + , { } > : ) */ - /* [ */ { false, false, false, false, false, true, false, false, false }, - /* a */ { false, true, true, false, false, true, false, false, false }, - /* + */ { false, true, false, false, false, true, false, true, false }, - /* , */ { true, true, true, true, true, true, true, true, false }, + /* [ */ { false, false, false, false, false, true, false, false, false }, + /* a */ { false, true, true, false, false, true, false, false, false }, + /* + */ { false, true, false, false, false, true, false, true, false }, + /* , */ { true, true, true, true, true, true, true, true, false }, /* { */ { false, false, false, false, false, false, false, false, false }, /* } */ { false, false, false, false, false, false, false, false, false }, - /* > */ { true, true, true, false, true, true, true, false, false }, - /* : */ { false, false, true, true, true, true, true, false, false }, + /* > */ { true, true, true, false, true, true, true, false, false }, + /* : */ { false, false, true, true, true, true, true, false, false }, /* ( */ { false, false, false, false, false, false, false, false, false }, }; diff --git a/src/qdoc/codechunk.h b/src/qdoc/codechunk.h index b7cda1324..0ccc26304 100644 --- a/src/qdoc/codechunk.h +++ b/src/qdoc/codechunk.h @@ -46,7 +46,11 @@ public: CodeChunk(const QString &str) : s(str), hotspot(-1) {} void append(const QString &lexeme); - void appendHotspot() { if (hotspot == -1) hotspot = s.length(); } + void appendHotspot() + { + if (hotspot == -1) + hotspot = s.length(); + } bool isEmpty() const { return s.isEmpty(); } void clear() { s.clear(); } @@ -60,27 +64,33 @@ private: int hotspot; }; -inline bool operator==(const CodeChunk& c, const CodeChunk& d) { +inline bool operator==(const CodeChunk &c, const CodeChunk &d) +{ return c.toString() == d.toString(); } -inline bool operator!=(const CodeChunk& c, const CodeChunk& d) { +inline bool operator!=(const CodeChunk &c, const CodeChunk &d) +{ return !(c == d); } -inline bool operator<(const CodeChunk& c, const CodeChunk& d) { +inline bool operator<(const CodeChunk &c, const CodeChunk &d) +{ return c.toString() < d.toString(); } -inline bool operator>(const CodeChunk& c, const CodeChunk& d) { +inline bool operator>(const CodeChunk &c, const CodeChunk &d) +{ return d < c; } -inline bool operator<=(const CodeChunk& c, const CodeChunk& d) { +inline bool operator<=(const CodeChunk &c, const CodeChunk &d) +{ return !(c > d); } -inline bool operator>=(const CodeChunk& c, const CodeChunk& d) { +inline bool operator>=(const CodeChunk &c, const CodeChunk &d) +{ return !(c < d); } diff --git a/src/qdoc/codemarker.cpp b/src/qdoc/codemarker.cpp index f9b1a163e..000bf97f0 100644 --- a/src/qdoc/codemarker.cpp +++ b/src/qdoc/codemarker.cpp @@ -152,15 +152,14 @@ QString CodeMarker::stringForNode(const Node *node) { if (sizeof(const Node *) == sizeof(ulong)) { return QString::number(reinterpret_cast(node)); - } - else { + } else { return QString::number(reinterpret_cast(node)); } } -static const QString samp = QLatin1String("&"); -static const QString slt = QLatin1String("<"); -static const QString sgt = QLatin1String(">"); +static const QString samp = QLatin1String("&"); +static const QString slt = QLatin1String("<"); +static const QString sgt = QLatin1String(">"); static const QString squot = QLatin1String("""); QString CodeMarker::protect(const QString &str) @@ -171,11 +170,20 @@ QString CodeMarker::protect(const QString &str) const QChar *data = str.constData(); for (int i = 0; i != n; ++i) { switch (data[i].unicode()) { - case '&': marked += samp; break; - case '<': marked += slt; break; - case '>': marked += sgt; break; - case '"': marked += squot; break; - default : marked += data[i]; + case '&': + marked += samp; + break; + case '<': + marked += slt; + break; + case '>': + marked += sgt; + break; + case '"': + marked += squot; + break; + default: + marked += data[i]; } } return marked; @@ -188,11 +196,20 @@ void CodeMarker::appendProtectedString(QString *output, const QStringRef &str) const QChar *data = str.constData(); for (int i = 0; i != n; ++i) { switch (data[i].unicode()) { - case '&': *output += samp; break; - case '<': *output += slt; break; - case '>': *output += sgt; break; - case '"': *output += squot; break; - default : *output += data[i]; + case '&': + *output += samp; + break; + case '<': + *output += slt; + break; + case '>': + *output += sgt; + break; + case '"': + *output += squot; + break; + default: + *output += data[i]; } } } @@ -208,12 +225,10 @@ QString CodeMarker::typified(const QString &string, bool trailingSpace) ch = string.at(i); QChar lower = ch.toLower(); - if ((lower >= QLatin1Char('a') && lower <= QLatin1Char('z')) - || ch.digitValue() >= 0 || ch == QLatin1Char('_') - || ch == QLatin1Char(':')) { + if ((lower >= QLatin1Char('a') && lower <= QLatin1Char('z')) || ch.digitValue() >= 0 + || ch == QLatin1Char('_') || ch == QLatin1Char(':')) { pendingWord += ch; - } - else { + } else { if (!pendingWord.isEmpty()) { bool isProbablyType = (pendingWord != QLatin1String("const")); if (isProbablyType) @@ -242,9 +257,8 @@ QString CodeMarker::typified(const QString &string, bool trailingSpace) } } if (trailingSpace && string.size()) { - if (!string.endsWith(QLatin1Char('*')) - && !string.endsWith(QLatin1Char('&'))) - result += QLatin1Char(' '); + if (!string.endsWith(QLatin1Char('*')) && !string.endsWith(QLatin1Char('&'))) + result += QLatin1Char(' '); } return result; } @@ -295,8 +309,8 @@ QString CodeMarker::taggedNode(const Node *node) tag = QLatin1String("@unknown"); break; } - return (QLatin1Char('<') + tag + QLatin1Char('>') + protect(name) - + QLatin1String("')); + return (QLatin1Char('<') + tag + QLatin1Char('>') + protect(name) + QLatin1String("')); } QString CodeMarker::taggedQmlNode(const Node *node) @@ -326,14 +340,14 @@ QString CodeMarker::taggedQmlNode(const Node *node) } else { tag = QLatin1String("@unknown"); } - return QLatin1Char('<') + tag + QLatin1Char('>') + protect(node->name()) - + QLatin1String("'); + return QLatin1Char('<') + tag + QLatin1Char('>') + protect(node->name()) + QLatin1String("'); } QString CodeMarker::linkTag(const Node *node, const QString &body) { - return QLatin1String("<@link node=\"") + stringForNode(node) - + QLatin1String("\">") + body + QLatin1String(""); + return QLatin1String("<@link node=\"") + stringForNode(node) + QLatin1String("\">") + body + + QLatin1String(""); } static QString encode(const QString &string) @@ -345,32 +359,27 @@ QStringList CodeMarker::macRefsForNode(Node *node) { QString result = QLatin1String("cpp/"); switch (node->nodeType()) { - case Node::Class: - { + case Node::Class: { const ClassNode *classe = static_cast(node); { result += QLatin1String("cl/"); } result += macName(classe); // ### Maybe plainName? - } - break; - case Node::Enum: - { + } break; + case Node::Enum: { QStringList stringList; stringList << encode(result + QLatin1String("tag/") + macName(node)); const auto enumItemNames = node->doc().enumItemNames(); for (const auto &name : enumItemNames) { // ### Write a plainEnumValue() and use it here - stringList << encode(result + QLatin1String("econst/") + - macName(node->parent(), name)); + stringList << encode(result + QLatin1String("econst/") + macName(node->parent(), name)); } return stringList; } case Node::Typedef: result += QLatin1String("tdef/") + macName(node); break; - case Node::Function: - { + case Node::Function: { bool isMacro = false; Q_UNUSED(isMacro); const FunctionNode *func = static_cast(node); @@ -381,27 +390,22 @@ QStringList CodeMarker::macRefsForNode(Node *node) if (func->isMacro()) { result += QLatin1String("macro/"); - } - else if (func->isStatic()) { + } else if (func->isStatic()) { result += QLatin1String("clm/"); - } - else if (!func->parent()->name().isEmpty()) { + } else if (!func->parent()->name().isEmpty()) { result += QLatin1String("instm/"); - } - else { + } else { result += QLatin1String("func/"); } result += macName(func); if (result.endsWith(QLatin1String("()"))) result.chop(2); - } - break; + } break; case Node::Variable: result += QLatin1String("data/") + macName(node); break; - case Node::Property: - { + case Node::Property: { const NodeList list = static_cast(node)->functions(); QStringList stringList; for (auto *node : list) { diff --git a/src/qdoc/codemarker.h b/src/qdoc/codemarker.h index 4a6264ea6..e17b82903 100644 --- a/src/qdoc/codemarker.h +++ b/src/qdoc/codemarker.h @@ -44,22 +44,30 @@ public: virtual void initializeMarker(const Config &config); virtual void terminateMarker(); - virtual bool recognizeCode(const QString & /*code*/) { return true; } + virtual bool recognizeCode(const QString & /*code*/) { return true; } virtual bool recognizeExtension(const QString & /*extension*/) { return true; } virtual bool recognizeLanguage(const QString & /*language*/) { return false; } virtual Atom::AtomType atomType() const { return Atom::Code; } - virtual QString markedUpCode(const QString &code, - const Node * /*relative*/, - const Location & /*location*/) { return protect(code); } - virtual QString markedUpSynopsis(const Node * /*node*/, - const Node * /*relative*/, - Section::Style /*style*/) { return QString(); } + virtual QString markedUpCode(const QString &code, const Node * /*relative*/, + const Location & /*location*/) + { + return protect(code); + } + virtual QString markedUpSynopsis(const Node * /*node*/, const Node * /*relative*/, + Section::Style /*style*/) + { + return QString(); + } virtual QString markedUpQmlItem(const Node *, bool) { return QString(); } virtual QString markedUpName(const Node * /*node*/) { return QString(); } - virtual QString markedUpFullName(const Node * /*node*/, - const Node * /*relative*/) { return QString(); } - virtual QString markedUpEnumValue(const QString & /*enumValue*/, - const Node * /*relative*/) { return QString(); } + virtual QString markedUpFullName(const Node * /*node*/, const Node * /*relative*/) + { + return QString(); + } + virtual QString markedUpEnumValue(const QString & /*enumValue*/, const Node * /*relative*/) + { + return QString(); + } virtual QString markedUpIncludes(const QStringList & /*includes*/) { return QString(); } virtual QString functionBeginRegExp(const QString & /*funcName*/) { return QString(); } virtual QString functionEndRegExp(const QString & /*funcName*/) { return QString(); } diff --git a/src/qdoc/codeparser.cpp b/src/qdoc/codeparser.cpp index b8d884a13..4f4589823 100644 --- a/src/qdoc/codeparser.cpp +++ b/src/qdoc/codeparser.cpp @@ -157,42 +157,23 @@ static QSet commonMetaCommands_; const QSet &CodeParser::commonMetaCommands() { if (commonMetaCommands_.isEmpty()) { - commonMetaCommands_ << COMMAND_ABSTRACT - << COMMAND_DEPRECATED - << COMMAND_INGROUP - << COMMAND_INJSMODULE - << COMMAND_INMODULE - << COMMAND_INPUBLICGROUP - << COMMAND_INQMLMODULE - << COMMAND_INTERNAL - << COMMAND_MAINCLASS - << COMMAND_NOAUTOLIST - << COMMAND_NONREENTRANT - << COMMAND_OBSOLETE - << COMMAND_PAGEKEYWORDS - << COMMAND_PRELIMINARY - << COMMAND_QMLABSTRACT - << COMMAND_QMLDEFAULT - << COMMAND_QMLINHERITS - << COMMAND_QMLREADONLY - << COMMAND_QTVARIABLE - << COMMAND_REENTRANT - << COMMAND_SINCE - << COMMAND_STARTPAGE - << COMMAND_SUBTITLE - << COMMAND_THREADSAFE - << COMMAND_TITLE - << COMMAND_WRAPPER; - } + commonMetaCommands_ << COMMAND_ABSTRACT << COMMAND_DEPRECATED << COMMAND_INGROUP + << COMMAND_INJSMODULE << COMMAND_INMODULE << COMMAND_INPUBLICGROUP + << COMMAND_INQMLMODULE << COMMAND_INTERNAL << COMMAND_MAINCLASS + << COMMAND_NOAUTOLIST << COMMAND_NONREENTRANT << COMMAND_OBSOLETE + << COMMAND_PAGEKEYWORDS << COMMAND_PRELIMINARY << COMMAND_QMLABSTRACT + << COMMAND_QMLDEFAULT << COMMAND_QMLINHERITS << COMMAND_QMLREADONLY + << COMMAND_QTVARIABLE << COMMAND_REENTRANT << COMMAND_SINCE + << COMMAND_STARTPAGE << COMMAND_SUBTITLE << COMMAND_THREADSAFE + << COMMAND_TITLE << COMMAND_WRAPPER; + } return commonMetaCommands_; } /*! \internal */ -void CodeParser::extractPageLinkAndDesc(const QString &arg, - QString *link, - QString *desc) +void CodeParser::extractPageLinkAndDesc(const QString &arg, QString *link, QString *desc) { QRegExp bracedRegExp(QLatin1String("\\{([^{}]*)\\}(?:\\{([^{}]*)\\})?")); @@ -201,14 +182,12 @@ void CodeParser::extractPageLinkAndDesc(const QString &arg, *desc = bracedRegExp.cap(2); if (desc->isEmpty()) *desc = *link; - } - else { + } else { int spaceAt = arg.indexOf(QLatin1Char(' ')); if (arg.contains(QLatin1String(".html")) && spaceAt != -1) { *link = arg.leftRef(spaceAt).trimmed().toString(); *desc = arg.midRef(spaceAt).trimmed().toString(); - } - else { + } else { *link = arg; *desc = arg; } @@ -311,7 +290,9 @@ void CodeParser::checkModuleInclusion(Node *n) if (n->isInAPI() && !n->name().isEmpty()) { n->doc().location().warning(tr("%1 %2 has no \\inmodule command; " "using project name by default: %3") - .arg(word).arg(n->name()).arg(Generator::defaultModuleName())); + .arg(word) + .arg(n->name()) + .arg(Generator::defaultModuleName())); } } } diff --git a/src/qdoc/codeparser.h b/src/qdoc/codeparser.h index b9a85fb75..7e1e551e4 100644 --- a/src/qdoc/codeparser.h +++ b/src/qdoc/codeparser.h @@ -55,7 +55,7 @@ public: virtual QStringList sourceFileNameFilter() = 0; virtual void parseHeaderFile(const Location &location, const QString &filePath); virtual void parseSourceFile(const Location &location, const QString &filePath) = 0; - virtual void precompileHeaders() { } + virtual void precompileHeaders() {} virtual Node *parseFnArg(const Location &, const QString &) { return nullptr; } bool isParsingH() const; @@ -76,9 +76,7 @@ public: protected: const QSet &commonMetaCommands(); - static void extractPageLinkAndDesc(const QString &arg, - QString *link, - QString *desc); + static void extractPageLinkAndDesc(const QString &arg, QString *link, QString *desc); static bool showInternal() { return showInternal_; } QString moduleHeader_; QString currentFile_; @@ -90,96 +88,96 @@ private: static bool singleExec_; }; -#define COMMAND_ABSTRACT Doc::alias(QLatin1String("abstract")) -#define COMMAND_AUDIENCE Doc::alias(QLatin1String("audience")) -#define COMMAND_AUTHOR Doc::alias(QLatin1String("author")) -#define COMMAND_CATEGORY Doc::alias(QLatin1String("category")) -#define COMMAND_CLASS Doc::alias(QLatin1String("class")) -#define COMMAND_COMPONENT Doc::alias(QLatin1String("component")) -#define COMMAND_CONTENTSPAGE Doc::alias(QLatin1String("contentspage")) -#define COMMAND_COPYRHOLDER Doc::alias(QLatin1String("copyrholder")) -#define COMMAND_COPYRYEAR Doc::alias(QLatin1String("copyryear")) -#define COMMAND_DEPRECATED Doc::alias(QLatin1String("deprecated")) // ### don't document -#define COMMAND_DONTDOCUMENT Doc::alias(QLatin1String("dontdocument")) -#define COMMAND_DITAMAP Doc::alias(QLatin1String("ditamap")) -#define COMMAND_ENUM Doc::alias(QLatin1String("enum")) -#define COMMAND_EXAMPLE Doc::alias(QLatin1String("example")) -#define COMMAND_EXTERNALPAGE Doc::alias(QLatin1String("externalpage")) -#define COMMAND_FN Doc::alias(QLatin1String("fn")) -#define COMMAND_GROUP Doc::alias(QLatin1String("group")) -#define COMMAND_HEADERFILE Doc::alias(QLatin1String("headerfile")) -#define COMMAND_INGROUP Doc::alias(QLatin1String("ingroup")) -#define COMMAND_INHEADERFILE Doc::alias(QLatin1String("inheaderfile")) -#define COMMAND_INJSMODULE Doc::alias(QLatin1String("injsmodule")) -#define COMMAND_INMODULE Doc::alias(QLatin1String("inmodule")) // ### don't document -#define COMMAND_INPUBLICGROUP Doc::alias(QLatin1String("inpublicgroup")) -#define COMMAND_INQMLMODULE Doc::alias(QLatin1String("inqmlmodule")) -#define COMMAND_INTERNAL Doc::alias(QLatin1String("internal")) -#define COMMAND_JSATTACHEDMETHOD Doc::alias(QLatin1String("jsattachedmethod")) -#define COMMAND_JSATTACHEDPROPERTY Doc::alias(QLatin1String("jsattachedproperty")) -#define COMMAND_JSATTACHEDSIGNAL Doc::alias(QLatin1String("jsattachedsignal")) -#define COMMAND_JSBASICTYPE Doc::alias(QLatin1String("jsbasictype")) -#define COMMAND_JSMETHOD Doc::alias(QLatin1String("jsmethod")) -#define COMMAND_JSMODULE Doc::alias(QLatin1String("jsmodule")) -#define COMMAND_JSPROPERTY Doc::alias(QLatin1String("jsproperty")) -#define COMMAND_JSPROPERTYGROUP Doc::alias(QLatin1String("jspropertygroup")) -#define COMMAND_JSSIGNAL Doc::alias(QLatin1String("jssignal")) -#define COMMAND_JSTYPE Doc::alias(QLatin1String("jstype")) -#define COMMAND_LICENSEDESCRIPTION Doc::alias(QLatin1String("licensedescription")) -#define COMMAND_LICENSENAME Doc::alias(QLatin1String("licensename")) -#define COMMAND_LICENSEYEAR Doc::alias(QLatin1String("licenseyear")) -#define COMMAND_LIFECYCLEVERSION Doc::alias(QLatin1String("lifecycleversion")) -#define COMMAND_LIFECYCLEWSTATUS Doc::alias(QLatin1String("lifecyclestatus")) -#define COMMAND_MACRO Doc::alias(QLatin1String("macro")) -#define COMMAND_MAINCLASS Doc::alias(QLatin1String("mainclass")) -#define COMMAND_MODULE Doc::alias(QLatin1String("module")) -#define COMMAND_NAMESPACE Doc::alias(QLatin1String("namespace")) -#define COMMAND_NEXTPAGE Doc::alias(QLatin1String("nextpage")) -#define COMMAND_NOAUTOLIST Doc::alias(QLatin1String("noautolist")) -#define COMMAND_NONREENTRANT Doc::alias(QLatin1String("nonreentrant")) -#define COMMAND_OBSOLETE Doc::alias(QLatin1String("obsolete")) -#define COMMAND_OVERLOAD Doc::alias(QLatin1String("overload")) -#define COMMAND_PAGE Doc::alias(QLatin1String("page")) -#define COMMAND_PAGEKEYWORDS Doc::alias(QLatin1String("pagekeywords")) -#define COMMAND_PERMISSIONS Doc::alias(QLatin1String("permissions")) -#define COMMAND_PRELIMINARY Doc::alias(QLatin1String("preliminary")) -#define COMMAND_PREVIOUSPAGE Doc::alias(QLatin1String("previouspage")) -#define COMMAND_PRODNAME Doc::alias(QLatin1String("prodname")) -#define COMMAND_PROPERTY Doc::alias(QLatin1String("property")) -#define COMMAND_PUBLISHER Doc::alias(QLatin1String("publisher")) -#define COMMAND_QMLABSTRACT Doc::alias(QLatin1String("qmlabstract")) -#define COMMAND_QMLATTACHEDMETHOD Doc::alias(QLatin1String("qmlattachedmethod")) -#define COMMAND_QMLATTACHEDPROPERTY Doc::alias(QLatin1String("qmlattachedproperty")) -#define COMMAND_QMLATTACHEDSIGNAL Doc::alias(QLatin1String("qmlattachedsignal")) -#define COMMAND_QMLBASICTYPE Doc::alias(QLatin1String("qmlbasictype")) -#define COMMAND_QMLCLASS Doc::alias(QLatin1String("qmlclass")) -#define COMMAND_QMLDEFAULT Doc::alias(QLatin1String("default")) -#define COMMAND_QMLINHERITS Doc::alias(QLatin1String("inherits")) -#define COMMAND_QMLINSTANTIATES Doc::alias(QLatin1String("instantiates")) -#define COMMAND_QMLMETHOD Doc::alias(QLatin1String("qmlmethod")) -#define COMMAND_QMLMODULE Doc::alias(QLatin1String("qmlmodule")) -#define COMMAND_QMLPROPERTY Doc::alias(QLatin1String("qmlproperty")) -#define COMMAND_QMLPROPERTYGROUP Doc::alias(QLatin1String("qmlpropertygroup")) -#define COMMAND_QMLREADONLY Doc::alias(QLatin1String("readonly")) -#define COMMAND_QMLSIGNAL Doc::alias(QLatin1String("qmlsignal")) -#define COMMAND_QMLTYPE Doc::alias(QLatin1String("qmltype")) -#define COMMAND_QTVARIABLE Doc::alias(QLatin1String("qtvariable")) -#define COMMAND_REENTRANT Doc::alias(QLatin1String("reentrant")) -#define COMMAND_REIMP Doc::alias(QLatin1String("reimp")) -#define COMMAND_RELATES Doc::alias(QLatin1String("relates")) -#define COMMAND_RELEASEDATE Doc::alias(QLatin1String("releasedate")) -#define COMMAND_SINCE Doc::alias(QLatin1String("since")) -#define COMMAND_STRUCT Doc::alias(QLatin1String("struct")) -#define COMMAND_SUBTITLE Doc::alias(QLatin1String("subtitle")) -#define COMMAND_STARTPAGE Doc::alias(QLatin1String("startpage")) -#define COMMAND_THREADSAFE Doc::alias(QLatin1String("threadsafe")) -#define COMMAND_TITLE Doc::alias(QLatin1String("title")) -#define COMMAND_TYPEALIAS Doc::alias(QLatin1String("typealias")) -#define COMMAND_TYPEDEF Doc::alias(QLatin1String("typedef")) -#define COMMAND_VARIABLE Doc::alias(QLatin1String("variable")) -#define COMMAND_VERSION Doc::alias(QLatin1String("version")) -#define COMMAND_UNION Doc::alias(QLatin1String("union")) -#define COMMAND_WRAPPER Doc::alias(QLatin1String("wrapper")) +#define COMMAND_ABSTRACT Doc::alias(QLatin1String("abstract")) +#define COMMAND_AUDIENCE Doc::alias(QLatin1String("audience")) +#define COMMAND_AUTHOR Doc::alias(QLatin1String("author")) +#define COMMAND_CATEGORY Doc::alias(QLatin1String("category")) +#define COMMAND_CLASS Doc::alias(QLatin1String("class")) +#define COMMAND_COMPONENT Doc::alias(QLatin1String("component")) +#define COMMAND_CONTENTSPAGE Doc::alias(QLatin1String("contentspage")) +#define COMMAND_COPYRHOLDER Doc::alias(QLatin1String("copyrholder")) +#define COMMAND_COPYRYEAR Doc::alias(QLatin1String("copyryear")) +#define COMMAND_DEPRECATED Doc::alias(QLatin1String("deprecated")) // ### don't document +#define COMMAND_DONTDOCUMENT Doc::alias(QLatin1String("dontdocument")) +#define COMMAND_DITAMAP Doc::alias(QLatin1String("ditamap")) +#define COMMAND_ENUM Doc::alias(QLatin1String("enum")) +#define COMMAND_EXAMPLE Doc::alias(QLatin1String("example")) +#define COMMAND_EXTERNALPAGE Doc::alias(QLatin1String("externalpage")) +#define COMMAND_FN Doc::alias(QLatin1String("fn")) +#define COMMAND_GROUP Doc::alias(QLatin1String("group")) +#define COMMAND_HEADERFILE Doc::alias(QLatin1String("headerfile")) +#define COMMAND_INGROUP Doc::alias(QLatin1String("ingroup")) +#define COMMAND_INHEADERFILE Doc::alias(QLatin1String("inheaderfile")) +#define COMMAND_INJSMODULE Doc::alias(QLatin1String("injsmodule")) +#define COMMAND_INMODULE Doc::alias(QLatin1String("inmodule")) // ### don't document +#define COMMAND_INPUBLICGROUP Doc::alias(QLatin1String("inpublicgroup")) +#define COMMAND_INQMLMODULE Doc::alias(QLatin1String("inqmlmodule")) +#define COMMAND_INTERNAL Doc::alias(QLatin1String("internal")) +#define COMMAND_JSATTACHEDMETHOD Doc::alias(QLatin1String("jsattachedmethod")) +#define COMMAND_JSATTACHEDPROPERTY Doc::alias(QLatin1String("jsattachedproperty")) +#define COMMAND_JSATTACHEDSIGNAL Doc::alias(QLatin1String("jsattachedsignal")) +#define COMMAND_JSBASICTYPE Doc::alias(QLatin1String("jsbasictype")) +#define COMMAND_JSMETHOD Doc::alias(QLatin1String("jsmethod")) +#define COMMAND_JSMODULE Doc::alias(QLatin1String("jsmodule")) +#define COMMAND_JSPROPERTY Doc::alias(QLatin1String("jsproperty")) +#define COMMAND_JSPROPERTYGROUP Doc::alias(QLatin1String("jspropertygroup")) +#define COMMAND_JSSIGNAL Doc::alias(QLatin1String("jssignal")) +#define COMMAND_JSTYPE Doc::alias(QLatin1String("jstype")) +#define COMMAND_LICENSEDESCRIPTION Doc::alias(QLatin1String("licensedescription")) +#define COMMAND_LICENSENAME Doc::alias(QLatin1String("licensename")) +#define COMMAND_LICENSEYEAR Doc::alias(QLatin1String("licenseyear")) +#define COMMAND_LIFECYCLEVERSION Doc::alias(QLatin1String("lifecycleversion")) +#define COMMAND_LIFECYCLEWSTATUS Doc::alias(QLatin1String("lifecyclestatus")) +#define COMMAND_MACRO Doc::alias(QLatin1String("macro")) +#define COMMAND_MAINCLASS Doc::alias(QLatin1String("mainclass")) +#define COMMAND_MODULE Doc::alias(QLatin1String("module")) +#define COMMAND_NAMESPACE Doc::alias(QLatin1String("namespace")) +#define COMMAND_NEXTPAGE Doc::alias(QLatin1String("nextpage")) +#define COMMAND_NOAUTOLIST Doc::alias(QLatin1String("noautolist")) +#define COMMAND_NONREENTRANT Doc::alias(QLatin1String("nonreentrant")) +#define COMMAND_OBSOLETE Doc::alias(QLatin1String("obsolete")) +#define COMMAND_OVERLOAD Doc::alias(QLatin1String("overload")) +#define COMMAND_PAGE Doc::alias(QLatin1String("page")) +#define COMMAND_PAGEKEYWORDS Doc::alias(QLatin1String("pagekeywords")) +#define COMMAND_PERMISSIONS Doc::alias(QLatin1String("permissions")) +#define COMMAND_PRELIMINARY Doc::alias(QLatin1String("preliminary")) +#define COMMAND_PREVIOUSPAGE Doc::alias(QLatin1String("previouspage")) +#define COMMAND_PRODNAME Doc::alias(QLatin1String("prodname")) +#define COMMAND_PROPERTY Doc::alias(QLatin1String("property")) +#define COMMAND_PUBLISHER Doc::alias(QLatin1String("publisher")) +#define COMMAND_QMLABSTRACT Doc::alias(QLatin1String("qmlabstract")) +#define COMMAND_QMLATTACHEDMETHOD Doc::alias(QLatin1String("qmlattachedmethod")) +#define COMMAND_QMLATTACHEDPROPERTY Doc::alias(QLatin1String("qmlattachedproperty")) +#define COMMAND_QMLATTACHEDSIGNAL Doc::alias(QLatin1String("qmlattachedsignal")) +#define COMMAND_QMLBASICTYPE Doc::alias(QLatin1String("qmlbasictype")) +#define COMMAND_QMLCLASS Doc::alias(QLatin1String("qmlclass")) +#define COMMAND_QMLDEFAULT Doc::alias(QLatin1String("default")) +#define COMMAND_QMLINHERITS Doc::alias(QLatin1String("inherits")) +#define COMMAND_QMLINSTANTIATES Doc::alias(QLatin1String("instantiates")) +#define COMMAND_QMLMETHOD Doc::alias(QLatin1String("qmlmethod")) +#define COMMAND_QMLMODULE Doc::alias(QLatin1String("qmlmodule")) +#define COMMAND_QMLPROPERTY Doc::alias(QLatin1String("qmlproperty")) +#define COMMAND_QMLPROPERTYGROUP Doc::alias(QLatin1String("qmlpropertygroup")) +#define COMMAND_QMLREADONLY Doc::alias(QLatin1String("readonly")) +#define COMMAND_QMLSIGNAL Doc::alias(QLatin1String("qmlsignal")) +#define COMMAND_QMLTYPE Doc::alias(QLatin1String("qmltype")) +#define COMMAND_QTVARIABLE Doc::alias(QLatin1String("qtvariable")) +#define COMMAND_REENTRANT Doc::alias(QLatin1String("reentrant")) +#define COMMAND_REIMP Doc::alias(QLatin1String("reimp")) +#define COMMAND_RELATES Doc::alias(QLatin1String("relates")) +#define COMMAND_RELEASEDATE Doc::alias(QLatin1String("releasedate")) +#define COMMAND_SINCE Doc::alias(QLatin1String("since")) +#define COMMAND_STRUCT Doc::alias(QLatin1String("struct")) +#define COMMAND_SUBTITLE Doc::alias(QLatin1String("subtitle")) +#define COMMAND_STARTPAGE Doc::alias(QLatin1String("startpage")) +#define COMMAND_THREADSAFE Doc::alias(QLatin1String("threadsafe")) +#define COMMAND_TITLE Doc::alias(QLatin1String("title")) +#define COMMAND_TYPEALIAS Doc::alias(QLatin1String("typealias")) +#define COMMAND_TYPEDEF Doc::alias(QLatin1String("typedef")) +#define COMMAND_VARIABLE Doc::alias(QLatin1String("variable")) +#define COMMAND_VERSION Doc::alias(QLatin1String("version")) +#define COMMAND_UNION Doc::alias(QLatin1String("union")) +#define COMMAND_WRAPPER Doc::alias(QLatin1String("wrapper")) QT_END_NAMESPACE diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp index 079ffd0e5..73f29d56a 100644 --- a/src/qdoc/config.cpp +++ b/src/qdoc/config.cpp @@ -94,7 +94,8 @@ QString ConfigStrings::OUTPUTFORMATS = QStringLiteral("outputformats"); QString ConfigStrings::OUTPUTPREFIXES = QStringLiteral("outputprefixes"); QString ConfigStrings::OUTPUTSUFFIXES = QStringLiteral("outputsuffixes"); QString ConfigStrings::PROJECT = QStringLiteral("project"); -QString ConfigStrings::REDIRECTDOCUMENTATIONTODEVNULL = QStringLiteral("redirectdocumentationtodevnull"); +QString ConfigStrings::REDIRECTDOCUMENTATIONTODEVNULL = + QStringLiteral("redirectdocumentationtodevnull"); QString ConfigStrings::QHP = QStringLiteral("qhp"); QString ConfigStrings::QUOTINGINFORMATION = QStringLiteral("quotinginformation"); QString ConfigStrings::SCRIPTDIRS = QStringLiteral("scriptdirs"); @@ -205,7 +206,7 @@ void MetaStack::process(QChar ch, const Location &location) top().next.clear(); for (const auto &prefix : prefixes) { - for (const auto &suffix: suffixes) + for (const auto &suffix : suffixes) top().next << prefix + suffix; } } else if (ch == QLatin1Char(',') && count() > 1) { @@ -256,8 +257,7 @@ QMap Config::includeFilesMap_; internal state variables to either default values or to ones defined in command line arguments \a args. */ -Config::Config(const QString &programName, const QStringList &args) - : prog(programName) +Config::Config(const QString &programName, const QStringList &args) : prog(programName) { ++numInstances; processCommandLineOptions(args); @@ -309,7 +309,7 @@ void Config::reset() #undef SET setListFlag(CONFIG_NOLINKERRORS, m_parser.isSet(m_parser.noLinkErrorsOption) - || qEnvironmentVariableIsSet("QDOC_NOLINKERRORS")); + || qEnvironmentVariableIsSet("QDOC_NOLINKERRORS")); // CONFIG_DEFINES and CONFIG_INCLUDEPATHS are set in load() } @@ -418,12 +418,11 @@ void Config::setIndexDirs() { m_indexDirs = m_parser.values(m_parser.indexDirOption); auto it = std::remove_if(m_indexDirs.begin(), m_indexDirs.end(), - [](const QString &s) { return !QFile::exists(s); }); + [](const QString &s) { return !QFile::exists(s); }); - std::for_each(it, m_indexDirs.end(), - [](const QString &s) { - Location::logToStdErrAlways(tr("Cannot find index directory: %1").arg(s)); - }); + std::for_each(it, m_indexDirs.end(), [](const QString &s) { + Location::logToStdErrAlways(tr("Cannot find index directory: %1").arg(s)); + }); m_indexDirs.erase(it, m_indexDirs.end()); } @@ -517,13 +516,13 @@ QString Config::getString(const QString &var, const QString &defaultString) cons QString value(""); int i = configVars.size() - 1; while (i >= 0) { - const ConfigVar& cv = configVars[i]; + const ConfigVar &cv = configVars[i]; if (!cv.location_.isEmpty()) const_cast(this)->lastLocation_ = cv.location_; if (!cv.values_.isEmpty()) { if (!cv.plus_) value.clear(); - for (int j=0; j= 0) { - const ConfigVar& cv = configVars[i]; + const ConfigVar &cv = configVars[i]; if (!cv.location_.isEmpty()) const_cast(this)->lastLocation_ = cv.location_; if (!cv.plus_) @@ -610,7 +609,7 @@ QStringList Config::getCanonicalPathList(const QString &var, bool validate) cons const QStringList &sl = cv.values_; if (!sl.isEmpty()) { t.reserve(t.size() + sl.size()); - for (int i=0; i &excludedDirs, const QSet &excludedFiles) { @@ -794,10 +792,8 @@ QStringList Config::getExampleImageFiles(const QSet &excludedDirs, \a location is used for obtaining the file and line numbers for report qdoc errors. */ -QString Config::findFile(const Location &location, - const QStringList &files, - const QStringList &dirs, - const QString &fileName, +QString Config::findFile(const Location &location, const QStringList &files, + const QStringList &dirs, const QString &fileName, QString *userFriendlyFilePath) { if (fileName.isEmpty() || fileName.startsWith(QLatin1Char('/'))) { @@ -811,8 +807,7 @@ QString Config::findFile(const Location &location, QString firstComponent = components.first(); for (const auto &file : files) { - if (file == firstComponent || - file.endsWith(QLatin1Char('/') + firstComponent)) { + if (file == firstComponent || file.endsWith(QLatin1Char('/') + firstComponent)) { fileInfo.setFile(file); if (!fileInfo.exists()) location.fatal(tr("File '%1' does not exist").arg(file)); @@ -854,18 +849,12 @@ QString Config::findFile(const Location &location, /*! */ -QString Config::findFile(const Location &location, - const QStringList &files, - const QStringList &dirs, - const QString &fileBase, - const QStringList &fileExtensions, - QString *userFriendlyFilePath) +QString Config::findFile(const Location &location, const QStringList &files, + const QStringList &dirs, const QString &fileBase, + const QStringList &fileExtensions, QString *userFriendlyFilePath) { for (const auto &extension : fileExtensions) { - QString filePath = findFile(location, - files, - dirs, - fileBase + QLatin1Char('.') + extension, + QString filePath = findFile(location, files, dirs, fileBase + QLatin1Char('.') + extension, userFriendlyFilePath); if (!filePath.isEmpty()) return filePath; @@ -880,15 +869,14 @@ QString Config::findFile(const Location &location, the file and line number where a qdoc error occurred. The constructed output file name is returned. */ -QString Config::copyFile(const Location &location, - const QString &sourceFilePath, - const QString &userFriendlySourceFilePath, - const QString &targetDirPath) +QString Config::copyFile(const Location &location, const QString &sourceFilePath, + const QString &userFriendlySourceFilePath, const QString &targetDirPath) { QFile inFile(sourceFilePath); if (!inFile.open(QFile::ReadOnly)) { location.warning(tr("Cannot open input file for copy: '%1': %2") - .arg(sourceFilePath).arg(inFile.errorString())); + .arg(sourceFilePath) + .arg(inFile.errorString())); return QString(); } @@ -903,7 +891,8 @@ QString Config::copyFile(const Location &location, QFile outFile(outFileName); if (!outFile.open(QFile::WriteOnly)) { location.warning(tr("Cannot open output file for copy: '%1': %2") - .arg(outFileName).arg(outFile.errorString())); + .arg(outFileName) + .arg(outFile.errorString())); return QString(); } @@ -945,8 +934,7 @@ bool Config::removeDirContents(const QString &dir) if (entry.isFile()) { if (!dirInfo.remove(entry.fileName())) ok = false; - } - else if (entry.isDir()) { + } else if (entry.isDir()) { if (entry.fileName() != QLatin1String(".") && entry.fileName() != QLatin1String("..")) { if (removeDirContents(entry.absoluteFilePath())) { if (!dirInfo.rmdir(entry.fileName())) @@ -966,12 +954,8 @@ bool Config::removeDirContents(const QString &dir) */ bool Config::isMetaKeyChar(QChar ch) { - return ch.isLetterOrNumber() - || ch == QLatin1Char('_') - || ch == QLatin1Char('.') - || ch == QLatin1Char('{') - || ch == QLatin1Char('}') - || ch == QLatin1Char(','); + return ch.isLetterOrNumber() || ch == QLatin1Char('_') || ch == QLatin1Char('.') + || ch == QLatin1Char('{') || ch == QLatin1Char('}') || ch == QLatin1Char(','); } /*! @@ -985,10 +969,13 @@ QStringList Config::loadMaster(const QString &fileName) if (!fin.open(QFile::ReadOnly | QFile::Text)) { if (!Config::installDir.isEmpty()) { int prefix = location.filePath().length() - location.fileName().length(); - fin.setFileName(Config::installDir + QLatin1Char('/') + fileName.right(fileName.length() - prefix)); + fin.setFileName(Config::installDir + QLatin1Char('/') + + fileName.right(fileName.length() - prefix)); } if (!fin.open(QFile::ReadOnly | QFile::Text)) - location.fatal(tr("Cannot open master qdocconf file '%1': %2").arg(fileName).arg(fin.errorString())); + location.fatal(tr("Cannot open master qdocconf file '%1': %2") + .arg(fileName) + .arg(fin.errorString())); } QTextStream stream(&fin); #ifndef QT_NO_TEXTCODEC @@ -1018,20 +1005,20 @@ void Config::load(Location location, const QString &fileName) QDir::setCurrent(path); QRegExp keySyntax(QLatin1String("\\w+(?:\\.\\w+)*")); -#define SKIP_CHAR() \ - do { \ - location.advance(c); \ - ++i; \ - c = text.at(i); \ - cc = c.unicode(); \ -} while (0) +#define SKIP_CHAR() \ + do { \ + location.advance(c); \ + ++i; \ + c = text.at(i); \ + cc = c.unicode(); \ + } while (0) -#define SKIP_SPACES() \ - while (c.isSpace() && cc != '\n') \ +#define SKIP_SPACES() \ + while (c.isSpace() && cc != '\n') \ SKIP_CHAR() -#define PUT_CHAR() \ - word += c; \ +#define PUT_CHAR() \ + word += c; \ SKIP_CHAR(); if (location.depth() > 16) @@ -1041,7 +1028,8 @@ void Config::load(Location location, const QString &fileName) if (!fin.open(QFile::ReadOnly | QFile::Text)) { if (!Config::installDir.isEmpty()) { int prefix = location.filePath().length() - location.fileName().length(); - fin.setFileName(Config::installDir + QLatin1Char('/') + fileName.right(fileName.length() - prefix)); + fin.setFileName(Config::installDir + QLatin1Char('/') + + fileName.right(fileName.length() - prefix)); } if (!fin.open(QFile::ReadOnly | QFile::Text)) location.fatal(tr("Cannot open file '%1': %2").arg(fileName).arg(fin.errorString())); @@ -1111,8 +1099,7 @@ void Config::load(Location location, const QString &fileName) const QByteArray val = qgetenv(var.toLatin1().data()); if (val.isNull()) { location.fatal(tr("Environment variable '%1' undefined").arg(var)); - } - else { + } else { includeFile += QString::fromLatin1(val); } } @@ -1133,8 +1120,7 @@ void Config::load(Location location, const QString &fileName) Here is the recursive call. */ load(location, QFileInfo(QDir(path), includeFile).filePath()); - } - else { + } else { /* It wasn't an include statement, so it's something else. We must see either '=' or '+=' next. If not, fatal error. @@ -1155,26 +1141,22 @@ void Config::load(Location location, const QString &fileName) SKIP_CHAR(); if (cc == '\n') { SKIP_CHAR(); - } - else if (cc > '0' && cc < '8') { + } else if (cc > '0' && cc < '8') { word += QChar(c.digitValue()); SKIP_CHAR(); - } - else if ((metaCharPos = QString::fromLatin1("abfnrtv").indexOf(c)) != -1) { + } else if ((metaCharPos = QString::fromLatin1("abfnrtv").indexOf(c)) + != -1) { word += QLatin1Char("\a\b\f\n\r\t\v"[metaCharPos]); SKIP_CHAR(); - } - else { + } else { PUT_CHAR(); } - } - else if (c.isSpace() || cc == '#') { + } else if (c.isSpace() || cc == '#') { if (inQuote) { if (cc == '\n') location.fatal(tr("Unterminated string")); PUT_CHAR(); - } - else { + } else { if (!word.isEmpty()) { if (metWord) stringValue += QLatin1Char(' '); @@ -1188,8 +1170,7 @@ void Config::load(Location location, const QString &fileName) break; SKIP_SPACES(); } - } - else if (cc == '"') { + } else if (cc == '"') { if (inQuote) { if (!prevWordQuoted) stringValue += QLatin1Char(' '); @@ -1202,8 +1183,7 @@ void Config::load(Location location, const QString &fileName) } inQuote = !inQuote; SKIP_CHAR(); - } - else if (cc == '$') { + } else if (cc == '$') { QString var; SKIP_CHAR(); while (c.isLetterOrNumber() || cc == '_') { @@ -1214,13 +1194,11 @@ void Config::load(Location location, const QString &fileName) const QByteArray val = qgetenv(var.toLatin1().constData()); if (val.isNull()) { location.fatal(tr("Environment variable '%1' undefined").arg(var)); - } - else { + } else { word += QString::fromLatin1(val); } } - } - else { + } else { if (!inQuote && cc == '=') location.fatal(tr("Unexpected '='")); PUT_CHAR(); @@ -1231,7 +1209,8 @@ void Config::load(Location location, const QString &fileName) keyLoc.fatal(tr("Invalid key '%1'").arg(key)); ConfigVarMultimap::Iterator i; - i = configVars_.insert(key, ConfigVar(key, rhsValues, QDir::currentPath(), keyLoc)); + i = configVars_.insert(key, + ConfigVar(key, rhsValues, QDir::currentPath(), keyLoc)); i.value().plus_ = plus; } } @@ -1256,13 +1235,12 @@ bool Config::isFileExcluded(const QString &fileName, const QSet &exclud return excludedFiles.contains(fileName); } -QStringList Config::getFilesHere(const QString &uncleanDir, - const QString &nameFilter, - const Location &location, - const QSet &excludedDirs, +QStringList Config::getFilesHere(const QString &uncleanDir, const QString &nameFilter, + const Location &location, const QSet &excludedDirs, const QSet &excludedFiles) { - QString dir = location.isEmpty() ? QDir::cleanPath(uncleanDir) : QDir(uncleanDir).canonicalPath(); + QString dir = + location.isEmpty() ? QDir::cleanPath(uncleanDir) : QDir(uncleanDir).canonicalPath(); QStringList result; if (excludedDirs.contains(dir)) return result; @@ -1273,7 +1251,7 @@ QStringList Config::getFilesHere(const QString &uncleanDir, dirInfo.setSorting(QDir::Name); dirInfo.setFilter(QDir::Files); QStringList fileNames = dirInfo.entryList(); - for (const auto &file: qAsConst(fileNames)) { + for (const auto &file : qAsConst(fileNames)) { if (!file.startsWith(QLatin1Char('~'))) { QString s = dirInfo.filePath(file); QString c = QDir::cleanPath(s); @@ -1283,10 +1261,11 @@ QStringList Config::getFilesHere(const QString &uncleanDir, } dirInfo.setNameFilters(QStringList(QLatin1String("*"))); - dirInfo.setFilter(QDir::Dirs|QDir::NoDotAndDotDot); + dirInfo.setFilter(QDir::Dirs | QDir::NoDotAndDotDot); fileNames = dirInfo.entryList(); for (const auto &file : fileNames) - result += getFilesHere(dirInfo.filePath(file), nameFilter, location, excludedDirs, excludedFiles); + result += getFilesHere(dirInfo.filePath(file), nameFilter, location, excludedDirs, + excludedFiles); return result; } diff --git a/src/qdoc/config.h b/src/qdoc/config.h index 7006f002a..85a12c0b3 100644 --- a/src/qdoc/config.h +++ b/src/qdoc/config.h @@ -48,20 +48,26 @@ QT_BEGIN_NAMESPACE This struct contains all the information for one config variable found in a qdocconf file. */ -struct ConfigVar { +struct ConfigVar +{ bool plus_; QString name_; QStringList values_; QString currentPath_; Location location_; - ConfigVar() : plus_(false) { } + ConfigVar() : plus_(false) {} - ConfigVar(const QString &name, const QStringList &values, const QString &dir) - : plus_(true), name_(name), values_(values), currentPath_(dir) { } + ConfigVar(const QString &name, const QStringList &values, const QString &dir) + : plus_(true), name_(name), values_(values), currentPath_(dir) + { + } - ConfigVar(const QString &name, const QStringList &values, const QString &dir, const Location &loc) - : plus_(false), name_(name), values_(values), currentPath_(dir), location_(loc) { } + ConfigVar(const QString &name, const QStringList &values, const QString &dir, + const Location &loc) + : plus_(false), name_(name), values_(values), currentPath_(dir), location_(loc) + { + } }; /* @@ -103,34 +109,29 @@ public: QVector getRegExpList(const QString &var) const; QSet subVars(const QString &var) const; void subVarsAndValues(const QString &var, ConfigVarMultimap &t) const; - QStringList getAllFiles(const QString &filesVar, - const QString &dirsVar, + QStringList getAllFiles(const QString &filesVar, const QString &dirsVar, const QSet &excludedDirs = QSet(), const QSet &excludedFiles = QSet()); QString getIncludeFilePath(const QString &fileName) const; - QStringList getExampleQdocFiles(const QSet &excludedDirs, const QSet &excludedFiles); - QStringList getExampleImageFiles(const QSet &excludedDirs, const QSet &excludedFiles); + QStringList getExampleQdocFiles(const QSet &excludedDirs, + const QSet &excludedFiles); + QStringList getExampleImageFiles(const QSet &excludedDirs, + const QSet &excludedFiles); static QStringList loadMaster(const QString &fileName); static bool isFileExcluded(const QString &fileName, const QSet &excludedFiles); - static QStringList getFilesHere(const QString &dir, - const QString &nameFilter, + static QStringList getFilesHere(const QString &dir, const QString &nameFilter, const Location &location = Location(), const QSet &excludedDirs = QSet(), const QSet &excludedFiles = QSet()); - static QString findFile(const Location &location, - const QStringList &files, - const QStringList &dirs, - const QString &fileName, + static QString findFile(const Location &location, const QStringList &files, + const QStringList &dirs, const QString &fileName, QString *userFriendlyFilePath = nullptr); - static QString findFile(const Location &location, - const QStringList &files, - const QStringList &dirs, - const QString &fileBase, + static QString findFile(const Location &location, const QStringList &files, + const QStringList &dirs, const QString &fileBase, const QStringList &fileExtensions, QString *userFriendlyFilePath = nullptr); - static QString copyFile(const Location &location, - const QString &sourceFilePath, + static QString copyFile(const Location &location, const QString &sourceFilePath, const QString &userFriendlySourceFilePath, const QString &targetDirPath); static int numParams(const QString &value); @@ -174,7 +175,7 @@ private: QString prog; Location loc; Location lastLocation_; - ConfigVarMultimap configVars_; + ConfigVarMultimap configVars_; static QMap uncompressedFiles; static QMap extractedDirs; diff --git a/src/qdoc/cppcodemarker.cpp b/src/qdoc/cppcodemarker.cpp index 843e24db6..550e01328 100644 --- a/src/qdoc/cppcodemarker.cpp +++ b/src/qdoc/cppcodemarker.cpp @@ -62,7 +62,7 @@ CppCodeMarker::~CppCodeMarker() /*! Returns \c true. */ -bool CppCodeMarker::recognizeCode(const QString &/* code */) +bool CppCodeMarker::recognizeCode(const QString & /* code */) { return true; } @@ -74,20 +74,9 @@ bool CppCodeMarker::recognizeCode(const QString &/* code */) bool CppCodeMarker::recognizeExtension(const QString &extension) { QByteArray ext = extension.toLatin1(); - return ext == "c" || - ext == "c++" || - ext == "qdoc" || - ext == "qtt" || - ext == "qtx" || - ext == "cc" || - ext == "cpp" || - ext == "cxx" || - ext == "ch" || - ext == "h" || - ext == "h++" || - ext == "hh" || - ext == "hpp" || - ext == "hxx"; + return ext == "c" || ext == "c++" || ext == "qdoc" || ext == "qtt" || ext == "qtx" + || ext == "cc" || ext == "cpp" || ext == "cxx" || ext == "ch" || ext == "h" + || ext == "h++" || ext == "hh" || ext == "hpp" || ext == "hxx"; } /*! @@ -106,15 +95,13 @@ Atom::AtomType CppCodeMarker::atomType() const return Atom::Code; } -QString CppCodeMarker::markedUpCode(const QString &code, - const Node *relative, +QString CppCodeMarker::markedUpCode(const QString &code, const Node *relative, const Location &location) { return addMarkUp(code, relative, location); } -QString CppCodeMarker::markedUpSynopsis(const Node *node, - const Node * /* relative */, +QString CppCodeMarker::markedUpSynopsis(const Node *node, const Node * /* relative */, Section::Style style) { const int MaxEnumValues = 6; @@ -133,13 +120,9 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, name = "<@name>" + name + ""; if (style == Section::Details) { - if (!node->isRelatedNonmember() && - !node->isProxyNode() && - !node->parent()->name().isEmpty() && - !node->parent()->isHeader() && - !node->isProperty() && - !node->isQmlNode() && - !node->isJsNode()) { + if (!node->isRelatedNonmember() && !node->isProxyNode() && !node->parent()->name().isEmpty() + && !node->parent()->isHeader() && !node->isProperty() && !node->isQmlNode() + && !node->isJsNode()) { name.prepend(taggedNode(node->parent()) + "::"); } } @@ -152,7 +135,7 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, synopsis = "class " + name; break; case Node::Function: - func = (const FunctionNode *) node; + func = (const FunctionNode *)node; if (style != Section::AllMembers && !func->returnType().isEmpty()) synopsis = typified(func->returnType(), true); @@ -195,17 +178,17 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, if (func->isPureVirtual()) synopsis.append(" = 0"); if (func->isRef()) - synopsis.append(" &"); + synopsis.append(" &"); else if (func->isRefRef()) - synopsis.append(" &&"); + synopsis.append(" &&"); } else if (style == Section::AllMembers) { if (!func->returnType().isEmpty() && func->returnType() != "void") synopsis += " : " + typified(func->returnType()); } else { if (func->isRef()) - synopsis.append(" &"); + synopsis.append(" &"); else if (func->isRefRef()) - synopsis.append(" &&"); + synopsis.append(" &&"); QStringList bracketed; if (func->isStatic()) { bracketed += "static"; @@ -256,7 +239,7 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, } } else { for (int i = 0; i < documentedItems.size(); ++i) { - if (i < MaxEnumValues-2 || i == documentedItems.size()-1) { + if (i < MaxEnumValues - 2 || i == documentedItems.size() - 1) { if (i != 0) synopsis += ", "; synopsis += documentedItems.at(i); @@ -287,8 +270,7 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, if (style == Section::AllMembers) { synopsis = name + " : " + typified(variable->dataType()); } else { - synopsis = typified(variable->leftType(), true) + - name + protect(variable->rightType()); + synopsis = typified(variable->leftType(), true) + name + protect(variable->rightType()); } break; default: @@ -423,8 +405,8 @@ QString CppCodeMarker::markedUpIncludes(const QStringList &includes) QString code; for (const auto &include : includes) - code += "<@preprocessor>#include <<@headerfile>" - + include + ">\n"; + code += "<@preprocessor>#include <<@headerfile>" + include + + ">\n"; return code; } @@ -433,7 +415,7 @@ QString CppCodeMarker::functionBeginRegExp(const QString &funcName) return QLatin1Char('^') + QRegExp::escape(funcName) + QLatin1Char('$'); } -QString CppCodeMarker::functionEndRegExp(const QString &/* funcName */) +QString CppCodeMarker::functionEndRegExp(const QString & /* funcName */) { return "^\\}$"; } @@ -451,8 +433,7 @@ QString CppCodeMarker::functionEndRegExp(const QString &/* funcName */) @type */ -QString CppCodeMarker::addMarkUp(const QString &in, - const Node * /* relative */, +QString CppCodeMarker::addMarkUp(const QString &in, const Node * /* relative */, const Location & /* location */) { static QSet types; @@ -462,26 +443,42 @@ QString CppCodeMarker::addMarkUp(const QString &in, // initialize statics Q_ASSERT(keywords.isEmpty()); static const QString typeTable[] = { - QLatin1String("bool"), QLatin1String("char"), QLatin1String("double"), QLatin1String("float"), QLatin1String("int"), QLatin1String("long"), QLatin1String("short"), - QLatin1String("signed"), QLatin1String("unsigned"), QLatin1String("uint"), QLatin1String("ulong"), QLatin1String("ushort"), QLatin1String("uchar"), QLatin1String("void"), - QLatin1String("qlonglong"), QLatin1String("qulonglong"), - QLatin1String("qint"), QLatin1String("qint8"), QLatin1String("qint16"), QLatin1String("qint32"), QLatin1String("qint64"), - QLatin1String("quint"), QLatin1String("quint8"), QLatin1String("quint16"), QLatin1String("quint32"), QLatin1String("quint64"), - QLatin1String("qreal"), QLatin1String("cond") + QLatin1String("bool"), QLatin1String("char"), QLatin1String("double"), + QLatin1String("float"), QLatin1String("int"), QLatin1String("long"), + QLatin1String("short"), QLatin1String("signed"), QLatin1String("unsigned"), + QLatin1String("uint"), QLatin1String("ulong"), QLatin1String("ushort"), + QLatin1String("uchar"), QLatin1String("void"), QLatin1String("qlonglong"), + QLatin1String("qulonglong"), QLatin1String("qint"), QLatin1String("qint8"), + QLatin1String("qint16"), QLatin1String("qint32"), QLatin1String("qint64"), + QLatin1String("quint"), QLatin1String("quint8"), QLatin1String("quint16"), + QLatin1String("quint32"), QLatin1String("quint64"), QLatin1String("qreal"), + QLatin1String("cond") }; static const QString keywordTable[] = { - QLatin1String("and"), QLatin1String("and_eq"), QLatin1String("asm"), QLatin1String("auto"), QLatin1String("bitand"), QLatin1String("bitor"), QLatin1String("break"), - QLatin1String("case"), QLatin1String("catch"), QLatin1String("class"), QLatin1String("compl"), QLatin1String("const"), QLatin1String("const_cast"), - QLatin1String("continue"), QLatin1String("default"), QLatin1String("delete"), QLatin1String("do"), QLatin1String("dynamic_cast"), QLatin1String("else"), - QLatin1String("enum"), QLatin1String("explicit"), QLatin1String("export"), QLatin1String("extern"), QLatin1String("false"), QLatin1String("for"), QLatin1String("friend"), - QLatin1String("goto"), QLatin1String("if"), QLatin1String("include"), QLatin1String("inline"), QLatin1String("monitor"), QLatin1String("mutable"), QLatin1String("namespace"), - QLatin1String("new"), QLatin1String("not"), QLatin1String("not_eq"), QLatin1String("operator"), QLatin1String("or"), QLatin1String("or_eq"), QLatin1String("private"), QLatin1String("protected"), - QLatin1String("public"), QLatin1String("register"), QLatin1String("reinterpret_cast"), QLatin1String("return"), QLatin1String("sizeof"), - QLatin1String("static"), QLatin1String("static_cast"), QLatin1String("struct"), QLatin1String("switch"), QLatin1String("template"), QLatin1String("this"), - QLatin1String("throw"), QLatin1String("true"), QLatin1String("try"), QLatin1String("typedef"), QLatin1String("typeid"), QLatin1String("typename"), QLatin1String("union"), - QLatin1String("using"), QLatin1String("virtual"), QLatin1String("volatile"), QLatin1String("wchar_t"), QLatin1String("while"), QLatin1String("xor"), - QLatin1String("xor_eq"), QLatin1String("synchronized"), + QLatin1String("and"), QLatin1String("and_eq"), QLatin1String("asm"), + QLatin1String("auto"), QLatin1String("bitand"), QLatin1String("bitor"), + QLatin1String("break"), QLatin1String("case"), QLatin1String("catch"), + QLatin1String("class"), QLatin1String("compl"), QLatin1String("const"), + QLatin1String("const_cast"), QLatin1String("continue"), QLatin1String("default"), + QLatin1String("delete"), QLatin1String("do"), QLatin1String("dynamic_cast"), + QLatin1String("else"), QLatin1String("enum"), QLatin1String("explicit"), + QLatin1String("export"), QLatin1String("extern"), QLatin1String("false"), + QLatin1String("for"), QLatin1String("friend"), QLatin1String("goto"), + QLatin1String("if"), QLatin1String("include"), QLatin1String("inline"), + QLatin1String("monitor"), QLatin1String("mutable"), QLatin1String("namespace"), + QLatin1String("new"), QLatin1String("not"), QLatin1String("not_eq"), + QLatin1String("operator"), QLatin1String("or"), QLatin1String("or_eq"), + QLatin1String("private"), QLatin1String("protected"), QLatin1String("public"), + QLatin1String("register"), QLatin1String("reinterpret_cast"), QLatin1String("return"), + QLatin1String("sizeof"), QLatin1String("static"), QLatin1String("static_cast"), + QLatin1String("struct"), QLatin1String("switch"), QLatin1String("template"), + QLatin1String("this"), QLatin1String("throw"), QLatin1String("true"), + QLatin1String("try"), QLatin1String("typedef"), QLatin1String("typeid"), + QLatin1String("typename"), QLatin1String("union"), QLatin1String("using"), + QLatin1String("virtual"), QLatin1String("volatile"), QLatin1String("wchar_t"), + QLatin1String("while"), QLatin1String("xor"), QLatin1String("xor_eq"), + QLatin1String("synchronized"), // Qt specific QLatin1String("signals"), QLatin1String("slots"), QLatin1String("emit") }; @@ -494,8 +491,7 @@ QString CppCodeMarker::addMarkUp(const QString &in, for (int j = sizeof(keywordTable) / sizeof(QString) - 1; j; --j) keywords.insert(keywordTable[j]); } -#define readChar() \ - ch = (i < code.length()) ? code[i++].cell() : EOF +#define readChar() ch = (i < code.length()) ? code[i++].cell() : EOF QString code = in; QString out; diff --git a/src/qdoc/cppcodemarker.h b/src/qdoc/cppcodemarker.h index 2a8456103..b585bce48 100644 --- a/src/qdoc/cppcodemarker.h +++ b/src/qdoc/cppcodemarker.h @@ -45,7 +45,8 @@ public: bool recognizeExtension(const QString &ext) override; bool recognizeLanguage(const QString &lang) override; Atom::AtomType atomType() const override; - QString markedUpCode(const QString &code, const Node *relative, const Location &location) override; + QString markedUpCode(const QString &code, const Node *relative, + const Location &location) override; QString markedUpSynopsis(const Node *node, const Node *relative, Section::Style style) override; QString markedUpQmlItem(const Node *node, bool summary) override; QString markedUpName(const Node *node) override; diff --git a/src/qdoc/cppcodeparser.cpp b/src/qdoc/cppcodeparser.cpp index ce92448de..6a5087583 100644 --- a/src/qdoc/cppcodeparser.cpp +++ b/src/qdoc/cppcodeparser.cpp @@ -62,56 +62,26 @@ static QSet metaCommands_; CppCodeParser::CppCodeParser() { if (topicCommands_.isEmpty()) { - topicCommands_ << COMMAND_CLASS - << COMMAND_DITAMAP - << COMMAND_DONTDOCUMENT - << COMMAND_ENUM - << COMMAND_EXAMPLE - << COMMAND_EXTERNALPAGE - << COMMAND_FN - << COMMAND_GROUP - << COMMAND_HEADERFILE - << COMMAND_MACRO - << COMMAND_MODULE - << COMMAND_NAMESPACE - << COMMAND_PAGE - << COMMAND_PROPERTY - << COMMAND_TYPEALIAS - << COMMAND_TYPEDEF - << COMMAND_VARIABLE - << COMMAND_QMLTYPE - << COMMAND_QMLPROPERTY - << COMMAND_QMLPROPERTYGROUP // mws 13/03/2019 - << COMMAND_QMLATTACHEDPROPERTY - << COMMAND_QMLSIGNAL - << COMMAND_QMLATTACHEDSIGNAL - << COMMAND_QMLMETHOD - << COMMAND_QMLATTACHEDMETHOD - << COMMAND_QMLBASICTYPE - << COMMAND_QMLMODULE - << COMMAND_JSTYPE - << COMMAND_JSPROPERTY - << COMMAND_JSPROPERTYGROUP // mws 13/03/2019 - << COMMAND_JSATTACHEDPROPERTY - << COMMAND_JSSIGNAL - << COMMAND_JSATTACHEDSIGNAL - << COMMAND_JSMETHOD - << COMMAND_JSATTACHEDMETHOD - << COMMAND_JSBASICTYPE - << COMMAND_JSMODULE - << COMMAND_STRUCT - << COMMAND_UNION; + topicCommands_ << COMMAND_CLASS << COMMAND_DITAMAP << COMMAND_DONTDOCUMENT << COMMAND_ENUM + << COMMAND_EXAMPLE << COMMAND_EXTERNALPAGE << COMMAND_FN << COMMAND_GROUP + << COMMAND_HEADERFILE << COMMAND_MACRO << COMMAND_MODULE << COMMAND_NAMESPACE + << COMMAND_PAGE << COMMAND_PROPERTY << COMMAND_TYPEALIAS << COMMAND_TYPEDEF + << COMMAND_VARIABLE << COMMAND_QMLTYPE << COMMAND_QMLPROPERTY + << COMMAND_QMLPROPERTYGROUP // mws 13/03/2019 + << COMMAND_QMLATTACHEDPROPERTY << COMMAND_QMLSIGNAL + << COMMAND_QMLATTACHEDSIGNAL << COMMAND_QMLMETHOD + << COMMAND_QMLATTACHEDMETHOD << COMMAND_QMLBASICTYPE << COMMAND_QMLMODULE + << COMMAND_JSTYPE << COMMAND_JSPROPERTY + << COMMAND_JSPROPERTYGROUP // mws 13/03/2019 + << COMMAND_JSATTACHEDPROPERTY << COMMAND_JSSIGNAL << COMMAND_JSATTACHEDSIGNAL + << COMMAND_JSMETHOD << COMMAND_JSATTACHEDMETHOD << COMMAND_JSBASICTYPE + << COMMAND_JSMODULE << COMMAND_STRUCT << COMMAND_UNION; } if (metaCommands_.isEmpty()) { metaCommands_ = commonMetaCommands(); - metaCommands_ << COMMAND_CONTENTSPAGE - << COMMAND_INHEADERFILE - << COMMAND_NEXTPAGE - << COMMAND_OVERLOAD - << COMMAND_PREVIOUSPAGE - << COMMAND_QMLINSTANTIATES - << COMMAND_REIMP - << COMMAND_RELATES; + metaCommands_ << COMMAND_CONTENTSPAGE << COMMAND_INHEADERFILE << COMMAND_NEXTPAGE + << COMMAND_OVERLOAD << COMMAND_PREVIOUSPAGE << COMMAND_QMLINSTANTIATES + << COMMAND_REIMP << COMMAND_RELATES; } } @@ -148,11 +118,10 @@ void CppCodeParser::initializeParser(const Config &config) nodeTypeTestFuncMap_.insert(COMMAND_PROPERTY, &Node::isProperty); nodeTypeTestFuncMap_.insert(COMMAND_VARIABLE, &Node::isVariable); - exampleFiles = config.getCanonicalPathList(CONFIG_EXAMPLES); exampleDirs = config.getCanonicalPathList(CONFIG_EXAMPLEDIRS); - QStringList exampleFilePatterns = config.getStringList( - CONFIG_EXAMPLES + Config::dot + CONFIG_FILEEXTENSIONS); + QStringList exampleFilePatterns = + config.getStringList(CONFIG_EXAMPLES + Config::dot + CONFIG_FILEEXTENSIONS); // Used for excluding dirs and files from the list of example files const auto &excludeDirsList = config.getCanonicalPathList(CONFIG_EXCLUDEDIRS); @@ -165,8 +134,8 @@ void CppCodeParser::initializeParser(const Config &config) else exampleNameFilter = "*.cpp *.h *.js *.xq *.svg *.xml *.dita *.ui"; - QStringList exampleImagePatterns = config.getStringList( - CONFIG_EXAMPLES + Config::dot + CONFIG_IMAGEEXTENSIONS); + QStringList exampleImagePatterns = + config.getStringList(CONFIG_EXAMPLES + Config::dot + CONFIG_IMAGEEXTENSIONS); if (!exampleImagePatterns.isEmpty()) exampleImageFilter = exampleImagePatterns.join(' '); @@ -215,15 +184,13 @@ const QSet &CppCodeParser::topicCommands() /*! Process the topic \a command found in the \a doc with argument \a arg. */ -Node *CppCodeParser::processTopicCommand(const Doc &doc, - const QString &command, +Node *CppCodeParser::processTopicCommand(const Doc &doc, const QString &command, const ArgLocPair &arg) { ExtraFuncData extra; if (command == COMMAND_FN) { Q_UNREACHABLE(); - } - else if (nodeTypeMap_.contains(command)) { + } else if (nodeTypeMap_.contains(command)) { /* We should only get in here if the command refers to something that can appear in a C++ namespace, @@ -232,7 +199,7 @@ Node *CppCodeParser::processTopicCommand(const Doc &doc, this way to allow the writer to refer to the entity without including the namespace qualifier. */ - Node::NodeType type = nodeTypeMap_[command]; + Node::NodeType type = nodeTypeMap_[command]; QStringList words = arg.first.split(QLatin1Char(' ')); QStringList path; int idx = 0; @@ -247,11 +214,12 @@ Node *CppCodeParser::processTopicCommand(const Doc &doc, node = qdb_->findNodeByNameAndType(path, nodeTypeTestFuncMap_[command]); if (node == nullptr) { if (isWorthWarningAbout(doc)) { - doc.location().warning(tr("Cannot find '%1' specified with '\\%2' in any header file") - .arg(arg.first).arg(command)); + doc.location().warning( + tr("Cannot find '%1' specified with '\\%2' in any header file") + .arg(arg.first) + .arg(command)); } - } - else if (node->isAggregate()) { + } else if (node->isAggregate()) { if (type == Node::Namespace) { NamespaceNode *ns = static_cast(node); ns->markSeen(); @@ -260,10 +228,8 @@ Node *CppCodeParser::processTopicCommand(const Doc &doc, /* This treats a class as a namespace. */ - if ((type == Node::Class) || - (type == Node::Namespace) || - (type == Node::Struct) || - (type == Node::Union)) { + if ((type == Node::Class) || (type == Node::Namespace) || (type == Node::Struct) + || (type == Node::Union)) { if (path.size() > 1) { path.pop_back(); QString ns = path.join(QLatin1String("::")); @@ -272,54 +238,46 @@ Node *CppCodeParser::processTopicCommand(const Doc &doc, } } return node; - } - else if (command == COMMAND_EXAMPLE) { + } else if (command == COMMAND_EXAMPLE) { if (Config::generateExamples) { ExampleNode *en = new ExampleNode(qdb_->primaryTreeRoot(), arg.first); en->setLocation(doc.startLocation()); setExampleFileLists(en); return en; } - } - else if (command == COMMAND_EXTERNALPAGE) { + } else if (command == COMMAND_EXTERNALPAGE) { ExternalPageNode *epn = new ExternalPageNode(qdb_->primaryTreeRoot(), arg.first); epn->setLocation(doc.startLocation()); return epn; - } - else if (command == COMMAND_HEADERFILE) { + } else if (command == COMMAND_HEADERFILE) { HeaderNode *hn = new HeaderNode(qdb_->primaryTreeRoot(), arg.first); hn->setLocation(doc.startLocation()); return hn; - } - else if (command == COMMAND_GROUP) { + } else if (command == COMMAND_GROUP) { CollectionNode *cn = qdb_->addGroup(arg.first); cn->setLocation(doc.startLocation()); cn->markSeen(); return cn; - } - else if (command == COMMAND_MODULE) { + } else if (command == COMMAND_MODULE) { CollectionNode *cn = qdb_->addModule(arg.first); cn->setLocation(doc.startLocation()); cn->markSeen(); return cn; - } - else if (command == COMMAND_QMLMODULE) { + } else if (command == COMMAND_QMLMODULE) { QStringList blankSplit = arg.first.split(QLatin1Char(' ')); CollectionNode *cn = qdb_->addQmlModule(blankSplit[0]); cn->setLogicalModuleInfo(blankSplit); cn->setLocation(doc.startLocation()); cn->markSeen(); return cn; - } - else if (command == COMMAND_JSMODULE) { + } else if (command == COMMAND_JSMODULE) { QStringList blankSplit = arg.first.split(QLatin1Char(' ')); CollectionNode *cn = qdb_->addJsModule(blankSplit[0]); cn->setLogicalModuleInfo(blankSplit); cn->setLocation(doc.startLocation()); cn->markSeen(); return cn; - } - else if (command == COMMAND_PAGE) { + } else if (command == COMMAND_PAGE) { Node::PageType ptype = Node::ArticlePage; QStringList args = arg.first.split(QLatin1Char(' ')); if (args.size() > 1) { @@ -365,18 +323,14 @@ Node *CppCodeParser::processTopicCommand(const Doc &doc, n->setLocation(doc.startLocation()); return n; } else if (command == COMMAND_JSBASICTYPE) { - QmlBasicTypeNode *n = new QmlBasicTypeNode(qdb_->primaryTreeRoot(), arg.first, Node::JsBasicType); + QmlBasicTypeNode *n = + new QmlBasicTypeNode(qdb_->primaryTreeRoot(), arg.first, Node::JsBasicType); n->setLocation(doc.startLocation()); return n; - } - else if ((command == COMMAND_QMLSIGNAL) || - (command == COMMAND_QMLMETHOD) || - (command == COMMAND_QMLATTACHEDSIGNAL) || - (command == COMMAND_QMLATTACHEDMETHOD) || - (command == COMMAND_JSSIGNAL) || - (command == COMMAND_JSMETHOD) || - (command == COMMAND_JSATTACHEDSIGNAL) || - (command == COMMAND_JSATTACHEDMETHOD)) { + } else if ((command == COMMAND_QMLSIGNAL) || (command == COMMAND_QMLMETHOD) + || (command == COMMAND_QMLATTACHEDSIGNAL) || (command == COMMAND_QMLATTACHEDMETHOD) + || (command == COMMAND_JSSIGNAL) || (command == COMMAND_JSMETHOD) + || (command == COMMAND_JSATTACHEDSIGNAL) || (command == COMMAND_JSATTACHEDMETHOD)) { Q_UNREACHABLE(); } return nullptr; @@ -401,11 +355,8 @@ Node *CppCodeParser::processTopicCommand(const Doc &doc, \note The two QML types \e{Component} and \e{QtObject} never have a module qualifier. */ -bool CppCodeParser::splitQmlPropertyArg(const QString &arg, - QString &type, - QString &module, - QString &qmlTypeName, - QString &name, +bool CppCodeParser::splitQmlPropertyArg(const QString &arg, QString &type, QString &module, + QString &qmlTypeName, QString &name, const Location &location) { QStringList blankSplit = arg.split(QLatin1Char(' ')); @@ -426,8 +377,7 @@ bool CppCodeParser::splitQmlPropertyArg(const QString &arg, } QString msg = "Unrecognizable QML module/component qualifier for " + arg; location.warning(tr(msg.toLatin1().data())); - } - else { + } else { QString msg = "Missing property type for " + arg; location.warning(tr(msg.toLatin1().data())); } @@ -463,15 +413,16 @@ void CppCodeParser::processQmlProperties(const Doc &doc, NodeList &nodes, DocLis if (qmlType == nullptr) qmlType = new QmlTypeNode(qdb_->primaryTreeRoot(), qmlTypeName); - for (int i=0; ifindQmlType(module, qmlTypeName)) { - QString msg = tr("All properties in a group must belong to the same type: '%1'").arg(arg); + QString msg = tr("All properties in a group must belong to the same type: '%1'") + .arg(arg); doc.startLocation().warning(msg); continue; } @@ -488,7 +439,8 @@ void CppCodeParser::processQmlProperties(const Doc &doc, NodeList &nodes, DocLis sharedNodes << qpn; } } else { - doc.startLocation().warning(tr("Command '\\%1'; not allowed with QML/JS property commands").arg(cmd)); + doc.startLocation().warning( + tr("Command '\\%1'; not allowed with QML/JS property commands").arg(cmd)); } } @@ -522,10 +474,8 @@ const QSet &CppCodeParser::metaCommands() \a node is guaranteed to be non-null. */ -void CppCodeParser::processMetaCommand(const Doc &doc, - const QString &command, - const ArgLocPair &argLocPair, - Node *node) +void CppCodeParser::processMetaCommand(const Doc &doc, const QString &command, + const ArgLocPair &argLocPair, Node *node) { QString arg = argLocPair.first; if (command == COMMAND_INHEADERFILE) { @@ -533,8 +483,7 @@ void CppCodeParser::processMetaCommand(const Doc &doc, static_cast(node)->addIncludeFile(arg); else doc.location().warning(tr("Ignored '\\%1'").arg(COMMAND_INHEADERFILE)); - } - else if (command == COMMAND_OVERLOAD) { + } else if (command == COMMAND_OVERLOAD) { /* Note that this might set the overload flag of the primary function. This is ok because the overload @@ -547,8 +496,7 @@ void CppCodeParser::processMetaCommand(const Doc &doc, static_cast(node)->setOverloadFlags(); else doc.location().warning(tr("Ignored '\\%1'").arg(COMMAND_OVERLOAD)); - } - else if (command == COMMAND_REIMP) { + } else if (command == COMMAND_REIMP) { if (node->parent() && !node->parent()->isInternal()) { if (node->isFunction()) { FunctionNode *fn = static_cast(node); @@ -558,38 +506,37 @@ void CppCodeParser::processMetaCommand(const Doc &doc, // set, issue a warning. if (fn->overridesThis().isEmpty() && isWorthWarningAbout(doc)) { doc.location().warning(tr("Cannot find base function for '\\%1' in %2()") - .arg(COMMAND_REIMP).arg(node->name()), + .arg(COMMAND_REIMP) + .arg(node->name()), tr("The function either doesn't exist in any " "base class with the same signature or it " "exists but isn't virtual.")); } fn->setReimpFlag(); - } - else { - doc.location().warning(tr("Ignored '\\%1' in %2").arg(COMMAND_REIMP).arg(node->name())); + } else { + doc.location().warning( + tr("Ignored '\\%1' in %2").arg(COMMAND_REIMP).arg(node->name())); } } - } - else if (command == COMMAND_RELATES) { + } else if (command == COMMAND_RELATES) { QStringList path = arg.split("::"); Aggregate *aggregate = qdb_->findRelatesNode(path); if (aggregate == nullptr) aggregate = new ProxyNode(node->root(), arg); if (node->parent() == aggregate) { // node is already a child of aggregate - doc.location().warning(tr("Invalid '\\%1' (already a member of '%2')") - .arg(COMMAND_RELATES, arg)); + doc.location().warning( + tr("Invalid '\\%1' (already a member of '%2')").arg(COMMAND_RELATES, arg)); } else { if (node->isAggregate()) { doc.location().warning(tr("Invalid '\\%1' not allowed in '\\%2'") - .arg(COMMAND_RELATES, node->nodeTypeString())); + .arg(COMMAND_RELATES, node->nodeTypeString())); } else if (!node->isRelatedNonmember() && //!node->parent()->name().isEmpty() && - !node->parent()->isNamespace() && - !node->parent()->isHeader()) { + !node->parent()->isNamespace() && !node->parent()->isHeader()) { if (!doc.isInternal()) { doc.location().warning(tr("Invalid '\\%1' ('%2' must be global)") - .arg(COMMAND_RELATES, node->name())); + .arg(COMMAND_RELATES, node->name())); } } else if (!node->isRelatedNonmember() && !node->parent()->isHeader()) { aggregate->adoptChild(node); @@ -603,51 +550,41 @@ void CppCodeParser::processMetaCommand(const Doc &doc, Node *clone = node->clone(aggregate); if (clone == nullptr) { doc.location().warning(tr("Invalid '\\%1' (multiple uses not allowed in '%2')") - .arg(COMMAND_RELATES, node->nodeTypeString())); + .arg(COMMAND_RELATES, node->nodeTypeString())); } else { clone->setRelatedNonmember(true); } } } - } - else if (command == COMMAND_CONTENTSPAGE) { + } else if (command == COMMAND_CONTENTSPAGE) { setLink(node, Node::ContentsLink, arg); - } - else if (command == COMMAND_NEXTPAGE) { + } else if (command == COMMAND_NEXTPAGE) { setLink(node, Node::NextLink, arg); - } - else if (command == COMMAND_PREVIOUSPAGE) { + } else if (command == COMMAND_PREVIOUSPAGE) { setLink(node, Node::PreviousLink, arg); - } - else if (command == COMMAND_STARTPAGE) { + } else if (command == COMMAND_STARTPAGE) { setLink(node, Node::StartLink, arg); - } - else if (command == COMMAND_QMLINHERITS) { + } else if (command == COMMAND_QMLINHERITS) { if (node->name() == arg) doc.location().warning(tr("%1 tries to inherit itself").arg(arg)); else if (node->isQmlType() || node->isJsType()) { QmlTypeNode *qmlType = static_cast(node); qmlType->setQmlBaseName(arg); } - } - else if (command == COMMAND_QMLINSTANTIATES) { + } else if (command == COMMAND_QMLINSTANTIATES) { if (node->isQmlType() || node->isJsType()) { ClassNode *classNode = qdb_->findClassNode(arg.split("::")); if (classNode) node->setClassNode(classNode); else doc.location().warning(tr("C++ class %1 not found: \\instantiates %1").arg(arg)); - } - else + } else doc.location().warning(tr("\\instantiates is only allowed in \\qmltype")); - } - else if (command == COMMAND_QMLDEFAULT) { + } else if (command == COMMAND_QMLDEFAULT) { node->markDefault(); - } - else if (command == COMMAND_QMLREADONLY) { + } else if (command == COMMAND_QMLREADONLY) { node->markReadOnly(1); - } - else if ((command == COMMAND_QMLABSTRACT) || (command == COMMAND_ABSTRACT)) { + } else if ((command == COMMAND_QMLABSTRACT) || (command == COMMAND_ABSTRACT)) { if (node->isQmlType() || node->isJsType()) node->setAbstract(true); } else if (command == COMMAND_DEPRECATED) { @@ -656,13 +593,14 @@ void CppCodeParser::processMetaCommand(const Doc &doc, // Note: \ingroup and \inpublicgroup are the same (and now recognized as such). qdb_->addToGroup(arg, node); } else if (command == COMMAND_INMODULE) { - qdb_->addToModule(arg,node); + qdb_->addToModule(arg, node); } else if (command == COMMAND_INQMLMODULE) { - qdb_->addToQmlModule(arg,node); + qdb_->addToQmlModule(arg, node); } else if (command == COMMAND_INJSMODULE) { qdb_->addToJsModule(arg, node); } else if (command == COMMAND_MAINCLASS) { - node->doc().location().warning(tr("'\\mainclass' is deprecated. Consider '\\ingroup mainclasses'")); + node->doc().location().warning( + tr("'\\mainclass' is deprecated. Consider '\\ingroup mainclasses'")); } else if (command == COMMAND_OBSOLETE) { node->setStatus(Node::Obsolete); } else if (command == COMMAND_NONREENTRANT) { @@ -695,8 +633,9 @@ void CppCodeParser::processMetaCommand(const Doc &doc, } else if (command == COMMAND_QTVARIABLE) { node->setQtVariable(arg); if (!node->isModule() && !node->isQmlModule()) - doc.location().warning(tr("Command '\\%1' is only meaningful in '\\module' and '\\qmlmodule'.") - .arg(COMMAND_QTVARIABLE)); + doc.location().warning( + tr("Command '\\%1' is only meaningful in '\\module' and '\\qmlmodule'.") + .arg(COMMAND_QTVARIABLE)); } else if (command == COMMAND_NOAUTOLIST) { node->setNoAutoList(true); } @@ -721,7 +660,8 @@ void CppCodeParser::processMetaCommands(const Doc &doc, Node *node) /*! Parse QML/JS signal/method topic commands. */ -FunctionNode *CppCodeParser::parseOtherFuncArg(const QString &topic, const Location &location, const QString &funcArg) +FunctionNode *CppCodeParser::parseOtherFuncArg(const QString &topic, const Location &location, + const QString &funcArg) { QString funcName; QString returnType; @@ -827,42 +767,40 @@ FunctionNode *CppCodeParser::parseMacroArg(const Location &location, const QStri oldMacroNode->doc().location().warning(tr("(The previous doc is here)")); } return macro; - } +} void CppCodeParser::setExampleFileLists(PageNode *pn) { QString examplePath = pn->name(); - QString proFileName = examplePath + QLatin1Char('/') + examplePath.split(QLatin1Char('/')).last() + ".pro"; - QString fullPath = Config::findFile(pn->doc().location(), - exampleFiles, - exampleDirs, - proFileName); + QString proFileName = + examplePath + QLatin1Char('/') + examplePath.split(QLatin1Char('/')).last() + ".pro"; + QString fullPath = + Config::findFile(pn->doc().location(), exampleFiles, exampleDirs, proFileName); if (fullPath.isEmpty()) { QString tmp = proFileName; proFileName = examplePath + QLatin1Char('/') + "qbuild.pro"; - fullPath = Config::findFile(pn->doc().location(), - exampleFiles, - exampleDirs, - proFileName); + fullPath = Config::findFile(pn->doc().location(), exampleFiles, exampleDirs, proFileName); if (fullPath.isEmpty()) { - proFileName = examplePath + QLatin1Char('/') + examplePath.split(QLatin1Char('/')).last() + ".qmlproject"; - fullPath = Config::findFile(pn->doc().location(), - exampleFiles, - exampleDirs, - proFileName); + proFileName = examplePath + QLatin1Char('/') + + examplePath.split(QLatin1Char('/')).last() + ".qmlproject"; + fullPath = + Config::findFile(pn->doc().location(), exampleFiles, exampleDirs, proFileName); if (fullPath.isEmpty()) { - proFileName = examplePath + QLatin1Char('/') + examplePath.split(QLatin1Char('/')).last() + ".pyproject"; - fullPath = Config::findFile(pn->doc().location(), - exampleFiles, - exampleDirs, + proFileName = examplePath + QLatin1Char('/') + + examplePath.split(QLatin1Char('/')).last() + ".pyproject"; + fullPath = Config::findFile(pn->doc().location(), exampleFiles, exampleDirs, proFileName); if (fullPath.isEmpty()) { - QString details = QLatin1String("Example directories: ") + exampleDirs.join(QLatin1Char(' ')); + QString details = QLatin1String("Example directories: ") + + exampleDirs.join(QLatin1Char(' ')); if (!exampleFiles.isEmpty()) - details += QLatin1String(", example files: ") + exampleFiles.join(QLatin1Char(' ')); - pn->location().warning(tr("Cannot find file '%1' or '%2'").arg(tmp).arg(proFileName), details); - pn->location().warning(tr(" EXAMPLE PATH DOES NOT EXIST: %1").arg(examplePath), details); + details += QLatin1String(", example files: ") + + exampleFiles.join(QLatin1Char(' ')); + pn->location().warning( + tr("Cannot find file '%1' or '%2'").arg(tmp).arg(proFileName), details); + pn->location().warning(tr(" EXAMPLE PATH DOES NOT EXIST: %1").arg(examplePath), + details); return; } } @@ -874,11 +812,13 @@ void CppCodeParser::setExampleFileLists(PageNode *pn) sizeOfBoringPartOfName = sizeOfBoringPartOfName - 2; fullPath.truncate(fullPath.lastIndexOf('/')); - QStringList exampleFiles = Config::getFilesHere(fullPath, exampleNameFilter, Location(), excludeDirs, excludeFiles); + QStringList exampleFiles = Config::getFilesHere(fullPath, exampleNameFilter, Location(), + excludeDirs, excludeFiles); // Search for all image files under the example project, excluding doc/images directory. QSet excludeDocDirs(excludeDirs); excludeDocDirs.insert(QDir(fullPath).canonicalPath() + "/doc/images"); - QStringList imageFiles = Config::getFilesHere(fullPath, exampleImageFilter, Location(), excludeDocDirs, excludeFiles); + QStringList imageFiles = Config::getFilesHere(fullPath, exampleImageFilter, Location(), + excludeDocDirs, excludeFiles); if (!exampleFiles.isEmpty()) { // move main.cpp and to the end, if it exists QString mainCpp; @@ -889,12 +829,13 @@ void CppCodeParser::setExampleFileLists(PageNode *pn) mainCpp = fileName; return true; } - return fileName.contains("/qrc_") || fileName.contains("/moc_") || fileName.contains("/ui_"); + return fileName.contains("/qrc_") || fileName.contains("/moc_") + || fileName.contains("/ui_"); }; - exampleFiles.erase(std::remove_if(exampleFiles.begin(), exampleFiles.end(), - isGeneratedOrMainCpp), - exampleFiles.end()); + exampleFiles.erase( + std::remove_if(exampleFiles.begin(), exampleFiles.end(), isGeneratedOrMainCpp), + exampleFiles.end()); if (!mainCpp.isEmpty()) exampleFiles.append(mainCpp); @@ -918,10 +859,8 @@ void CppCodeParser::setExampleFileLists(PageNode *pn) */ bool CppCodeParser::isJSMethodTopic(const QString &t) { - return (t == COMMAND_JSSIGNAL || - t == COMMAND_JSMETHOD || - t == COMMAND_JSATTACHEDSIGNAL || - t == COMMAND_JSATTACHEDMETHOD); + return (t == COMMAND_JSSIGNAL || t == COMMAND_JSMETHOD || t == COMMAND_JSATTACHEDSIGNAL + || t == COMMAND_JSATTACHEDMETHOD); } /*! @@ -930,10 +869,8 @@ bool CppCodeParser::isJSMethodTopic(const QString &t) */ bool CppCodeParser::isQMLMethodTopic(const QString &t) { - return (t == COMMAND_QMLSIGNAL || - t == COMMAND_QMLMETHOD || - t == COMMAND_QMLATTACHEDSIGNAL || - t == COMMAND_QMLATTACHEDMETHOD); + return (t == COMMAND_QMLSIGNAL || t == COMMAND_QMLMETHOD || t == COMMAND_QMLATTACHEDSIGNAL + || t == COMMAND_QMLATTACHEDMETHOD); } /*! @@ -954,7 +891,8 @@ bool CppCodeParser::isQMLPropertyTopic(const QString &t) return (t == COMMAND_QMLPROPERTY || t == COMMAND_QMLATTACHEDPROPERTY); } -void CppCodeParser::processTopicArgs(const Doc &doc, const QString &topic, NodeList &nodes, DocList &docs) +void CppCodeParser::processTopicArgs(const Doc &doc, const QString &topic, NodeList &nodes, + DocList &docs) { if (isQMLPropertyTopic(topic) || isJSPropertyTopic(topic)) { processQmlProperties(doc, nodes, docs); diff --git a/src/qdoc/cppcodeparser.h b/src/qdoc/cppcodeparser.h index d6b1cead0..04e556dc6 100644 --- a/src/qdoc/cppcodeparser.h +++ b/src/qdoc/cppcodeparser.h @@ -41,14 +41,17 @@ class CppCodeParser : public CodeParser { Q_DECLARE_TR_FUNCTIONS(QDoc::CppCodeParser) - struct ExtraFuncData { + struct ExtraFuncData + { Aggregate *root; // Used as the parent. Node::NodeType type; // The node type: Function, etc. bool isAttached; // If true, the method is attached. - bool isMacro; // If true, we are parsing a macro signature. - ExtraFuncData() : root(nullptr), type(Node::Function), isAttached(false), isMacro(false) { } + bool isMacro; // If true, we are parsing a macro signature. + ExtraFuncData() : root(nullptr), type(Node::Function), isAttached(false), isMacro(false) {} ExtraFuncData(Aggregate *r, Node::NodeType t, bool a) - : root(r), type(t), isAttached(a), isMacro(false) { } + : root(r), type(t), isAttached(a), isMacro(false) + { + } }; public: @@ -60,7 +63,8 @@ public: QStringList headerFileNameFilter() override; QStringList sourceFileNameFilter() override; FunctionNode *parseMacroArg(const Location &location, const QString ¯oArg); - FunctionNode *parseOtherFuncArg(const QString &topic, const Location &location, const QString &funcArg); + FunctionNode *parseOtherFuncArg(const QString &topic, const Location &location, + const QString &funcArg); static bool isJSMethodTopic(const QString &t); static bool isQMLMethodTopic(const QString &t); static bool isJSPropertyTopic(const QString &t); @@ -69,17 +73,13 @@ public: protected: static const QSet &topicCommands(); static const QSet &metaCommands(); - virtual Node *processTopicCommand(const Doc &doc, - const QString &command, + virtual Node *processTopicCommand(const Doc &doc, const QString &command, const ArgLocPair &arg); void processQmlProperties(const Doc &doc, NodeList &nodes, DocList &docs); - bool splitQmlPropertyArg(const QString &arg, - QString &type, - QString &module, - QString &element, - QString &name, - const Location &location); - void processMetaCommand(const Doc &doc, const QString &command, const ArgLocPair &argLocPair, Node *node); + bool splitQmlPropertyArg(const QString &arg, QString &type, QString &module, QString &element, + QString &name, const Location &location); + void processMetaCommand(const Doc &doc, const QString &command, const ArgLocPair &argLocPair, + Node *node); void processMetaCommands(const Doc &doc, Node *node); void processMetaCommands(NodeList &nodes, DocList &docs); void processTopicArgs(const Doc &doc, const QString &topic, NodeList &nodes, DocList &docs); @@ -89,7 +89,7 @@ private: void setExampleFileLists(PageNode *pn); protected: - typedef bool (Node::*NodeTypeTestFunc) () const; + typedef bool (Node::*NodeTypeTestFunc)() const; QMap nodeTypeTestFuncMap_; QMap nodeTypeMap_; diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index 83033ca51..9929a2a2a 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -174,117 +174,116 @@ enum { NOT_A_CMD }; -static struct { +static struct +{ const char *english; int no; QString *alias; -} cmds[] = { - { "a", CMD_A, nullptr }, - { "annotatedlist", CMD_ANNOTATEDLIST, nullptr }, - { "b", CMD_B, nullptr }, - { "badcode", CMD_BADCODE, nullptr }, - { "bold", CMD_BOLD, nullptr }, - { "br", CMD_BR, nullptr }, - { "brief", CMD_BRIEF, nullptr }, - { "c", CMD_C, nullptr }, - { "caption", CMD_CAPTION, nullptr }, - { "code", CMD_CODE, nullptr }, - { "codeline", CMD_CODELINE, nullptr }, - { "div", CMD_DIV, nullptr}, - { "dots", CMD_DOTS, nullptr }, - { "e", CMD_E, nullptr }, - { "else", CMD_ELSE, nullptr }, - { "endcode", CMD_ENDCODE, nullptr }, - { "enddiv", CMD_ENDDIV, nullptr }, - { "endfootnote", CMD_ENDFOOTNOTE, nullptr }, - { "endif", CMD_ENDIF, nullptr }, - { "endlegalese", CMD_ENDLEGALESE, nullptr }, - { "endlink", CMD_ENDLINK, nullptr }, - { "endlist", CMD_ENDLIST, nullptr }, - { "endmapref", CMD_ENDMAPREF, nullptr }, - { "endomit", CMD_ENDOMIT, nullptr }, - { "endquotation", CMD_ENDQUOTATION, nullptr }, - { "endraw", CMD_ENDRAW, nullptr }, - { "endsection1", CMD_ENDSECTION1, nullptr }, // ### don't document for now - { "endsection2", CMD_ENDSECTION2, nullptr }, // ### don't document for now - { "endsection3", CMD_ENDSECTION3, nullptr }, // ### don't document for now - { "endsection4", CMD_ENDSECTION4, nullptr }, // ### don't document for now - { "endsidebar", CMD_ENDSIDEBAR, nullptr }, - { "endtable", CMD_ENDTABLE, nullptr }, - { "endtopicref", CMD_ENDTOPICREF, nullptr }, - { "footnote", CMD_FOOTNOTE, nullptr }, - { "generatelist", CMD_GENERATELIST, nullptr }, - { "granularity", CMD_GRANULARITY, nullptr }, // ### don't document for now - { "header", CMD_HEADER, nullptr }, - { "hr", CMD_HR, nullptr }, - { "i", CMD_I, nullptr}, - { "if", CMD_IF, nullptr }, - { "image", CMD_IMAGE, nullptr }, - { "important", CMD_IMPORTANT, nullptr }, - { "include", CMD_INCLUDE, nullptr }, - { "inlineimage", CMD_INLINEIMAGE, nullptr }, - { "index", CMD_INDEX, nullptr }, // ### don't document for now - { "input", CMD_INPUT, nullptr }, - { "keyword", CMD_KEYWORD, nullptr }, - { "l", CMD_L, nullptr }, - { "legalese", CMD_LEGALESE, nullptr}, - { "li", CMD_LI, nullptr}, - { "link", CMD_LINK, nullptr }, - { "list", CMD_LIST, nullptr }, - { "mapref", CMD_MAPREF, nullptr }, - { "meta", CMD_META, nullptr }, - { "newcode", CMD_NEWCODE, nullptr }, - { "note", CMD_NOTE, nullptr }, - { "o", CMD_O, nullptr }, - { "oldcode", CMD_OLDCODE, nullptr }, - { "omit", CMD_OMIT, nullptr }, - { "omitvalue", CMD_OMITVALUE, nullptr }, - { "overload", CMD_OVERLOAD, nullptr }, - { "printline", CMD_PRINTLINE, nullptr }, - { "printto", CMD_PRINTTO, nullptr }, - { "printuntil", CMD_PRINTUNTIL, nullptr }, - { "quotation", CMD_QUOTATION, nullptr }, - { "quotefile", CMD_QUOTEFILE, nullptr }, - { "quotefromfile", CMD_QUOTEFROMFILE, nullptr }, - { "quotefunction", CMD_QUOTEFUNCTION, nullptr }, - { "raw", CMD_RAW, nullptr }, - { "row", CMD_ROW, nullptr }, - { "sa", CMD_SA, nullptr }, - { "section1", CMD_SECTION1, nullptr }, - { "section2", CMD_SECTION2, nullptr }, - { "section3", CMD_SECTION3, nullptr }, - { "section4", CMD_SECTION4, nullptr }, - { "sidebar", CMD_SIDEBAR, nullptr }, - { "sincelist", CMD_SINCELIST, nullptr }, - { "skipline", CMD_SKIPLINE, nullptr }, - { "skipto", CMD_SKIPTO, nullptr }, - { "skipuntil", CMD_SKIPUNTIL, nullptr }, - { "snippet", CMD_SNIPPET, nullptr }, - { "span", CMD_SPAN, nullptr }, - { "sub", CMD_SUB, nullptr }, - { "sup", CMD_SUP, nullptr }, - { "table", CMD_TABLE, nullptr }, - { "tableofcontents", CMD_TABLEOFCONTENTS, nullptr }, - { "target", CMD_TARGET, nullptr }, - { "topicref", CMD_TOPICREF, nullptr }, - { "tt", CMD_TT, nullptr }, - { "uicontrol", CMD_UICONTROL, nullptr }, - { "underline", CMD_UNDERLINE, nullptr }, - { "unicode", CMD_UNICODE, nullptr }, - { "value", CMD_VALUE, nullptr }, - { "warning", CMD_WARNING, nullptr }, - { "qml", CMD_QML, nullptr }, - { "endqml", CMD_ENDQML, nullptr }, - { "cpp", CMD_CPP, nullptr }, - { "endcpp", CMD_ENDCPP, nullptr }, - { "qmltext", CMD_QMLTEXT, nullptr }, - { "endqmltext", CMD_ENDQMLTEXT, nullptr }, - { "cpptext", CMD_CPPTEXT, nullptr }, - { "endcpptext", CMD_ENDCPPTEXT, nullptr }, - { "js", CMD_JS, nullptr }, - { "endjs", CMD_ENDJS, nullptr}, - { nullptr, 0, nullptr } -}; +} cmds[] = { { "a", CMD_A, nullptr }, + { "annotatedlist", CMD_ANNOTATEDLIST, nullptr }, + { "b", CMD_B, nullptr }, + { "badcode", CMD_BADCODE, nullptr }, + { "bold", CMD_BOLD, nullptr }, + { "br", CMD_BR, nullptr }, + { "brief", CMD_BRIEF, nullptr }, + { "c", CMD_C, nullptr }, + { "caption", CMD_CAPTION, nullptr }, + { "code", CMD_CODE, nullptr }, + { "codeline", CMD_CODELINE, nullptr }, + { "div", CMD_DIV, nullptr }, + { "dots", CMD_DOTS, nullptr }, + { "e", CMD_E, nullptr }, + { "else", CMD_ELSE, nullptr }, + { "endcode", CMD_ENDCODE, nullptr }, + { "enddiv", CMD_ENDDIV, nullptr }, + { "endfootnote", CMD_ENDFOOTNOTE, nullptr }, + { "endif", CMD_ENDIF, nullptr }, + { "endlegalese", CMD_ENDLEGALESE, nullptr }, + { "endlink", CMD_ENDLINK, nullptr }, + { "endlist", CMD_ENDLIST, nullptr }, + { "endmapref", CMD_ENDMAPREF, nullptr }, + { "endomit", CMD_ENDOMIT, nullptr }, + { "endquotation", CMD_ENDQUOTATION, nullptr }, + { "endraw", CMD_ENDRAW, nullptr }, + { "endsection1", CMD_ENDSECTION1, nullptr }, // ### don't document for now + { "endsection2", CMD_ENDSECTION2, nullptr }, // ### don't document for now + { "endsection3", CMD_ENDSECTION3, nullptr }, // ### don't document for now + { "endsection4", CMD_ENDSECTION4, nullptr }, // ### don't document for now + { "endsidebar", CMD_ENDSIDEBAR, nullptr }, + { "endtable", CMD_ENDTABLE, nullptr }, + { "endtopicref", CMD_ENDTOPICREF, nullptr }, + { "footnote", CMD_FOOTNOTE, nullptr }, + { "generatelist", CMD_GENERATELIST, nullptr }, + { "granularity", CMD_GRANULARITY, nullptr }, // ### don't document for now + { "header", CMD_HEADER, nullptr }, + { "hr", CMD_HR, nullptr }, + { "i", CMD_I, nullptr }, + { "if", CMD_IF, nullptr }, + { "image", CMD_IMAGE, nullptr }, + { "important", CMD_IMPORTANT, nullptr }, + { "include", CMD_INCLUDE, nullptr }, + { "inlineimage", CMD_INLINEIMAGE, nullptr }, + { "index", CMD_INDEX, nullptr }, // ### don't document for now + { "input", CMD_INPUT, nullptr }, + { "keyword", CMD_KEYWORD, nullptr }, + { "l", CMD_L, nullptr }, + { "legalese", CMD_LEGALESE, nullptr }, + { "li", CMD_LI, nullptr }, + { "link", CMD_LINK, nullptr }, + { "list", CMD_LIST, nullptr }, + { "mapref", CMD_MAPREF, nullptr }, + { "meta", CMD_META, nullptr }, + { "newcode", CMD_NEWCODE, nullptr }, + { "note", CMD_NOTE, nullptr }, + { "o", CMD_O, nullptr }, + { "oldcode", CMD_OLDCODE, nullptr }, + { "omit", CMD_OMIT, nullptr }, + { "omitvalue", CMD_OMITVALUE, nullptr }, + { "overload", CMD_OVERLOAD, nullptr }, + { "printline", CMD_PRINTLINE, nullptr }, + { "printto", CMD_PRINTTO, nullptr }, + { "printuntil", CMD_PRINTUNTIL, nullptr }, + { "quotation", CMD_QUOTATION, nullptr }, + { "quotefile", CMD_QUOTEFILE, nullptr }, + { "quotefromfile", CMD_QUOTEFROMFILE, nullptr }, + { "quotefunction", CMD_QUOTEFUNCTION, nullptr }, + { "raw", CMD_RAW, nullptr }, + { "row", CMD_ROW, nullptr }, + { "sa", CMD_SA, nullptr }, + { "section1", CMD_SECTION1, nullptr }, + { "section2", CMD_SECTION2, nullptr }, + { "section3", CMD_SECTION3, nullptr }, + { "section4", CMD_SECTION4, nullptr }, + { "sidebar", CMD_SIDEBAR, nullptr }, + { "sincelist", CMD_SINCELIST, nullptr }, + { "skipline", CMD_SKIPLINE, nullptr }, + { "skipto", CMD_SKIPTO, nullptr }, + { "skipuntil", CMD_SKIPUNTIL, nullptr }, + { "snippet", CMD_SNIPPET, nullptr }, + { "span", CMD_SPAN, nullptr }, + { "sub", CMD_SUB, nullptr }, + { "sup", CMD_SUP, nullptr }, + { "table", CMD_TABLE, nullptr }, + { "tableofcontents", CMD_TABLEOFCONTENTS, nullptr }, + { "target", CMD_TARGET, nullptr }, + { "topicref", CMD_TOPICREF, nullptr }, + { "tt", CMD_TT, nullptr }, + { "uicontrol", CMD_UICONTROL, nullptr }, + { "underline", CMD_UNDERLINE, nullptr }, + { "unicode", CMD_UNICODE, nullptr }, + { "value", CMD_VALUE, nullptr }, + { "warning", CMD_WARNING, nullptr }, + { "qml", CMD_QML, nullptr }, + { "endqml", CMD_ENDQML, nullptr }, + { "cpp", CMD_CPP, nullptr }, + { "endcpp", CMD_ENDCPP, nullptr }, + { "qmltext", CMD_QMLTEXT, nullptr }, + { "endqmltext", CMD_ENDQMLTEXT, nullptr }, + { "cpptext", CMD_CPPTEXT, nullptr }, + { "endcpptext", CMD_ENDCPPTEXT, nullptr }, + { "js", CMD_JS, nullptr }, + { "endjs", CMD_ENDJS, nullptr }, + { nullptr, 0, nullptr } }; typedef QHash QHash_QString_int; typedef QHash QHash_QString_Macro; @@ -296,24 +295,20 @@ Q_GLOBAL_STATIC(QHash_QString_Macro, macroHash) class DocPrivateExtra { public: - Doc::Sections granularity_; - Doc::Sections section_; // ### - QVector tableOfContents_; - QVector tableOfContentsLevels_; - QVector keywords_; - QVector targets_; - QStringMultiMap metaMap_; - - DocPrivateExtra() - : granularity_(Doc::Part) - , section_(Doc::NoSection) - { } + Doc::Sections granularity_; + Doc::Sections section_; // ### + QVector tableOfContents_; + QVector tableOfContentsLevels_; + QVector keywords_; + QVector targets_; + QStringMultiMap metaMap_; + + DocPrivateExtra() : granularity_(Doc::Part), section_(Doc::NoSection) {} }; struct Shared // ### get rid of { - Shared() - : count(1) { } + Shared() : count(1) {} void ref() { ++count; } bool deref() { return (--count == 0); } @@ -323,8 +318,7 @@ struct Shared // ### get rid of static QString cleanLink(const QString &link) { int colonPos = link.indexOf(':'); - if ((colonPos == -1) || - (!link.startsWith("file:") && !link.startsWith("mailto:"))) + if ((colonPos == -1) || (!link.startsWith("file:") && !link.startsWith("mailto:"))) return link; return link.mid(colonPos + 1).simplified(); } @@ -334,8 +328,7 @@ typedef QMap CommandMap; class DocPrivate : public Shared { public: - DocPrivate(const Location &start = Location::null, - const Location &end = Location::null, + DocPrivate(const Location &start = Location::null, const Location &end = Location::null, const QString &source = QString()); ~DocPrivate(); @@ -361,9 +354,7 @@ public: DitaRefList ditamap_; }; -DocPrivate::DocPrivate(const Location &start, - const Location &end, - const QString &source) +DocPrivate::DocPrivate(const Location &start, const Location &end, const QString &source) : start_loc(start), end_loc(end), src(source), @@ -404,9 +395,7 @@ bool DocPrivate::isEnumDocSimplifiable() const while (atom) { if (atom->type() == Atom::AutoLink || atom->type() == Atom::String) { justMetColon = atom->string().endsWith(QLatin1Char(':')); - } - else if ((atom->type() == Atom::ListLeft) && - (atom->string() == ATOM_LIST_VALUE)) { + } else if ((atom->type() == Atom::ListLeft) && (atom->string() == ATOM_LIST_VALUE)) { if (justMetColon || numValueTables > 0) return false; ++numValueTables; @@ -421,9 +410,7 @@ class DocParser Q_DECLARE_TR_FUNCTIONS(QDoc::DocParser) public: - void parse(const QString &source, - DocPrivate *docPrivate, - const QSet &metaCommandSet, + void parse(const QString &source, DocPrivate *docPrivate, const QSet &metaCommandSet, const QSet &possibleTopics); static int endCmdFor(int cmd); @@ -443,8 +430,7 @@ public: private: Location &location(); - QString detailsUnknownCommand(const QSet &metaCommandSet, - const QString &str); + QString detailsUnknownCommand(const QSet &metaCommandSet, const QString &str); void insertTarget(const QString &target, bool keyword); void include(const QString &fileName, const QString &identifier); void startFormat(const QString &format, int cmd); @@ -463,8 +449,7 @@ private: void appendToCode(const QString &code, Atom::AtomType defaultType); void startNewPara(); void enterPara(Atom::AtomType leftType = Atom::ParaLeft, - Atom::AtomType rightType = Atom::ParaRight, - const QString &string = QString()); + Atom::AtomType rightType = Atom::ParaRight, const QString &string = QString()); void leavePara(); void leaveValue(); void leaveValueList(); @@ -472,7 +457,8 @@ private: CodeMarker *quoteFromFile(); bool expandMacro(); void expandMacro(const QString &name, const QString &def, int numParams); - QString expandMacroToString(const QString &name, const QString &def, int numParams, const QString &matchExpr); + QString expandMacroToString(const QString &name, const QString &def, int numParams, + const QString &matchExpr); Doc::Sections getSectioningUnit(); QString getArgument(bool verbatim = false); QString getBracedArgument(bool verbatim); @@ -504,12 +490,8 @@ private: Location cachedLoc; int cachedPos; - DocPrivate* priv; - enum ParagraphState { - OutsideParagraph, - InSingleLineParagraph, - InMultiLineParagraph - }; + DocPrivate *priv; + enum ParagraphState { OutsideParagraph, InSingleLineParagraph, InMultiLineParagraph }; ParagraphState paraState; bool inTableHeader; bool inTableRow; @@ -546,10 +528,8 @@ bool DocParser::quoting = false; found in \a source. These metacommands are not markup text commands. They are topic commands and related metacommands. */ -void DocParser::parse(const QString &source, - DocPrivate *docPrivate, - const QSet &metaCommandSet, - const QSet &possibleTopics) +void DocParser::parse(const QString &source, DocPrivate *docPrivate, + const QSet &metaCommandSet, const QSet &possibleTopics) { input_ = source; pos = 0; @@ -592,8 +572,7 @@ void DocParser::parse(const QString &source, if (ch.isLetterOrNumber()) { cmdStr += ch; ++pos; - } - else { + } else { break; } } @@ -604,31 +583,30 @@ void DocParser::parse(const QString &source, if (input_.at(pos).isSpace()) { skipAllSpaces(); appendChar(QLatin1Char(' ')); - } - else { + } else { appendChar(input_.at(pos++)); } } - } - else { + } else { // Ignore quoting atoms to make appendToCode() // append to the correct atom. if (!quoting || !isQuote(priv->text.lastAtom())) lastAtom = priv->text.lastAtom(); - int cmd = cmdHash()->value(cmdStr,NOT_A_CMD); + int cmd = cmdHash()->value(cmdStr, NOT_A_CMD); switch (cmd) { case CMD_A: enterPara(); p1 = getArgument(); - append(Atom::FormattingLeft,ATOM_FORMATTING_PARAMETER); + append(Atom::FormattingLeft, ATOM_FORMATTING_PARAMETER); append(Atom::String, p1); - append(Atom::FormattingRight,ATOM_FORMATTING_PARAMETER); + append(Atom::FormattingRight, ATOM_FORMATTING_PARAMETER); priv->params.insert(p1); break; case CMD_BADCODE: leavePara(); - append(Atom::CodeBad, getCode(CMD_BADCODE, marker, getMetaCommandArgument(cmdStr))); + append(Atom::CodeBad, + getCode(CMD_BADCODE, marker, getMetaCommandArgument(cmdStr))); break; case CMD_BR: enterPara(); @@ -660,18 +638,19 @@ void DocParser::parse(const QString &source, break; case CMD_QML: leavePara(); - append(Atom::Qml, getCode(CMD_QML, - CodeMarker::markerForLanguage(QLatin1String("QML")), - getMetaCommandArgument(cmdStr))); + append(Atom::Qml, + getCode(CMD_QML, CodeMarker::markerForLanguage(QLatin1String("QML")), + getMetaCommandArgument(cmdStr))); break; case CMD_QMLTEXT: append(Atom::QmlText); break; case CMD_JS: leavePara(); - append(Atom::JavaScript, getCode(CMD_JS, - CodeMarker::markerForLanguage(QLatin1String("JavaScript")), - getMetaCommandArgument(cmdStr))); + append(Atom::JavaScript, + getCode(CMD_JS, + CodeMarker::markerForLanguage(QLatin1String("JavaScript")), + getMetaCommandArgument(cmdStr))); break; case CMD_DIV: leavePara(); @@ -764,7 +743,7 @@ void DocParser::parse(const QString &source, case CMD_ENDLINK: if (closeCommand(cmd)) { if (priv->text.lastAtom()->type() == Atom::String - && priv->text.lastAtom()->string().endsWith(QLatin1Char(' '))) + && priv->text.lastAtom()->string().endsWith(QLatin1Char(' '))) priv->text.lastAtom()->chopString(); append(Atom::FormattingRight, ATOM_FORMATTING_LINK); } @@ -773,10 +752,8 @@ void DocParser::parse(const QString &source, if (closeCommand(cmd)) { leavePara(); if (openedLists.top().isStarted()) { - append(Atom::ListItemRight, - openedLists.top().styleString()); - append(Atom::ListRight, - openedLists.top().styleString()); + append(Atom::ListItemRight, openedLists.top().styleString()); + append(Atom::ListRight, openedLists.top().styleString()); } openedLists.pop(); } @@ -836,13 +813,12 @@ void DocParser::parse(const QString &source, append(Atom::SinceList, getRestOfLine().simplified()); break; case CMD_GENERATELIST: { - QString arg1 = getArgument(); - QString arg2 = getOptionalArgument(); - if (!arg2.isEmpty()) - arg1 += " " + arg2; - append(Atom::GeneratedList, arg1); - } - break; + QString arg1 = getArgument(); + QString arg2 = getOptionalArgument(); + if (!arg2.isEmpty()) + arg1 += " " + arg2; + append(Atom::GeneratedList, arg1); + } break; case CMD_GRANULARITY: priv->constructExtra(); priv->extra->granularity_ = getSectioningUnit(); @@ -855,16 +831,17 @@ void DocParser::parse(const QString &source, } else { if (openedCommands.contains(CMD_TABLE)) location().warning(tr("Cannot use '\\%1' within '\\%2'") - .arg(cmdName(CMD_HEADER)) - .arg(cmdName(openedCommands.top()))); + .arg(cmdName(CMD_HEADER)) + .arg(cmdName(openedCommands.top()))); else location().warning(tr("Cannot use '\\%1' outside of '\\%2'") - .arg(cmdName(CMD_HEADER)) - .arg(cmdName(CMD_TABLE))); + .arg(cmdName(CMD_HEADER)) + .arg(cmdName(CMD_TABLE))); } break; case CMD_I: - location().warning(tr("'\\i' is deprecated. Use '\\e' for italic or '\\li' for list item")); + location().warning(tr( + "'\\i' is deprecated. Use '\\e' for italic or '\\li' for list item")); Q_FALLTHROUGH(); case CMD_E: startFormat(ATOM_FORMATTING_ITALIC, cmd); @@ -908,15 +885,15 @@ void DocParser::parse(const QString &source, indexStartedPara = true; } else { const Atom *last = priv->text.lastAtom(); - if (indexStartedPara && - (last->type() != Atom::FormattingRight || - last->string() != ATOM_FORMATTING_INDEX)) + if (indexStartedPara + && (last->type() != Atom::FormattingRight + || last->string() != ATOM_FORMATTING_INDEX)) indexStartedPara = false; } startFormat(ATOM_FORMATTING_INDEX, cmd); break; case CMD_KEYWORD: - insertTarget(getRestOfLine(),true); + insertTarget(getRestOfLine(), true); break; case CMD_L: enterPara(); @@ -926,14 +903,14 @@ void DocParser::parse(const QString &source, p1 = getArgument(); append(p1, p2); if (!p2.isEmpty() && !(priv->text.lastAtom()->error().isEmpty())) - location().warning(tr("Check parameter in '[ ]' of '\\l' command: '%1', " - "possible misspelling, or unrecognized module name") - .arg(priv->text.lastAtom()->error())); + location().warning( + tr("Check parameter in '[ ]' of '\\l' command: '%1', " + "possible misspelling, or unrecognized module name") + .arg(priv->text.lastAtom()->error())); if (isLeftBraceAhead()) { currentLinkAtom = priv->text.lastAtom(); startFormat(ATOM_FORMATTING_LINK, cmd); - } - else { + } else { append(Atom::FormattingLeft, ATOM_FORMATTING_LINK); append(Atom::String, cleanLink(p1)); append(Atom::FormattingRight, ATOM_FORMATTING_LINK); @@ -942,9 +919,10 @@ void DocParser::parse(const QString &source, p1 = getArgument(); append(p1, p2); if (!p2.isEmpty() && !(priv->text.lastAtom()->error().isEmpty())) - location().warning(tr("Check parameter in '[ ]' of '\\l' command: '%1', " - "possible misspelling, or unrecognized module name") - .arg(priv->text.lastAtom()->error())); + location().warning( + tr("Check parameter in '[ ]' of '\\l' command: '%1', " + "possible misspelling, or unrecognized module name") + .arg(priv->text.lastAtom()->error())); append(Atom::FormattingLeft, ATOM_FORMATTING_LINK); append(Atom::String, cleanLink(p1)); append(Atom::FormattingRight, ATOM_FORMATTING_LINK); @@ -969,8 +947,7 @@ void DocParser::parse(const QString &source, case CMD_LIST: if (openCommand(cmd)) { leavePara(); - openedLists.push(OpenedList(location(), - getOptionalArgument())); + openedLists.push(OpenedList(location(), getOptionalArgument())); } break; case CMD_TOPICREF: @@ -1030,9 +1007,9 @@ void DocParser::parse(const QString &source, if (!inTableHeader && !inTableRow) { location().warning(tr("Missing '\\%1' or '\\%2' before '\\%3'") - .arg(cmdName(CMD_HEADER)) - .arg(cmdName(CMD_ROW)) - .arg(cmdName(CMD_LI))); + .arg(cmdName(CMD_HEADER)) + .arg(cmdName(CMD_ROW)) + .arg(cmdName(CMD_LI))); append(Atom::TableRowLeft); inTableRow = true; } else if (inTableItem) { @@ -1044,9 +1021,9 @@ void DocParser::parse(const QString &source, inTableItem = true; } else location().warning(tr("Command '\\%1' outside of '\\%2' and '\\%3'") - .arg(cmdName(cmd)) - .arg(cmdName(CMD_LIST)) - .arg(cmdName(CMD_TABLE))); + .arg(cmdName(cmd)) + .arg(cmdName(CMD_LIST)) + .arg(cmdName(CMD_TABLE))); break; case CMD_OLDCODE: leavePara(); @@ -1130,7 +1107,9 @@ void DocParser::parse(const QString &source, append(Atom::CodeQuoteArgument, slashed(marker->functionEndRegExp(p1))); } quoter.quoteTo(location(), cmdStr, slashed(marker->functionBeginRegExp(p1))); - append(Atom::Code, quoter.quoteUntil(location(), cmdStr, slashed(marker->functionEndRegExp(p1)))); + append(Atom::Code, + quoter.quoteUntil(location(), cmdStr, + slashed(marker->functionEndRegExp(p1)))); quoter.reset(); break; } @@ -1138,8 +1117,8 @@ void DocParser::parse(const QString &source, leavePara(); p1 = getRestOfLine(); if (p1.isEmpty()) - location().warning(tr("Missing format name after '\\%1'") - .arg(cmdName(CMD_RAW))); + location().warning( + tr("Missing format name after '\\%1'").arg(cmdName(CMD_RAW))); append(Atom::FormatIf, p1); append(Atom::RawString, untabifyEtc(getUntilEnd(cmd))); append(Atom::FormatElse); @@ -1151,17 +1130,17 @@ void DocParser::parse(const QString &source, if (isLeftBraceAhead()) p1 = getArgument(true); leaveTableRow(); - append(Atom::TableRowLeft,p1); + append(Atom::TableRowLeft, p1); inTableRow = true; } else { if (openedCommands.contains(CMD_TABLE)) location().warning(tr("Cannot use '\\%1' within '\\%2'") - .arg(cmdName(CMD_ROW)) - .arg(cmdName(openedCommands.top()))); + .arg(cmdName(CMD_ROW)) + .arg(cmdName(openedCommands.top()))); else location().warning(tr("Cannot use '\\%1' outside of '\\%2'") - .arg(cmdName(CMD_ROW)) - .arg(cmdName(CMD_TABLE))); + .arg(cmdName(CMD_ROW)) + .arg(cmdName(CMD_TABLE))); } break; case CMD_SA: @@ -1258,7 +1237,7 @@ void DocParser::parse(const QString &source, append(Atom::TableOfContents, p1); break; case CMD_TARGET: - insertTarget(getRestOfLine(),false); + insertTarget(getRestOfLine(), false); break; case CMD_TT: startFormat(ATOM_FORMATTING_TELETYPE, cmd); @@ -1276,7 +1255,7 @@ void DocParser::parse(const QString &source, uint unicodeChar = p1.toUInt(&ok, 0); if (!ok || (unicodeChar == 0x0000) || (unicodeChar > 0xFFFE)) location().warning(tr("Invalid Unicode character '%1' specified with '%2'") - .arg(p1, cmdName(CMD_UNICODE))); + .arg(p1, cmdName(CMD_UNICODE))); else append(Atom::String, QChar(unicodeChar)); break; @@ -1286,7 +1265,8 @@ void DocParser::parse(const QString &source, if (openedLists.top().style() == OpenedList::Value) { QString p2; p1 = getArgument(); - if (p1.startsWith(QLatin1String("[since ")) && p1.endsWith(QLatin1String("]"))) { + if (p1.startsWith(QLatin1String("[since ")) + && p1.endsWith(QLatin1String("]"))) { p2 = p1.mid(7, p1.length() - 8); p1 = getArgument(); } @@ -1327,32 +1307,33 @@ void DocParser::parse(const QString &source, if (!p1.isEmpty()) { append(Atom::ParaLeft); append(Atom::String, "This function overloads "); - append(Atom::AutoLink,p1); + append(Atom::AutoLink, p1); append(Atom::String, "."); append(Atom::ParaRight); } else { append(Atom::ParaLeft); - append(Atom::String,"This is an overloaded function."); + append(Atom::String, "This is an overloaded function."); append(Atom::ParaRight); p1 = getMetaCommandArgument(cmdStr); } - priv->metaCommandMap[cmdStr].append(ArgLocPair(p1,location())); + priv->metaCommandMap[cmdStr].append(ArgLocPair(p1, location())); break; case NOT_A_CMD: if (metaCommandSet.contains(cmdStr)) { priv->metacommandsUsed.insert(cmdStr); QString arg = getMetaCommandArgument(cmdStr); - priv->metaCommandMap[cmdStr].append(ArgLocPair(arg,location())); + priv->metaCommandMap[cmdStr].append(ArgLocPair(arg, location())); if (possibleTopics.contains(cmdStr)) { if (!cmdStr.endsWith(QLatin1String("propertygroup"))) - priv->topics_.append(Topic(cmdStr,arg)); + priv->topics_.append(Topic(cmdStr, arg)); } } else if (macroHash()->contains(cmdStr)) { const Macro ¯o = macroHash()->value(cmdStr); int numPendingFi = 0; int numFormatDefs = 0; QString matchExpr; - for (auto it = macro.otherDefs.constBegin(); it != macro.otherDefs.constEnd(); ++it) { + for (auto it = macro.otherDefs.constBegin(); + it != macro.otherDefs.constEnd(); ++it) { if (it.key() == "match") { matchExpr = it.value(); } else { @@ -1372,15 +1353,12 @@ void DocParser::parse(const QString &source, if (!macro.defaultDef.isEmpty()) { if (numFormatDefs > 0) { - macro.defaultDefLocation.warning( - tr("Macro cannot have both " - "format-specific and qdoc-" - "syntax definitions")); + macro.defaultDefLocation.warning(tr("Macro cannot have both " + "format-specific and qdoc-" + "syntax definitions")); } else { - QString expanded = expandMacroToString(cmdStr, - macro.defaultDef, - macro.numParams, - matchExpr); + QString expanded = expandMacroToString(cmdStr, macro.defaultDef, + macro.numParams, matchExpr); input_.replace(backslashPos, endPos - backslashPos, expanded); len = input_.length(); pos = backslashPos; @@ -1408,15 +1386,14 @@ void DocParser::parse(const QString &source, } else if (latin1Ch == '_' || latin1Ch == '@') { ++numStrangeSymbols; ++curPos; - } else if ((latin1Ch == ':') && - (curPos < cmdStr.size() - 1) && - (cmdStr.at(curPos + 1) == QLatin1Char(':'))) { + } else if ((latin1Ch == ':') && (curPos < cmdStr.size() - 1) + && (cmdStr.at(curPos + 1) == QLatin1Char(':'))) { ++numStrangeSymbols; curPos += 2; } else if (latin1Ch == '(') { if (curPos > 0) { - if ((curPos < cmdStr.size() - 1) && - (cmdStr.at(curPos + 1) == QLatin1Char(')'))) { + if ((curPos < cmdStr.size() - 1) + && (cmdStr.at(curPos + 1) == QLatin1Char(')'))) { ++numStrangeSymbols; pos += 2; break; @@ -1439,7 +1416,7 @@ void DocParser::parse(const QString &source, // The QML and JS property group commands are no longer required // for grouping QML and JS properties. They are allowed but ignored. location().warning(tr("Unknown command '\\%1'").arg(cmdStr), - detailsUnknownCommand(metaCommandSet,cmdStr)); + detailsUnknownCommand(metaCommandSet, cmdStr)); } enterPara(); append(Atom::UnknownCommand, cmdStr); @@ -1471,10 +1448,9 @@ void DocParser::parse(const QString &source, } else if (*format == ATOM_FORMATTING_LINK) { // hack for C++ to support links like // \l{QString::}{count()} - if (currentLinkAtom && - currentLinkAtom->string().endsWith("::")) { - QString suffix = Text::subText(currentLinkAtom, - priv->text.lastAtom()).toString(); + if (currentLinkAtom && currentLinkAtom->string().endsWith("::")) { + QString suffix = + Text::subText(currentLinkAtom, priv->text.lastAtom()).toString(); currentLinkAtom->appendString(suffix); } currentLinkAtom = nullptr; @@ -1515,9 +1491,7 @@ void DocParser::parse(const QString &source, } else { if (ch.isSpace()) { ++pos; - if ((ch == '\n') && - (paraState == InSingleLineParagraph || - isBlankLine())) { + if ((ch == '\n') && (paraState == InSingleLineParagraph || isBlankLine())) { leavePara(); newWord = false; } else { @@ -1552,7 +1526,8 @@ void DocParser::parse(const QString &source, } else if (latin1Ch == '_' || latin1Ch == '@') { ++numStrangeSymbols; ++pos; - } else if (latin1Ch == ':' && pos < len - 1 && input_.at(pos + 1) == QLatin1Char(':')) { + } else if (latin1Ch == ':' && pos < len - 1 + && input_.at(pos + 1) == QLatin1Char(':')) { ++numStrangeSymbols; pos += 2; } else if (latin1Ch == '(') { @@ -1587,8 +1562,7 @@ void DocParser::parse(const QString &source, appendWord(word); else append(Atom::AutoLink, word); - } - else { + } else { appendWord(word); } } @@ -1606,8 +1580,7 @@ void DocParser::parse(const QString &source, if (openedCommands.top() != CMD_OMIT) { location().warning(tr("Missing '\\%1'").arg(endCmdName(openedCommands.top()))); - } - else if (preprocessorSkipping.count() > 0) { + } else if (preprocessorSkipping.count() > 0) { location().warning(tr("Missing '\\%1'").arg(cmdName(CMD_ENDIF))); } @@ -1635,8 +1608,7 @@ Location &DocParser::location() return cachedLoc; } -QString DocParser::detailsUnknownCommand(const QSet &metaCommandSet, - const QString &str) +QString DocParser::detailsUnknownCommand(const QSet &metaCommandSet, const QString &str) { QSet commandSet = metaCommandSet; int i = 0; @@ -1648,7 +1620,8 @@ QString DocParser::detailsUnknownCommand(const QSet &metaCommandSet, if (aliasMap()->contains(str)) return tr("The command '\\%1' was renamed '\\%2' by the configuration" " file. Use the new name.") - .arg(str).arg((*aliasMap())[str]); + .arg(str) + .arg((*aliasMap())[str]); QString best = nearestName(str, commandSet); if (best.isEmpty()) @@ -1661,15 +1634,13 @@ void DocParser::insertTarget(const QString &target, bool keyword) if (targetMap_.contains(target)) { location().warning(tr("Duplicate target name '%1'").arg(target)); targetMap_[target].warning(tr("(The previous occurrence is here)")); - } - else { + } else { targetMap_.insert(target, location()); priv->constructExtra(); if (keyword) { append(Atom::Keyword, target); priv->extra->keywords_.append(priv->text.lastAtom()); - } - else { + } else { append(Atom::Target, target); priv->extra->targets_.append(priv->text.lastAtom()); } @@ -1685,14 +1656,11 @@ void DocParser::include(const QString &fileName, const QString &identifier) QString filePath = Doc::config()->getIncludeFilePath(fileName); if (filePath.isEmpty()) { location().warning(tr("Cannot find qdoc include file '%1'").arg(fileName)); - } - else { + } else { QFile inFile(filePath); if (!inFile.open(QFile::ReadOnly)) { - location().warning(tr("Cannot open qdoc include file '%1'") - .arg(userFriendlyFilePath)); - } - else { + location().warning(tr("Cannot open qdoc include file '%1'").arg(userFriendlyFilePath)); + } else { location().push(userFriendlyFilePath); QTextStream inStream(&inFile); @@ -1703,15 +1671,14 @@ void DocParser::include(const QString &fileName, const QString &identifier) input_.insert(pos, includedStuff); len = input_.length(); openedInputs.push(pos + includedStuff.length()); - } - else { + } else { QStringList lineBuffer = includedStuff.split(QLatin1Char('\n')); int i = 0; int startLine = -1; while (i < lineBuffer.size()) { if (lineBuffer[i].startsWith("//!")) { if (lineBuffer[i].contains(identifier)) { - startLine = i+1; + startLine = i + 1; break; } } @@ -1719,31 +1686,28 @@ void DocParser::include(const QString &fileName, const QString &identifier) } if (startLine < 0) { location().warning(tr("Cannot find '%1' in '%2'") - .arg(identifier) - .arg(userFriendlyFilePath)); + .arg(identifier) + .arg(userFriendlyFilePath)); return; - } QString result; i = startLine; do { if (lineBuffer[i].startsWith("//!")) { - if (i 1) { openedCommands.pop(); return true; - } - else { + } else { bool contains = false; QStack opened2 = openedCommands; while (opened2.size() > 1) { @@ -1843,12 +1794,11 @@ bool DocParser::closeCommand(int endCmd) if (contains) { while (endCmdFor(openedCommands.top()) != endCmd && openedCommands.size() > 1) { location().warning(tr("Missing '\\%1' before '\\%2'") - .arg(endCmdName(openedCommands.top())) - .arg(cmdName(endCmd))); + .arg(endCmdName(openedCommands.top())) + .arg(cmdName(endCmd))); openedCommands.pop(); } - } - else { + } else { location().warning(tr("Unexpected '\\%1'").arg(cmdName(endCmd))); } return false; @@ -1860,25 +1810,21 @@ void DocParser::startSection(Doc::Sections unit, int cmd) leaveValueList(); if (currentSection == Doc::NoSection) { - currentSection = (Doc::Sections) (unit); + currentSection = (Doc::Sections)(unit); priv->constructExtra(); priv->extra->section_ = currentSection; - } - else - endSection(unit,cmd); + } else + endSection(unit, cmd); append(Atom::SectionLeft, QString::number(unit)); priv->constructExtra(); priv->extra->tableOfContents_.append(priv->text.lastAtom()); priv->extra->tableOfContentsLevels_.append(unit); - enterPara(Atom::SectionHeadingLeft, - Atom::SectionHeadingRight, - QString::number(unit)); + enterPara(Atom::SectionHeadingLeft, Atom::SectionHeadingRight, QString::number(unit)); currentSection = unit; - } -void DocParser::endSection(int , int) // (int unit, int endCmd) +void DocParser::endSection(int, int) // (int unit, int endCmd) { leavePara(); append(Atom::SectionRight, QString::number(currentSection)); @@ -1903,12 +1849,10 @@ void DocParser::parseAlso() // hack for C++ to support links like \l{QString::}{count()} if (target.endsWith("::")) target += str; - } - else { + } else { str = target; } - } - else { + } else { target = getArgument(); str = cleanLink(target); if (target == QLatin1String("and") || target == QLatin1String(".")) @@ -1917,10 +1861,8 @@ void DocParser::parseAlso() if (!skipMe) { Text also; - also << Atom(Atom::Link, target) - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) - << str - << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); + also << Atom(Atom::Link, target) << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) + << str << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); priv->addAlso(also); } @@ -1928,8 +1870,7 @@ void DocParser::parseAlso() if (pos < len && input_[pos] == ',') { pos++; skipSpacesOrOneEndl(); - } - else if (input_[pos] != '\n') { + } else if (input_[pos] != '\n') { location().warning(tr("Missing comma in '\\%1'").arg(cmdName(CMD_SA))); } } @@ -1978,8 +1919,7 @@ void DocParser::appendChar(QChar ch) if (ch == QLatin1Char(' ')) { if (!atom->string().endsWith(QLatin1Char(' '))) atom->appendChar(QLatin1Char(' ')); - } - else + } else atom->appendChar(ch); } @@ -1987,8 +1927,7 @@ void DocParser::appendWord(const QString &word) { if (priv->text.lastAtom()->type() != Atom::String) { append(Atom::String, word); - } - else + } else priv->text.lastAtom()->appendString(word); } @@ -2017,14 +1956,12 @@ void DocParser::startNewPara() enterPara(); } -void DocParser::enterPara(Atom::AtomType leftType, - Atom::AtomType rightType, - const QString &string) +void DocParser::enterPara(Atom::AtomType leftType, Atom::AtomType rightType, const QString &string) { if (paraState == OutsideParagraph) { - if ((priv->text.lastAtom()->type() != Atom::ListItemLeft) && - (priv->text.lastAtom()->type() != Atom::DivLeft)) { + if ((priv->text.lastAtom()->type() != Atom::ListItemLeft) + && (priv->text.lastAtom()->type() != Atom::DivLeft)) { leaveValueList(); } @@ -2035,8 +1972,7 @@ void DocParser::enterPara(Atom::AtomType leftType, pendingParaString = string; if (leftType == Atom::SectionHeadingLeft) { paraState = InSingleLineParagraph; - } - else { + } else { paraState = InMultiLineParagraph; } skipSpacesOrOneEndl(); @@ -2053,10 +1989,9 @@ void DocParser::leavePara() if (priv->text.lastAtom()->type() == pendingParaLeftType) { priv->text.stripLastAtom(); - } - else { - if (priv->text.lastAtom()->type() == Atom::String && - priv->text.lastAtom()->string().endsWith(QLatin1Char(' '))) { + } else { + if (priv->text.lastAtom()->type() == Atom::String + && priv->text.lastAtom()->string().endsWith(QLatin1Char(' '))) { priv->text.lastAtom()->chopString(); } append(pendingParaRightType, pendingParaString); @@ -2074,8 +2009,7 @@ void DocParser::leaveValue() if (openedLists.isEmpty()) { openedLists.push(OpenedList(OpenedList::Value)); append(Atom::ListLeft, ATOM_LIST_VALUE); - } - else { + } else { if (priv->text.lastAtom()->type() == Atom::Nop) priv->text.stripLastAtom(); append(Atom::ListItemRight, ATOM_LIST_VALUE); @@ -2085,8 +2019,7 @@ void DocParser::leaveValue() void DocParser::leaveValueList() { leavePara(); - if (!openedLists.isEmpty() && - (openedLists.top().style() == OpenedList::Value)) { + if (!openedLists.isEmpty() && (openedLists.top().style() == OpenedList::Value)) { if (priv->text.lastAtom()->type() == Atom::Nop) priv->text.stripLastAtom(); append(Atom::ListItemRight, ATOM_LIST_VALUE); @@ -2143,9 +2076,7 @@ bool DocParser::expandMacro() if (macroHash()->contains(cmdStr)) { const Macro ¯o = macroHash()->value(cmdStr); if (!macro.defaultDef.isEmpty()) { - QString expanded = expandMacroToString(cmdStr, - macro.defaultDef, - macro.numParams, + QString expanded = expandMacroToString(cmdStr, macro.defaultDef, macro.numParams, macro.otherDefs.value("match")); input_.replace(backslashPos, pos - backslashPos, expanded); len = input_.length(); @@ -2168,25 +2099,23 @@ bool DocParser::expandMacro() return false; } -void DocParser::expandMacro(const QString &name, - const QString &def, - int numParams) +void DocParser::expandMacro(const QString &name, const QString &def, int numParams) { if (numParams == 0) { append(Atom::RawString, def); - } - else { + } else { QStringList args; QString rawString; for (int i = 0; i < numParams; ++i) { if (numParams == 1 || isLeftBraceAhead()) { args << getArgument(true); - } - else { + } else { location().warning(tr("Macro '\\%1' invoked with too few" " arguments (expected %2, got %3)") - .arg(name).arg(numParams).arg(i)); + .arg(name) + .arg(numParams) + .arg(i)); numParams = i; break; } @@ -2195,16 +2124,14 @@ void DocParser::expandMacro(const QString &name, int j = 0; while (j < def.size()) { int paramNo; - if (((paramNo = def[j].unicode()) >= 1) && - (paramNo <= numParams)) { + if (((paramNo = def[j].unicode()) >= 1) && (paramNo <= numParams)) { if (!rawString.isEmpty()) { append(Atom::RawString, rawString); rawString.clear(); } append(Atom::String, args[paramNo - 1]); j += 1; - } - else { + } else { rawString += def[j++]; } } @@ -2213,7 +2140,8 @@ void DocParser::expandMacro(const QString &name, } } -QString DocParser::expandMacroToString(const QString &name, const QString &def, int numParams, const QString &matchExpr) +QString DocParser::expandMacroToString(const QString &name, const QString &def, int numParams, + const QString &matchExpr) { QString rawString; @@ -2224,11 +2152,12 @@ QString DocParser::expandMacroToString(const QString &name, const QString &def, for (int i = 0; i < numParams; ++i) { if (numParams == 1 || isLeftBraceAhead()) { args << getArgument(true); - } - else { + } else { location().warning(tr("Macro '\\%1' invoked with too few" " arguments (expected %2, got %3)") - .arg(name).arg(numParams).arg(i)); + .arg(name) + .arg(numParams) + .arg(i)); numParams = i; break; } @@ -2237,12 +2166,10 @@ QString DocParser::expandMacroToString(const QString &name, const QString &def, int j = 0; while (j < def.size()) { int paramNo; - if (((paramNo = def[j].unicode()) >= 1) && - (paramNo <= numParams)) { + if (((paramNo = def[j].unicode()) >= 1) && (paramNo <= numParams)) { rawString += args[paramNo - 1]; j += 1; - } - else { + } else { rawString += def[j++]; } } @@ -2269,20 +2196,15 @@ Doc::Sections DocParser::getSectioningUnit() if (name == "section1") { return Doc::Section1; - } - else if (name == "section2") { + } else if (name == "section2") { return Doc::Section2; - } - else if (name == "section3") { + } else if (name == "section3") { return Doc::Section3; - } - else if (name == "section4") { + } else if (name == "section4") { return Doc::Section4; - } - else if (name.isEmpty()) { + } else if (name.isEmpty()) { return Doc::NoSection; - } - else { + } else { location().warning(tr("Invalid section '%1'").arg(name)); return Doc::NoSection; } @@ -2356,8 +2278,8 @@ QString DocParser::getArgument(bool verbatim) int startPos = pos; QString arg = getBracedArgument(verbatim); if (arg.isEmpty()) { - while ((pos < input_.length()) && - ((delimDepth > 0) || ((delimDepth == 0) && !input_[pos].isSpace()))) { + while ((pos < input_.length()) + && ((delimDepth > 0) || ((delimDepth == 0) && !input_[pos].isSpace()))) { switch (input_[pos].unicode()) { case '(': case '[': @@ -2385,9 +2307,8 @@ QString DocParser::getArgument(bool verbatim) } } endPos = pos; - if ((arg.length() > 1) && - (QString(".,:;!?").indexOf(input_[pos - 1]) != -1) && - !arg.endsWith("...")) { + if ((arg.length() > 1) && (QString(".,:;!?").indexOf(input_[pos - 1]) != -1) + && !arg.endsWith("...")) { arg.truncate(arg.length() - 1); --pos; } @@ -2443,11 +2364,9 @@ QString DocParser::getBracketedArgument() QString DocParser::getOptionalArgument() { skipSpacesOrOneEndl(); - if (pos + 1 < input_.length() && input_[pos] == '\\' && - input_[pos + 1].isLetterOrNumber()) { + if (pos + 1 < input_.length() && input_[pos] == '\\' && input_[pos + 1].isLetterOrNumber()) { return QString(); - } - else { + } else { return getArgument(); } } @@ -2467,12 +2386,9 @@ QString DocParser::getRestOfLine() if (input_[pos] == '\\' && !trailingSlash) { trailingSlash = true; ++pos; - while ((pos < input_.size()) && - input_[pos].isSpace() && - (input_[pos] != '\n')) + while ((pos < input_.size()) && input_[pos].isSpace() && (input_[pos] != '\n')) ++pos; - } - else { + } else { trailingSlash = false; ++pos; } @@ -2534,8 +2450,7 @@ QString DocParser::getUntilEnd(int cmd) if (end == -1) { location().warning(tr("Missing '\\%1'").arg(cmdName(endCmd))); pos = input_.length(); - } - else { + } else { t = input_.mid(pos, end - pos); pos = end + rx.matchedLength(); } @@ -2550,10 +2465,8 @@ QString DocParser::getCode(int cmd, CodeMarker *marker, const QString &argStr) QStringList args = argStr.split(" ", QString::SkipEmptyParts); int paramNo, j = 0; while (j < code.size()) { - if (code[j] == '\\' - && j < code.size() - 1 - && (paramNo = code[j + 1].digitValue()) >= 1 - && paramNo <= args.size()) { + if (code[j] == '\\' && j < code.size() - 1 && (paramNo = code[j + 1].digitValue()) >= 1 + && paramNo <= args.size()) { QString p = args[paramNo - 1]; code.replace(j, 2, p); j += qMin(1, p.size()); @@ -2624,9 +2537,7 @@ bool DocParser::isLeftBracketAhead() */ void DocParser::skipSpacesOnLine() { - while ((pos < input_.length()) && - input_[pos].isSpace() && - (input_[pos].unicode() != '\n')) + while ((pos < input_.length()) && input_[pos].isSpace() && (input_[pos].unicode() != '\n')) ++pos; } @@ -2641,8 +2552,7 @@ void DocParser::skipSpacesOrOneEndl() if (ch == '\n') { if (firstEndl == -1) { firstEndl = pos; - } - else { + } else { pos = firstEndl; break; } @@ -2659,9 +2569,8 @@ void DocParser::skipAllSpaces() void DocParser::skipToNextPreprocessorCommand() { - QRegExp rx("\\\\(?:" + cmdName(CMD_IF) + QLatin1Char('|') + - cmdName(CMD_ELSE) + QLatin1Char('|') + - cmdName(CMD_ENDIF) + ")\\b"); + QRegExp rx("\\\\(?:" + cmdName(CMD_IF) + QLatin1Char('|') + cmdName(CMD_ELSE) + QLatin1Char('|') + + cmdName(CMD_ENDIF) + ")\\b"); int end = rx.indexIn(input_, pos + 1); // ### + 1 necessary? if (end == -1) @@ -2776,8 +2685,7 @@ int DocParser::indentLevel(const QString &str) for (int i = 0; i < str.length(); ++i) { if (str[i] == '\n') { column = 0; - } - else { + } else { if (str[i] != ' ' && column < minIndent) minIndent = column; ++column; @@ -2798,8 +2706,7 @@ QString DocParser::unindent(int level, const QString &str) if (str[i] == QLatin1Char('\n')) { t += '\n'; column = 0; - } - else { + } else { if (column >= level) t += str[i]; ++column; @@ -2821,9 +2728,7 @@ QString DocParser::slashed(const QString &str) bool DocParser::isCode(const Atom *atom) { Atom::AtomType type = atom->type(); - return (type == Atom::Code - || type == Atom::Qml - || type == Atom::JavaScript); + return (type == Atom::Code || type == Atom::Qml || type == Atom::JavaScript); } /*! @@ -2832,10 +2737,8 @@ bool DocParser::isCode(const Atom *atom) bool DocParser::isQuote(const Atom *atom) { Atom::AtomType type = atom->type(); - return (type == Atom::CodeQuoteArgument - || type == Atom::CodeQuoteCommand - || type == Atom::SnippetCommand - || type == Atom::SnippetIdentifier + return (type == Atom::CodeQuoteArgument || type == Atom::CodeQuoteCommand + || type == Atom::SnippetCommand || type == Atom::SnippetIdentifier || type == Atom::SnippetLocation); } @@ -2847,19 +2750,15 @@ bool DocParser::isQuote(const Atom *atom) QML documentation, there is the case where the qdoc \e{qmlproperty} command can appear multiple times in a qdoc comment. */ -Doc::Doc(const Location &start_loc, - const Location &end_loc, - const QString &source, - const QSet &metaCommandSet, - const QSet &topics) +Doc::Doc(const Location &start_loc, const Location &end_loc, const QString &source, + const QSet &metaCommandSet, const QSet &topics) { priv = new DocPrivate(start_loc, end_loc, source); DocParser parser; parser.parse(source, priv, metaCommandSet, topics); } -Doc::Doc(const Doc &doc) - : priv(nullptr) +Doc::Doc(const Doc &doc) : priv(nullptr) { operator=(doc); } @@ -2890,15 +2789,14 @@ void Doc::simplifyEnumDoc() Atom *atom = priv->text.firstAtom(); while (atom) { - if ((atom->type() == Atom::ListLeft) && - (atom->string() == ATOM_LIST_VALUE)) { - while (atom && ((atom->type() != Atom::ListRight) || - (atom->string() != ATOM_LIST_VALUE))) + if ((atom->type() == Atom::ListLeft) && (atom->string() == ATOM_LIST_VALUE)) { + while (atom + && ((atom->type() != Atom::ListRight) + || (atom->string() != ATOM_LIST_VALUE))) atom = atom->next(); if (atom) atom = atom->next(); - } - else { + } else { newText << *atom; atom = atom->next(); } @@ -2979,8 +2877,7 @@ Text Doc::trimmedBriefText(const QString &className) const should be rethought. */ while (atom) { - if (atom->type() == Atom::AutoLink - || atom->type() == Atom::String) { + if (atom->type() == Atom::AutoLink || atom->type() == Atom::String) { briefStr += atom->string(); } else if (atom->type() == Atom::C) { briefStr += Generator::plainCode(atom->string()); @@ -2990,20 +2887,17 @@ Text Doc::trimmedBriefText(const QString &className) const QStringList w = briefStr.split(QLatin1Char(' ')); if (!w.isEmpty() && w.first() == "Returns") { - } - else { + } else { if (!w.isEmpty() && w.first() == "The") w.removeFirst(); if (!w.isEmpty() && (w.first() == className || w.first() == classNameOnly)) w.removeFirst(); - if (!w.isEmpty() && ((w.first() == "class") || - (w.first() == "function") || - (w.first() == "macro") || - (w.first() == "widget") || - (w.first() == "namespace") || - (w.first() == "header"))) + if (!w.isEmpty() + && ((w.first() == "class") || (w.first() == "function") || (w.first() == "macro") + || (w.first() == "widget") || (w.first() == "namespace") + || (w.first() == "header"))) w.removeFirst(); if (!w.isEmpty() && (w.first() == "is" || w.first() == "provides")) @@ -3039,8 +2933,7 @@ Doc::Sections Doc::granularity() const { if (priv == nullptr || priv->extra == nullptr) { return DocPrivateExtra().granularity_; - } - else { + } else { return priv->extra->granularity_; } } @@ -3166,9 +3059,9 @@ void Doc::initialize(const Config &config) if (reverseAliasMap.contains(alias)) { config.lastLocation().warning(tr("Command name '\\%1' cannot stand" " for both '\\%2' and '\\%3'") - .arg(alias) - .arg(reverseAliasMap[alias]) - .arg(a)); + .arg(alias) + .arg(reverseAliasMap[alias]) + .arg(a)); } else { reverseAliasMap.insert(alias, a); } @@ -3212,11 +3105,11 @@ void Doc::initialize(const Config &config) " inconsistent number" " of arguments (%2" " %3, %4 %5)") - .arg(macroName) - .arg(f) - .arg(m) - .arg(other) - .arg(macro.numParams)); + .arg(macroName) + .arg(f) + .arg(m) + .arg(other) + .arg(macro.numParams)); silent = true; } if (macro.numParams < m) @@ -3230,9 +3123,8 @@ void Doc::initialize(const Config &config) // If any of the formats define quotinginformation, activate quoting DocParser::quoting = config.getBool(CONFIG_QUOTINGINFORMATION); for (const auto &format : config.getOutputFormats()) - DocParser::quoting = DocParser::quoting || config.getBool(format - + Config::dot - + CONFIG_QUOTINGINFORMATION); + DocParser::quoting = DocParser::quoting + || config.getBool(format + Config::dot + CONFIG_QUOTINGINFORMATION); } /*! @@ -3279,8 +3171,7 @@ void Doc::trimCStyleComment(Location &location, QString &str) break; cleaned += ' '; metAsterColumn = true; - } - else { + } else { if (str[i] == '\n') { if (!metAsterColumn) break; @@ -3298,24 +3189,18 @@ void Doc::trimCStyleComment(Location &location, QString &str) str = str.mid(3, str.length() - 5); } -QString Doc::resolveFile(const Location &location, - const QString &fileName, +QString Doc::resolveFile(const Location &location, const QString &fileName, QString *userFriendlyFilePath) { - const QString result = Config::findFile(location, - DocParser::exampleFiles, - DocParser::exampleDirs, - fileName, userFriendlyFilePath); - qCDebug(lcQdoc).noquote().nospace() << __FUNCTION__ << "(location=" - << location.fileName() << ':' << location.lineNo() - << ", fileName=\"" << fileName << "\"), resolved to \"" - << result; + const QString result = Config::findFile(location, DocParser::exampleFiles, + DocParser::exampleDirs, fileName, userFriendlyFilePath); + qCDebug(lcQdoc).noquote().nospace() + << __FUNCTION__ << "(location=" << location.fileName() << ':' << location.lineNo() + << ", fileName=\"" << fileName << "\"), resolved to \"" << result; return result; } -CodeMarker *Doc::quoteFromFile(const Location &location, - Quoter "er, - const QString &fileName) +CodeMarker *Doc::quoteFromFile(const Location &location, Quoter "er, const QString &fileName) { quoter.reset(); @@ -3324,17 +3209,17 @@ CodeMarker *Doc::quoteFromFile(const Location &location, QString userFriendlyFilePath; const QString filePath = resolveFile(location, fileName, &userFriendlyFilePath); if (filePath.isEmpty()) { - QString details = QLatin1String("Example directories: ") + DocParser::exampleDirs.join(QLatin1Char(' ')); + QString details = QLatin1String("Example directories: ") + + DocParser::exampleDirs.join(QLatin1Char(' ')); if (!DocParser::exampleFiles.isEmpty()) - details += QLatin1String(", example files: ") + DocParser::exampleFiles.join(QLatin1Char(' ')); + details += QLatin1String(", example files: ") + + DocParser::exampleFiles.join(QLatin1Char(' ')); location.warning(tr("Cannot find file to quote from: '%1'").arg(fileName), details); - } - else { + } else { QFile inFile(filePath); if (!inFile.open(QFile::ReadOnly)) { location.warning(tr("Cannot open file to quote from: '%1'").arg(userFriendlyFilePath)); - } - else { + } else { QTextStream inStream(&inFile); code = DocParser::untabifyEtc(inStream.readAll()); } @@ -3373,8 +3258,7 @@ QString Doc::canonicalTitle(const QString &title) begun = true; dashAppended = false; lastAlnum = result.size(); - } - else if (!dashAppended) { + } else if (!dashAppended) { if (begun) result += QLatin1Char('-'); dashAppended = true; @@ -3415,6 +3299,9 @@ TopicRef::~TopicRef() Returns a reference to the structure that will be used for generating a DITA mao. */ -const DitaRefList& Doc::ditamap() const { return priv->ditamap_; } +const DitaRefList &Doc::ditamap() const +{ + return priv->ditamap_; +} QT_END_NAMESPACE diff --git a/src/qdoc/doc.h b/src/qdoc/doc.h index 38c469ee3..758901f1d 100644 --- a/src/qdoc/doc.h +++ b/src/qdoc/doc.h @@ -58,10 +58,14 @@ struct Topic { QString topic; QString args; - Topic() { } - Topic(QString &t, const QString &a) : topic(t), args(a) { } + Topic() {} + Topic(QString &t, const QString &a) : topic(t), args(a) {} bool isEmpty() const { return topic.isEmpty(); } - void clear() { topic.clear(); args.clear(); } + void clear() + { + topic.clear(); + args.clear(); + } }; typedef QVector TopicList; @@ -70,8 +74,8 @@ typedef QVector DitaRefList; class DitaRef { public: - DitaRef() { } - virtual ~DitaRef() { } + DitaRef() {} + virtual ~DitaRef() {} const QString &navtitle() const { return navtitle_; } const QString &href() const { return href_; } @@ -79,7 +83,7 @@ public: void setHref(const QString &t) { href_ = t; } virtual bool isMapRef() const = 0; virtual const DitaRefList *subrefs() const { return nullptr; } - virtual void appendSubref(DitaRef *) { } + virtual void appendSubref(DitaRef *) {} private: QString navtitle_; @@ -89,7 +93,7 @@ private: class TopicRef : public DitaRef { public: - TopicRef() { } + TopicRef() {} ~TopicRef() override; bool isMapRef() const override { return false; } @@ -103,7 +107,7 @@ private: class MapRef : public DitaRef { public: - MapRef() { } + MapRef() {} bool isMapRef() const override { return true; } }; @@ -125,18 +129,15 @@ public: }; Doc() : priv(nullptr) {} - Doc(const Location &start_loc, - const Location &end_loc, - const QString &source, - const QSet &metaCommandSet, - const QSet &topics); + Doc(const Location &start_loc, const Location &end_loc, const QString &source, + const QSet &metaCommandSet, const QSet &topics); Doc(const Doc &doc); ~Doc(); Doc &operator=(const Doc &doc); void simplifyEnumDoc(); void setBody(const Text &body); - const DitaRefList& ditamap() const; + const DitaRefList &ditamap() const; const Location &location() const; const Location &startLocation() const; @@ -172,8 +173,7 @@ public: static void trimCStyleComment(Location &location, QString &str); static QString resolveFile(const Location &location, const QString &fileName, QString *userFriendlyFilePath = nullptr); - static CodeMarker *quoteFromFile(const Location &location, - Quoter "er, + static CodeMarker *quoteFromFile(const Location &location, Quoter "er, const QString &fileName); static QString canonicalTitle(const QString &title); static const Config *config() { return config_; } diff --git a/src/qdoc/editdistance.cpp b/src/qdoc/editdistance.cpp index ff4630e15..841f5f48d 100644 --- a/src/qdoc/editdistance.cpp +++ b/src/qdoc/editdistance.cpp @@ -36,7 +36,7 @@ QT_BEGIN_NAMESPACE int editDistance(const QString &s, const QString &t) { -#define D( i, j ) d[(i) * n + (j)] +#define D(i, j) d[(i)*n + (j)] int i; int j; int m = s.length() + 1; @@ -45,22 +45,22 @@ int editDistance(const QString &s, const QString &t) int result; for (i = 0; i < m; ++i) - D( i, 0 ) = i; + D(i, 0) = i; for (j = 0; j < n; ++j) - D( 0, j ) = j; + D(0, j) = j; for (i = 1; i < m; ++i) { for (j = 1; j < n; ++j) { - if ( s[i - 1] == t[j - 1] ) { - D( i, j ) = D( i - 1, j - 1 ); + if (s[i - 1] == t[j - 1]) { + D(i, j) = D(i - 1, j - 1); } else { - int x = D( i - 1, j ); - int y = D( i - 1, j - 1 ); - int z = D( i, j - 1 ); - D( i, j ) = 1 + qMin( qMin(x, y), z ); + int x = D(i - 1, j); + int y = D(i - 1, j - 1); + int z = D(i, j - 1); + D(i, j) = 1 + qMin(qMin(x, y), z); } } } - result = D( m - 1, n - 1 ); + result = D(m - 1, n - 1); delete[] d; return result; #undef D diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index a65b47333..846db961a 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -47,7 +47,7 @@ #include #ifndef QT_BOOTSTRAPPED -# include "QtCore/qurl.h" +# include "QtCore/qurl.h" #endif QT_BEGIN_NAMESPACE @@ -55,8 +55,8 @@ QT_BEGIN_NAMESPACE Generator *Generator::currentGenerator_; QStringList Generator::exampleDirs; QStringList Generator::exampleImgExts; -QMap > Generator::fmtLeftMaps; -QMap > Generator::fmtRightMaps; +QMap> Generator::fmtLeftMaps; +QMap> Generator::fmtRightMaps; QVector Generator::generators; QStringList Generator::imageDirs; QStringList Generator::imageFiles; @@ -117,9 +117,7 @@ Generator::~Generator() generators.removeAll(this); } -void Generator::appendFullName(Text &text, - const Node *apparentNode, - const Node *relative, +void Generator::appendFullName(Text &text, const Node *apparentNode, const Node *relative, const Node *actualNode) { if (actualNode == nullptr) @@ -130,16 +128,13 @@ void Generator::appendFullName(Text &text, << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); } -void Generator::appendFullName(Text &text, - const Node *apparentNode, - const QString &fullName, +void Generator::appendFullName(Text &text, const Node *apparentNode, const QString &fullName, const Node *actualNode) { if (actualNode == nullptr) actualNode = apparentNode; text << Atom(Atom::LinkNode, CodeMarker::stringForNode(actualNode)) - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) - << Atom(Atom::String, fullName) + << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) << Atom(Atom::String, fullName) << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); } @@ -148,7 +143,7 @@ void Generator::appendFullNames(Text &text, const NodeList &nodes, const Node *r int index = 0; for (const auto &node : nodes) { appendFullName(text, node, relative); - text << comma(index++,nodes.count()); + text << comma(index++, nodes.count()); } } @@ -175,7 +170,7 @@ void Generator::signatureList(const NodeList &nodes, const Node *relative, CodeM Text text; int count = 0; text << Atom(Atom::ListLeft, QString("bullet")); - for (const auto &node: nodes) { + for (const auto &node : nodes) { text << Atom(Atom::ListItemNumber, QString::number(++count)); text << Atom(Atom::ListItemLeft, QString("bullet")); appendSignature(text, node); @@ -187,7 +182,7 @@ void Generator::signatureList(const NodeList &nodes, const Node *relative, CodeM int Generator::appendSortedNames(Text &text, const ClassNode *cn, const QVector &rc) { - QMap classMap; + QMap classMap; for (const auto &relatedClass : rc) { ClassNode *rcn = relatedClass.node_; if (rcn && rcn->isInAPI()) { @@ -208,12 +203,12 @@ int Generator::appendSortedNames(Text &text, const ClassNode *cn, const QVector< int Generator::appendSortedQmlNames(Text &text, const Node *base, const NodeList &subs) { - QMap classMap; + QMap classMap; for (const auto sub : subs) { Text text; - if (!base->isQtQuickNode() || !sub->isQtQuickNode() || - (base->logicalModuleName() == sub->logicalModuleName())) { + if (!base->isQtQuickNode() || !sub->isQtQuickNode() + || (base->logicalModuleName() == sub->logicalModuleName())) { appendFullName(text, sub, base); classMap[text.toString().toLower()] = text; } @@ -254,8 +249,8 @@ void Generator::writeOutFileNames() QFile *Generator::openSubPageFile(const Node *node, const QString &fileName) { QString path = outputDir() + QLatin1Char('/'); - if (Generator::useOutputSubdirs() && !node->outputSubdirectory().isEmpty() && - !outputDir().endsWith(node->outputSubdirectory())) { + if (Generator::useOutputSubdirs() && !node->outputSubdirectory().isEmpty() + && !outputDir().endsWith(node->outputSubdirectory())) { path += node->outputSubdirectory() + QLatin1Char('/'); } path += fileName; @@ -264,11 +259,10 @@ QFile *Generator::openSubPageFile(const Node *node, const QString &fileName) auto outFile = new QFile(outPath); if (!redirectDocumentationToDevNull_ && outFile->exists()) { node->location().error( - tr("Output file already exists; overwriting %1").arg(outFile->fileName())); + tr("Output file already exists; overwriting %1").arg(outFile->fileName())); } if (!outFile->open(QFile::WriteOnly)) { - node->location().fatal( - tr("Cannot open output file '%1'").arg(outFile->fileName())); + node->location().fatal(tr("Cannot open output file '%1'").arg(outFile->fileName())); } qCDebug(lcQdoc, "Writing: %s", qPrintable(path)); outFileNames_ << fileName; @@ -286,7 +280,7 @@ QFile *Generator::openSubPageFile(const Node *node, const QString &fileName) void Generator::beginFilePage(const Node *node, const QString &fileName) { QFile *outFile = openSubPageFile(node, fileName); - QTextStream* out = new QTextStream(outFile); + QTextStream *out = new QTextStream(outFile); #ifndef QT_NO_TEXTCODEC if (outputCodec) out->setCodec(outputCodec); @@ -294,17 +288,17 @@ void Generator::beginFilePage(const Node *node, const QString &fileName) outStreamStack.push(out); } - /*! - Creates the file named \a fileName in the output directory. - Attaches a QTextStream to the created file, which is written - to all over the place using out(). This function calls another - function, \c beginFilePage(), which is really just most of what - this function used to contain. We needed a different version - that doesn't store the \a fileName in the \a node as the output - file name. - - \sa beginFilePage() - */ +/*! + Creates the file named \a fileName in the output directory. + Attaches a QTextStream to the created file, which is written + to all over the place using out(). This function calls another + function, \c beginFilePage(), which is really just most of what + this function used to contain. We needed a different version + that doesn't store the \a fileName in the \a node as the output + file name. + + \sa beginFilePage() +*/ void Generator::beginSubPage(const Node *node, const QString &fileName) { beginFilePage(node, fileName); @@ -342,11 +336,10 @@ static void transmogrify(QString &input, QString &output) uint u = c.unicode(); if (u >= 'A' && u <= 'Z') u += 'a' - 'A'; - if ((u >= 'a' && u <= 'z') || (u >= '0' && u <= '9')) { + if ((u >= 'a' && u <= 'z') || (u >= '0' && u <= '9')) { output += QLatin1Char(u); begun = true; - } - else if (begun) { + } else if (begun) { output += QLatin1Char('-'); begun = false; } @@ -391,8 +384,8 @@ QString Generator::fileBase(const Node *node) const if (node->isExample()) { base.append(QLatin1String("-example")); } - } else if (node->isQmlType() || node->isQmlBasicType() || - node->isJsType() || node->isJsBasicType()) { + } else if (node->isQmlType() || node->isQmlBasicType() || node->isJsType() + || node->isJsBasicType()) { base = node->name(); /* To avoid file name conflicts in the html directory, @@ -401,9 +394,7 @@ QString Generator::fileBase(const Node *node) const module name. */ if (!node->logicalModuleName().isEmpty()) { - base.prepend(node->logicalModuleName() - + outputSuffix(node) - + QLatin1Char('-')); + base.prepend(node->logicalModuleName() + outputSuffix(node) + QLatin1Char('-')); } base.prepend(outputPrefix(node)); } else if (node->isProxyNode()) { @@ -441,8 +432,7 @@ QString Generator::fileBase(const Node *node) const empty (default value), retrieve the file extension from the generator. */ -QString Generator::linkForExampleFile(const QString &path, - const Node *parent, +QString Generator::linkForExampleFile(const QString &path, const Node *parent, const QString &fileExt) { QString link = path; @@ -464,8 +454,7 @@ QString Generator::linkForExampleFile(const QString &path, Helper function to construct a title for a file or image page included in an example. */ -QString Generator::exampleFileTitle(const ExampleNode *relative, - const QString &fileName) +QString Generator::exampleFileTitle(const ExampleNode *relative, const QString &fileName) { QString suffix; if (relative->files().contains(fileName)) @@ -504,9 +493,7 @@ QString Generator::cleanRef(const QString &ref) const QChar c = ref[0]; const uint u = c.unicode(); - if ((u >= 'a' && u <= 'z') || - (u >= 'A' && u <= 'Z') || - (u >= '0' && u <= '9')) { + if ((u >= 'a' && u <= 'z') || (u >= 'A' && u <= 'Z') || (u >= '0' && u <= '9')) { clean += c; } else if (u == '~') { clean += "dtor."; @@ -519,10 +506,8 @@ QString Generator::cleanRef(const QString &ref) for (int i = 1; i < ref.length(); i++) { const QChar c = ref[i]; const uint u = c.unicode(); - if ((u >= 'a' && u <= 'z') || - (u >= 'A' && u <= 'Z') || - (u >= '0' && u <= '9') || u == '-' || - u == '_' || u == ':' || u == '.') { + if ((u >= 'a' && u <= 'z') || (u >= 'A' && u <= 'Z') || (u >= '0' && u <= '9') || u == '-' + || u == '_' || u == ':' || u == '.') { clean += c; } else if (c.isSpace()) { clean += QLatin1Char('-'); @@ -589,26 +574,23 @@ QString Generator::fullDocumentLocation(const Node *node, bool useSubdir) parentName = fileBase(node) + QLatin1Char('.') + currentGenerator()->fileExtension(); else return QString(); - } - else if (node->isQmlType() || node->isQmlBasicType() || - node->isJsType() || node->isJsBasicType()) { + } else if (node->isQmlType() || node->isQmlBasicType() || node->isJsType() + || node->isJsBasicType()) { QString fb = fileBase(node); if (fb.startsWith(outputPrefix(node))) return fb + QLatin1Char('.') + currentGenerator()->fileExtension(); else { QString mq; if (!node->logicalModuleName().isEmpty()) { - mq = node->logicalModuleName().replace(QChar('.'),QChar('-')); + mq = node->logicalModuleName().replace(QChar('.'), QChar('-')); mq = mq.toLower() + QLatin1Char('-'); } - return fdl + outputPrefix(node) + mq + fileBase(node) + - QLatin1Char('.') + currentGenerator()->fileExtension(); + return fdl + outputPrefix(node) + mq + fileBase(node) + QLatin1Char('.') + + currentGenerator()->fileExtension(); } - } - else if (node->isTextPageNode() || node->isCollectionNode()) { + } else if (node->isTextPageNode() || node->isCollectionNode()) { parentName = fileBase(node) + QLatin1Char('.') + currentGenerator()->fileExtension(); - } - else if (fileBase(node).isEmpty()) + } else if (fileBase(node).isEmpty()) return QString(); Node *parentNode = nullptr; @@ -627,8 +609,7 @@ QString Generator::fullDocumentLocation(const Node *node, bool useSubdir) case Node::Proxy: parentName = fileBase(node) + QLatin1Char('.') + currentGenerator()->fileExtension(); break; - case Node::Function: - { + case Node::Function: { const FunctionNode *fn = static_cast(node); switch (fn->metaness()) { case FunctionNode::JsSignal: @@ -649,8 +630,8 @@ QString Generator::fullDocumentLocation(const Node *node, bool useSubdir) else if (fn->hasOneAssociatedProperty() && fn->doc().isEmpty()) return fullDocumentLocation(fn->firstAssociatedProperty()); else if (fn->overloadNumber() > 0) - anchorRef = QLatin1Char('#') + cleanRef(fn->name()) - + QLatin1Char('-') + QString::number(fn->overloadNumber()); + anchorRef = QLatin1Char('#') + cleanRef(fn->name()) + QLatin1Char('-') + + QString::number(fn->overloadNumber()); else anchorRef = QLatin1Char('#') + cleanRef(fn->name()); break; @@ -665,8 +646,7 @@ QString Generator::fullDocumentLocation(const Node *node, bool useSubdir) case Node::Enum: anchorRef = QLatin1Char('#') + node->name() + "-enum"; break; - case Node::Typedef: - { + case Node::Typedef: { const TypedefNode *tdef = static_cast(node); if (tdef->associatedEnum()) { return fullDocumentLocation(tdef->associatedEnum()); @@ -694,13 +674,12 @@ QString Generator::fullDocumentLocation(const Node *node, bool useSubdir) case Node::HeaderFile: case Node::Module: case Node::JsModule: - case Node::QmlModule: - { + case Node::QmlModule: { parentName = fileBase(node); - parentName.replace(QLatin1Char('/'), QLatin1Char('-')).replace(QLatin1Char('.'), QLatin1Char('-')); + parentName.replace(QLatin1Char('/'), QLatin1Char('-')) + .replace(QLatin1Char('.'), QLatin1Char('-')); parentName += QLatin1Char('.') + currentGenerator()->fileExtension(); - } - break; + } break; default: break; } @@ -721,10 +700,8 @@ void Generator::generateAlsoList(const Node *node, CodeMarker *marker) if (!alsoList.isEmpty()) { Text text; - text << Atom::ParaLeft - << Atom(Atom::FormattingLeft,ATOM_FORMATTING_BOLD) - << "See also " - << Atom(Atom::FormattingRight,ATOM_FORMATTING_BOLD); + text << Atom::ParaLeft << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) << "See also " + << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD); for (int i = 0; i < alsoList.size(); ++i) text << alsoList.at(i) << separator(i, alsoList.size()); @@ -734,30 +711,21 @@ void Generator::generateAlsoList(const Node *node, CodeMarker *marker) } } -const Atom *Generator::generateAtomList(const Atom *atom, - const Node *relative, - CodeMarker *marker, - bool generate, - int &numAtoms) +const Atom *Generator::generateAtomList(const Atom *atom, const Node *relative, CodeMarker *marker, + bool generate, int &numAtoms) { while (atom != nullptr) { if (atom->type() == Atom::FormatIf) { int numAtoms0 = numAtoms; bool rightFormat = canHandleFormat(atom->string()); - atom = generateAtomList(atom->next(), - relative, - marker, - generate && rightFormat, + atom = generateAtomList(atom->next(), relative, marker, generate && rightFormat, numAtoms); if (atom == nullptr) return nullptr; if (atom->type() == Atom::FormatElse) { ++numAtoms; - atom = generateAtomList(atom->next(), - relative, - marker, - generate && !rightFormat, + atom = generateAtomList(atom->next(), relative, marker, generate && !rightFormat, numAtoms); if (atom == nullptr) return nullptr; @@ -765,23 +733,16 @@ const Atom *Generator::generateAtomList(const Atom *atom, if (atom->type() == Atom::FormatEndif) { if (generate && numAtoms0 == numAtoms) { - relative->location().warning(tr("Output format %1 not handled %2") - .arg(format()).arg(outFileName())); + relative->location().warning( + tr("Output format %1 not handled %2").arg(format()).arg(outFileName())); Atom unhandledFormatAtom(Atom::UnhandledFormat, format()); - generateAtomList(&unhandledFormatAtom, - relative, - marker, - generate, - numAtoms); + generateAtomList(&unhandledFormatAtom, relative, marker, generate, numAtoms); } atom = atom->next(); } - } - else if (atom->type() == Atom::FormatElse || - atom->type() == Atom::FormatEndif) { + } else if (atom->type() == Atom::FormatElse || atom->type() == Atom::FormatEndif) { return atom; - } - else { + } else { int n = 1; if (generate) { n += generateAtom(atom, relative, marker); @@ -816,54 +777,49 @@ void Generator::generateBody(const Node *node, CodeMarker *marker) out() << "

          "; generateText(text, node, marker); out() << "

          "; - } - else if (func->isCtor()) { + } else if (func->isCtor()) { Text text; text << "Default constructs an instance of "; text << func->parent()->name() << "."; out() << "

          "; generateText(text, node, marker); out() << "

          "; - } - else if (func->isCCtor()) { + } else if (func->isCCtor()) { Text text; text << "Copy constructor."; out() << "

          "; generateText(text, node, marker); out() << "

          "; - } - else if (func->isMCtor()) { + } else if (func->isMCtor()) { Text text; text << "Move-copy constructor."; out() << "

          "; generateText(text, node, marker); out() << "

          "; - } - else if (func->isCAssign()) { + } else if (func->isCAssign()) { Text text; text << "Copy-assignment operator."; out() << "

          "; generateText(text, node, marker); out() << "

          "; - } - else if (func->isMAssign()) { + } else if (func->isMAssign()) { Text text; text << "Move-assignment operator."; out() << "

          "; generateText(text, node, marker); out() << "

          "; - } - else if (!node->isWrapper() && !node->isMarkedReimp()) { + } else if (!node->isWrapper() && !node->isMarkedReimp()) { if (!func->isIgnored()) // undocumented functions added by Q_OBJECT - node->location().warning(tr("No documentation for '%1'").arg(node->plainSignature())); + node->location().warning( + tr("No documentation for '%1'").arg(node->plainSignature())); } } else if (!node->isWrapper() && !node->isMarkedReimp()) { // Don't require documentation of things defined in Q_GADGET if (node->name() != QLatin1String("QtGadgetHelper")) - node->location().warning(tr("No documentation for '%1'").arg(node->plainSignature())); + node->location().warning( + tr("No documentation for '%1'").arg(node->plainSignature())); } - } - else if (!node->isSharingComment()) { + } else if (!node->isSharingComment()) { if (node->isFunction()) { const FunctionNode *fn = static_cast(node); if (!fn->overridesThis().isEmpty()) @@ -886,8 +842,8 @@ void Generator::generateBody(const Node *node, CodeMarker *marker) const auto &documentedItemList = enume->doc().enumItemNames(); QSet documentedItems(documentedItemList.cbegin(), documentedItemList.cend()); const QSet allItems = definedItems + documentedItems; - if (allItems.count() > definedItems.count() || - allItems.count() > documentedItems.count()) { + if (allItems.count() > definedItems.count() + || allItems.count() > documentedItems.count()) { for (const auto &it : allItems) { if (!definedItems.contains(it)) { QString details; @@ -896,10 +852,13 @@ void Generator::generateBody(const Node *node, CodeMarker *marker) details = tr("Maybe you meant '%1'?").arg(best); node->doc().location().warning(tr("No such enum item '%1' in %2") - .arg(it).arg(node->plainFullName()), details); + .arg(it) + .arg(node->plainFullName()), + details); } else if (!documentedItems.contains(it)) { node->doc().location().warning(tr("Undocumented enum item '%1' in %2") - .arg(it).arg(node->plainFullName())); + .arg(it) + .arg(node->plainFullName())); } } } @@ -912,9 +871,9 @@ void Generator::generateBody(const Node *node, CodeMarker *marker) if (!documentedNames.contains(name)) { if (fn->isActive() || fn->isPreliminary()) { if (!fn->isMarkedReimp() && !fn->isOverload()) { - fn->doc().location().warning( - tr("Undocumented parameter '%1' in %2") - .arg(name).arg(node->plainFullName())); + fn->doc().location().warning(tr("Undocumented parameter '%1' in %2") + .arg(name) + .arg(node->plainFullName())); } } } @@ -926,7 +885,8 @@ void Generator::generateBody(const Node *node, CodeMarker *marker) if (!best.isEmpty()) details = tr("Maybe you meant '%1'?").arg(best); fn->doc().location().warning(tr("No such parameter '%1' in %2") - .arg(name).arg(fn->plainFullName()), + .arg(name) + .arg(fn->plainFullName()), details); } } @@ -936,11 +896,12 @@ void Generator::generateBody(const Node *node, CodeMarker *marker) for all functions with a return type. mws 13/12/2018 */ - if (!fn->isObsolete() && fn->returnsBool() && - !fn->isMarkedReimp() && !fn->isOverload()) { + if (!fn->isObsolete() && fn->returnsBool() && !fn->isMarkedReimp() + && !fn->isOverload()) { if (!fn->doc().body().contains("return")) - node->doc().location().warning(tr("Undocumented return value " - "(hint: use 'return' or 'returns' in the text")); + node->doc().location().warning( + tr("Undocumented return value " + "(hint: use 'return' or 'returns' in the text")); } } } @@ -964,7 +925,7 @@ void Generator::generateRequiredLinks(const Node *node, CodeMarker *marker) if (exampleUrl.isEmpty()) { if (!en->noAutoList()) { generateFileList(en, marker, false); // files - generateFileList(en, marker, true); // images + generateFileList(en, marker, true); // images } } else { generateLinkToExample(en, marker, exampleUrl); @@ -978,8 +939,7 @@ void Generator::generateRequiredLinks(const Node *node, CodeMarker *marker) the path is appended to \a baseUrl, after a '/' character if \a baseUrl did not already end in one. */ -void Generator::generateLinkToExample(const ExampleNode *en, - CodeMarker *marker, +void Generator::generateLinkToExample(const ExampleNode *en, CodeMarker *marker, const QString &baseUrl) { QString exampleUrl(baseUrl); @@ -1001,17 +961,14 @@ void Generator::generateLinkToExample(const ExampleNode *en, // Construct a path to the example; / QStringList path = QStringList() - << config()->getString(CONFIG_EXAMPLESINSTALLPATH) - << en->name(); + << config()->getString(CONFIG_EXAMPLESINSTALLPATH) << en->name(); path.removeAll({}); Text text; text << Atom::ParaLeft << Atom(Atom::Link, exampleUrl.replace(placeholder, path.join(separator))) - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) - << Atom(Atom::String, link) - << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) - << Atom::ParaRight; + << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) << Atom(Atom::String, link) + << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) << Atom::ParaRight; generateText(text, nullptr, marker); } @@ -1021,12 +978,8 @@ void Generator::addImageToCopy(const ExampleNode *en, const QString &file) QDir dirInfo; QString userFriendlyFilePath; const QString prefix("/images/used-in-examples/"); - QString srcPath = Config::findFile(en->location(), - QStringList(), - exampleDirs, - file, - exampleImgExts, - &userFriendlyFilePath); + QString srcPath = Config::findFile(en->location(), QStringList(), exampleDirs, file, + exampleImgExts, &userFriendlyFilePath); outFileNames_ << prefix.mid(1) + userFriendlyFilePath; userFriendlyFilePath.truncate(userFriendlyFilePath.lastIndexOf('/')); QString imgOutDir = outDir_ + prefix + userFriendlyFilePath; @@ -1054,7 +1007,7 @@ void Generator::generateFileList(const ExampleNode *en, CodeMarker *marker, bool paths = en->images(); tag = "Images:"; atomType = Atom::ExampleImageLink; - } else { //files + } else { // files paths = en->files(); tag = "Files:"; } @@ -1074,13 +1027,9 @@ void Generator::generateFileList(const ExampleNode *en, CodeMarker *marker, bool openedList.next(); text << Atom(Atom::ListItemNumber, openedList.numberString()) - << Atom(Atom::ListItemLeft, openedList.styleString()) - << Atom::ParaLeft - << Atom(atomType, file) - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) - << file - << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) - << Atom::ParaRight + << Atom(Atom::ListItemLeft, openedList.styleString()) << Atom::ParaLeft + << Atom(atomType, file) << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) << file + << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) << Atom::ParaRight << Atom(Atom::ListItemRight, openedList.styleString()); path = file; } @@ -1093,10 +1042,8 @@ void Generator::generateInheritedBy(const ClassNode *classe, CodeMarker *marker) { if (!classe->derivedClasses().isEmpty()) { Text text; - text << Atom::ParaLeft - << Atom(Atom::FormattingLeft,ATOM_FORMATTING_BOLD) - << "Inherited by: " - << Atom(Atom::FormattingRight,ATOM_FORMATTING_BOLD); + text << Atom::ParaLeft << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) + << "Inherited by: " << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD); appendSortedNames(text, classe, classe->derivedClasses()); text << Atom::ParaRight; @@ -1108,10 +1055,8 @@ void Generator::generateInherits(const ClassNode *classe, CodeMarker *marker) { if (!classe->baseClasses().isEmpty()) { Text text; - text << Atom::ParaLeft - << Atom(Atom::FormattingLeft,ATOM_FORMATTING_BOLD) - << "Inherits: " - << Atom(Atom::FormattingRight,ATOM_FORMATTING_BOLD); + text << Atom::ParaLeft << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) + << "Inherits: " << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD); int index = 0; const QVector &baseClasses = classe->baseClasses(); @@ -1121,8 +1066,7 @@ void Generator::generateInherits(const ClassNode *classe, CodeMarker *marker) if (cls.access_ == Node::Protected) { text << " (protected)"; - } - else if (cls.access_ == Node::Private) { + } else if (cls.access_ == Node::Private) { text << " (private)"; } text << separator(index++, classe->baseClasses().count()); @@ -1188,7 +1132,8 @@ void Generator::generateDocumentation(Node *node) // other use cases pop up. QString name = cn->name().toLower(); name.replace(QChar(' '), QString("-")); - QString filename = cn->tree()->physicalModuleName() + "-" + name + "." + fileExtension(); + QString filename = + cn->tree()->physicalModuleName() + "-" + name + "." + fileExtension(); beginSubPage(node, filename); generateGenericCollectionPage(cn, marker); endSubPage(); @@ -1198,8 +1143,8 @@ void Generator::generateDocumentation(Node *node) generatePageNode(static_cast(node), marker); endSubPage(); } else if (node->isAggregate()) { - if ((node->isClassNode() || node->isHeader() || node->isNamespace()) && - node->docMustBeGenerated()) { + if ((node->isClassNode() || node->isHeader() || node->isNamespace()) + && node->docMustBeGenerated()) { beginSubPage(node, fileName(node)); generateCppReferencePage(static_cast(node), marker); endSubPage(); @@ -1240,10 +1185,8 @@ void Generator::generateMaintainerList(const Aggregate *node, CodeMarker *marker if (!sl.isEmpty()) { Text text; - text << Atom::ParaLeft - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) - << "Maintained by: " - << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD); + text << Atom::ParaLeft << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) + << "Maintained by: " << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD); for (int i = 0; i < sl.size(); ++i) text << sl.at(i) << separator(i, sl.size()); @@ -1257,8 +1200,7 @@ void Generator::generateMaintainerList(const Aggregate *node, CodeMarker *marker Output the "Inherit by" list for the QML element, if it is inherited by any other elements. */ -void Generator::generateQmlInheritedBy(const QmlTypeNode *qcn, - CodeMarker *marker) +void Generator::generateQmlInheritedBy(const QmlTypeNode *qcn, CodeMarker *marker) { if (qcn) { NodeList subs; @@ -1277,10 +1219,8 @@ void Generator::generateQmlInheritedBy(const QmlTypeNode *qcn, Extract sections of markup text surrounded by \e qmltext and \e endqmltext and output them. */ -bool Generator::generateQmlText(const Text &text, - const Node *relative, - CodeMarker *marker, - const QString &/* qmlName */ ) +bool Generator::generateQmlText(const Text &text, const Node *relative, CodeMarker *marker, + const QString & /* qmlName */) { const Atom *atom = text.firstAtom(); bool result = false; @@ -1314,7 +1254,8 @@ void Generator::generateReimplementsClause(const FunctionNode *fn, CodeMarker *m if (overrides->hasDoc()) { Text text; text << Atom::ParaLeft << "Reimplements: "; - QString fullName = overrides->parent()->name() + "::" + overrides->signature(false, true); + QString fullName = + overrides->parent()->name() + "::" + overrides->signature(false, true); appendFullName(text, overrides->parent(), fullName, overrides); text << "." << Atom::ParaRight; generateText(text, fn, marker); @@ -1325,13 +1266,14 @@ void Generator::generateReimplementsClause(const FunctionNode *fn, CodeMarker *m if (sameName && sameName->hasDoc()) { Text text; text << Atom::ParaLeft << "Reimplements an access function for property: "; - QString fullName = sameName->parent()->name() + "::" + sameName->name(); + QString fullName = sameName->parent()->name() + "::" + sameName->name(); appendFullName(text, sameName->parent(), fullName, sameName); text << "." << Atom::ParaRight; generateText(text, fn, marker); } else { - fn->doc().location().warning(tr("Illegal \\reimp; no documented virtual function for %1") - .arg(fn->plainSignature())); + fn->doc().location().warning( + tr("Illegal \\reimp; no documented virtual function for %1") + .arg(fn->plainSignature())); } } } @@ -1353,16 +1295,10 @@ void Generator::generateSince(const Node *node, CodeMarker *marker) { if (!node->since().isEmpty()) { Text text; - text << Atom::ParaLeft - << "This " - << typeString(node) - << " was introduced "; + text << Atom::ParaLeft << "This " << typeString(node) << " was introduced "; if (node->isEnumType()) text << "or modified "; - text << "in " - << formatSince(node) - << "." - << Atom::ParaRight; + text << "in " << formatSince(node) << "." << Atom::ParaRight; generateText(text, node, marker); } } @@ -1376,13 +1312,9 @@ void Generator::generateStatus(const Node *node, CodeMarker *marker) // Do nothing. break; case Node::Preliminary: - text << Atom::ParaLeft - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) - << "This " - << typeString(node) - << " is under development and is subject to change." - << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) - << Atom::ParaRight; + text << Atom::ParaLeft << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) << "This " + << typeString(node) << " is under development and is subject to change." + << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) << Atom::ParaRight; break; case Node::Deprecated: text << Atom::ParaLeft; @@ -1418,11 +1350,10 @@ void Generator::generateStatus(const Node *node, CodeMarker *marker) void Generator::generatePrivateSignalNote(const Node *node, CodeMarker *marker) { Text text; - text << Atom::ParaLeft - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) - << "Note: " - << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) - << "This is a private signal. It can be used in signal connections but cannot be emitted by the user." + text << Atom::ParaLeft << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) + << "Note: " << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) + << "This is a private signal. It can be used in signal connections but cannot be emitted " + "by the user." << Atom::ParaRight; generateText(text, node, marker); } @@ -1434,16 +1365,11 @@ void Generator::generatePrivateSignalNote(const Node *node, CodeMarker *marker) void Generator::generateInvokableNote(const Node *node, CodeMarker *marker) { Text text; - text << Atom::ParaLeft - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) - << "Note: " - << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) + text << Atom::ParaLeft << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) + << "Note: " << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) << "This function can be invoked via the meta-object system and from QML. See " - << Atom(Atom::Link,"Q_INVOKABLE") - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) - << "Q_INVOKABLE" - << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) - << "." + << Atom(Atom::Link, "Q_INVOKABLE") << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) + << "Q_INVOKABLE" << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) << "." << Atom::ParaRight; generateText(text, node, marker); } @@ -1453,19 +1379,13 @@ void Generator::generateInvokableNote(const Node *node, CodeMarker *marker) is the node that represents the entity where a qdoc comment was found, and \a text represents the qdoc comment. */ -bool Generator::generateText(const Text &text, - const Node *relative, - CodeMarker *marker) +bool Generator::generateText(const Text &text, const Node *relative, CodeMarker *marker) { bool result = false; if (text.firstAtom() != nullptr) { int numAtoms = 0; initializeTextOutput(); - generateAtomList(text.firstAtom(), - relative, - marker, - true, - numAtoms); + generateAtomList(text.firstAtom(), relative, marker, true, numAtoms); result = true; } return result; @@ -1480,16 +1400,14 @@ bool Generator::generateText(const Text &text, nonreentrant, and true is returned. If there are no exceptions, the three node lists remain empty and false is returned. */ -bool Generator::hasExceptions(const Node *node, - NodeList &reentrant, - NodeList &threadsafe, +bool Generator::hasExceptions(const Node *node, NodeList &reentrant, NodeList &threadsafe, NodeList &nonreentrant) { bool result = false; Node::ThreadSafeness ts = node->threadSafeness(); const NodeList &children = static_cast(node)->childNodes(); for (auto child : children) { - if (!child->isObsolete()){ + if (!child->isObsolete()) { switch (child->threadSafeness()) { case Node::Reentrant: reentrant.append(child); @@ -1515,11 +1433,8 @@ bool Generator::hasExceptions(const Node *node, static void startNote(Text &text) { - text << Atom::ParaLeft - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) - << "Note:" - << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) - << " "; + text << Atom::ParaLeft << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) + << "Note:" << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) << " "; } /*! @@ -1535,30 +1450,19 @@ void Generator::generateThreadSafeness(const Node *node, CodeMarker *marker) Node::ThreadSafeness ts = node->threadSafeness(); bool exceptions = false; - rlink << Atom(Atom::Link,"reentrant") - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) - << "reentrant" - << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); + rlink << Atom(Atom::Link, "reentrant") << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) + << "reentrant" << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); - tlink << Atom(Atom::Link,"thread-safe") - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) - << "thread-safe" - << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); + tlink << Atom(Atom::Link, "thread-safe") << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) + << "thread-safe" << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); switch (ts) { case Node::UnspecifiedSafeness: break; case Node::NonReentrant: - text << Atom::ParaLeft - << Atom(Atom::FormattingLeft,ATOM_FORMATTING_BOLD) - << "Warning:" - << Atom(Atom::FormattingRight,ATOM_FORMATTING_BOLD) - << " This " - << typeString(node) - << " is not " - << rlink - << "." - << Atom::ParaRight; + text << Atom::ParaLeft << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) + << "Warning:" << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) << " This " + << typeString(node) << " is not " << rlink << "." << Atom::ParaRight; break; case Node::Reentrant: case Node::ThreadSafe: @@ -1575,8 +1479,7 @@ void Generator::generateThreadSafeness(const Node *node, CodeMarker *marker) text << "."; else text << " with the following exceptions:"; - } - else { + } else { text << "This " << typeString(node) << " is "; if (ts == Node::ThreadSafe) text << tlink; @@ -1589,46 +1492,33 @@ void Generator::generateThreadSafeness(const Node *node, CodeMarker *marker) default: break; } - generateText(text,node,marker); + generateText(text, node, marker); if (exceptions) { text.clear(); if (ts == Node::Reentrant) { if (!nonreentrant.isEmpty()) { startNote(text); - text << "These functions are not " - << rlink - << ":" - << Atom::ParaRight; + text << "These functions are not " << rlink << ":" << Atom::ParaRight; signatureList(nonreentrant, node, marker); } if (!threadsafe.isEmpty()) { text.clear(); startNote(text); - text << "These functions are also " - << tlink - << ":" - << Atom::ParaRight; + text << "These functions are also " << tlink << ":" << Atom::ParaRight; generateText(text, node, marker); signatureList(threadsafe, node, marker); } - } - else { // thread-safe + } else { // thread-safe if (!reentrant.isEmpty()) { startNote(text); - text << "These functions are only " - << rlink - << ":" - << Atom::ParaRight; + text << "These functions are only " << rlink << ":" << Atom::ParaRight; signatureList(reentrant, node, marker); } if (!nonreentrant.isEmpty()) { text.clear(); startNote(text); - text << "These functions are not " - << rlink - << ":" - << Atom::ParaRight; + text << "These functions are not " << rlink << ":" << Atom::ParaRight; signatureList(nonreentrant, node, marker); } } @@ -1683,19 +1573,15 @@ void Generator::generateOverloadedSignal(const Node *node, CodeMarker *marker) return; Text text; - text << Atom::ParaLeft - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) - << "Note:" - << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) - << " Signal " - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_ITALIC) - << node->name() + text << Atom::ParaLeft << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) + << "Note:" << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) << " Signal " + << Atom(Atom::FormattingLeft, ATOM_FORMATTING_ITALIC) << node->name() << Atom(Atom::FormattingRight, ATOM_FORMATTING_ITALIC) << " is overloaded in this class. " "To connect to this signal by using the function pointer syntax, Qt " "provides a convenient helper for obtaining the function pointer as " "shown in this example:" - << Atom(Atom::Code, marker->markedUpCode(code, node, node->location())); + << Atom(Atom::Code, marker->markedUpCode(code, node, node->location())); generateText(text, node, marker); } @@ -1750,7 +1636,7 @@ QString Generator::getMetadataElement(const Aggregate *inner, const QString &tag QStringList Generator::getMetadataElements(const Aggregate *inner, const QString &t) { QStringList s; - QStringMultiMap& metaTagMap = const_cast(inner->doc().metaTagMap()); + QStringMultiMap &metaTagMap = const_cast(inner->doc().metaTagMap()); s = metaTagMap.values(t); if (!s.isEmpty()) metaTagMap.remove(t); @@ -1763,19 +1649,13 @@ QStringList Generator::getMetadataElements(const Aggregate *inner, const QString QString Generator::imageFileName(const Node *relative, const QString &fileBase) { QString userFriendlyFilePath; - QString filePath = Config::findFile(relative->doc().location(), - imageFiles, - imageDirs, - fileBase, - imgFileExts[format()], - &userFriendlyFilePath); + QString filePath = Config::findFile(relative->doc().location(), imageFiles, imageDirs, fileBase, + imgFileExts[format()], &userFriendlyFilePath); if (filePath.isEmpty()) return QString(); - QString path = Config::copyFile(relative->doc().location(), - filePath, - userFriendlyFilePath, + QString path = Config::copyFile(relative->doc().location(), filePath, userFriendlyFilePath, outputDir() + QLatin1String("/images")); int images_slash = path.lastIndexOf("images/"); QString relImagePath; @@ -1796,8 +1676,7 @@ QString Generator::indent(int level, const QString &markedCode) while (i < markedCode.length()) { if (markedCode.at(i) == QLatin1Char('\n')) { column = 0; - } - else { + } else { if (column == 0) { for (int j = 0; j < level; j++) t += QLatin1Char(' '); @@ -1809,8 +1688,6 @@ QString Generator::indent(int level, const QString &markedCode) return t; } - - void Generator::initialize(const Config &config) { outputFormats = config.getOutputFormats(); @@ -1847,13 +1724,15 @@ void Generator::initialize(const Config &config) config.lastLocation().warning(tr("Formatting '%1' must " "have exactly one " "parameter (found %2)") - .arg(n).arg(numParams)); + .arg(n) + .arg(numParams)); } else if (numOccs > 1) { config.lastLocation().fatal(tr("Formatting '%1' must " "contain exactly one " "occurrence of '\\1' " "(found %2)") - .arg(n).arg(numOccs)); + .arg(n) + .arg(numOccs)); } else { int paramPos = def.indexOf("\1"); fmtLeftMaps[f].insert(n, def.left(paramPos)); @@ -1889,15 +1768,16 @@ void Generator::initialize(const Config &config) Creates template-specific subdirs (e.g. /styles and /scripts for HTML) and copies the files to them. */ -void Generator::copyTemplateFiles(const Config &config, const QString &configVar, const QString &subDir) +void Generator::copyTemplateFiles(const Config &config, const QString &configVar, + const QString &subDir) { QStringList files = config.getCanonicalPathList(configVar, true); if (!files.isEmpty()) { QDir dirInfo; QString templateDir = outDir_ + QLatin1Char('/') + subDir; if (!dirInfo.exists(templateDir) && !dirInfo.mkdir(templateDir)) { - config.lastLocation().fatal(tr("Cannot create %1 directory '%2'") - .arg(subDir, templateDir)); + config.lastLocation().fatal( + tr("Cannot create %1 directory '%2'").arg(subDir, templateDir)); } else { for (const auto &file : files) { if (!file.isEmpty()) @@ -1945,7 +1825,8 @@ void Generator::initializeFormat(const Config &config) return; if (!dirInfo.exists(outDir_ + "/images") && !dirInfo.mkdir(outDir_ + "/images")) - config.lastLocation().fatal(tr("Cannot create images directory '%1'").arg(outDir_ + "/images")); + config.lastLocation().fatal( + tr("Cannot create images directory '%1'").arg(outDir_ + "/images")); copyTemplateFiles(config, format() + Config::dot + CONFIG_STYLESHEETS, "style"); copyTemplateFiles(config, format() + Config::dot + CONFIG_SCRIPTS, "scripts"); @@ -2021,42 +1902,36 @@ QString Generator::outputSuffix(const Node *node) return QString(); } -bool Generator::parseArg(const QString &src, - const QString &tag, - int *pos, - int n, - QStringRef *contents, - QStringRef *par1, - bool debug) -{ -#define SKIP_CHAR(c) \ - if (debug) \ - qDebug() << "looking for " << c << " at " << QString(src.data() + i, n - i); \ - if (i >= n || src[i] != c) { \ - if (debug) \ - qDebug() << " char '" << c << "' not found"; \ - return false; \ -} \ +bool Generator::parseArg(const QString &src, const QString &tag, int *pos, int n, + QStringRef *contents, QStringRef *par1, bool debug) +{ +#define SKIP_CHAR(c) \ + if (debug) \ + qDebug() << "looking for " << c << " at " << QString(src.data() + i, n - i); \ + if (i >= n || src[i] != c) { \ + if (debug) \ + qDebug() << " char '" << c << "' not found"; \ + return false; \ + } \ ++i; - -#define SKIP_SPACE \ - while (i < n && src[i] == ' ') \ - ++i; +#define SKIP_SPACE \ + while (i < n && src[i] == ' ') \ + ++i; int i = *pos; int j = i; // assume "<@" has been parsed outside - //SKIP_CHAR('<'); - //SKIP_CHAR('@'); + // SKIP_CHAR('<'); + // SKIP_CHAR('@'); if (tag != QStringRef(&src, i, tag.length())) { return false; } if (debug) - qDebug() << "haystack:" << src << "needle:" << tag << "i:" < &alsoList) alternateFunc = fn->parent()->findFunctionChild(alternateName, QString()); } } - } - else if (!fn->name().isEmpty()) { + } else if (!fn->name().isEmpty()) { alternateName = "set"; alternateName += fn->name()[0].toUpper(); alternateName += fn->name().mid(1); @@ -2208,8 +2082,7 @@ void Generator::supplementAlsoList(const Node *node, QVector &alsoList) Text also; also << Atom(Atom::Link, alternateName) - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) - << alternateName + << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) << alternateName << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); alsoList.prepend(also); } @@ -2221,8 +2094,8 @@ void Generator::supplementAlsoList(const Node *node, QVector &alsoList) void Generator::terminate() { for (const auto &generator : qAsConst(generators)) { - if (outputFormats.contains(generator->format())) - generator->terminateGenerator(); + if (outputFormats.contains(generator->format())) + generator->terminateGenerator(); } fmtLeftMaps.clear(); @@ -2233,15 +2106,14 @@ void Generator::terminate() outDir_.clear(); } -void Generator::terminateGenerator() -{ -} +void Generator::terminateGenerator() {} /*! Trims trailing whitespace off the \a string and returns the trimmed string. */ -QString Generator::trimmedTrailing(const QString &string, const QString &prefix, const QString &suffix) +QString Generator::trimmedTrailing(const QString &string, const QString &prefix, + const QString &suffix) { QString trimmed = string; while (trimmed.length() > 0 && trimmed[trimmed.length() - 1].isSpace()) @@ -2304,8 +2176,8 @@ QString Generator::typeString(const Node *node) void Generator::unknownAtom(const Atom *atom) { - Location::internalError(tr("unknown atom type '%1' in %2 generator") - .arg(atom->typeString()).arg(format())); + Location::internalError( + tr("unknown atom type '%1' in %2 generator").arg(atom->typeString()).arg(format())); } QT_END_NAMESPACE diff --git a/src/qdoc/generator.h b/src/qdoc/generator.h index 10fd5131a..6723884f1 100644 --- a/src/qdoc/generator.h +++ b/src/qdoc/generator.h @@ -68,11 +68,9 @@ public: QString fullDocumentLocation(const Node *node, bool useSubdir = false); const Config *config() { return config_; } - QString linkForExampleFile(const QString &path, - const Node *parent, + QString linkForExampleFile(const QString &path, const Node *parent, const QString &fileExt = QString()); - static QString exampleFileTitle(const ExampleNode *relative, - const QString &fileName); + static QString exampleFileTitle(const ExampleNode *relative, const QString &fileName); static Generator *currentGenerator() { return currentGenerator_; } static Generator *generatorForFormat(const QString &format); static void initialize(const Config &config); @@ -110,7 +108,7 @@ protected: void endSubPage(); virtual QString fileBase(const Node *node) const; virtual QString fileExtension() const = 0; - virtual void generateQAPage() { } + virtual void generateQAPage() {} virtual void generateExampleFilePage(const Node *, const QString &, CodeMarker *) {} virtual void generateAlsoList(const Node *node, CodeMarker *marker); virtual int generateAtom(const Atom *, const Node *, CodeMarker *) { return 0; } @@ -128,9 +126,7 @@ protected: virtual void generateMaintainerList(const Aggregate *node, CodeMarker *marker); virtual void generateQmlInheritedBy(const QmlTypeNode *qcn, CodeMarker *marker); virtual void generateQmlInherits(QmlTypeNode *, CodeMarker *) {} - virtual bool generateQmlText(const Text &text, - const Node *relative, - CodeMarker *marker, + virtual bool generateQmlText(const Text &text, const Node *relative, CodeMarker *marker, const QString &qmlName); virtual bool generateText(const Text &text, const Node *relative, CodeMarker *marker); virtual QString imageFileName(const Node *relative, const QString &fileBase); @@ -142,20 +138,17 @@ protected: static QString outputSuffix(const Node *node); static void singularPlural(Text &text, const NodeList &nodes); static void supplementAlsoList(const Node *node, QVector &alsoList); - static QString trimmedTrailing(const QString &string, - const QString &prefix, + static QString trimmedTrailing(const QString &string, const QString &prefix, const QString &suffix); void initializeTextOutput(); QString fileName(const Node *node, const QString &extension = QString()) const; QMap &formattingLeftMap(); QMap &formattingRightMap(); - const Atom *generateAtomList(const Atom *atom, - const Node *relative, - CodeMarker *marker, - bool generate, - int &numGeneratedAtoms); + const Atom *generateAtomList(const Atom *atom, const Node *relative, CodeMarker *marker, + bool generate, int &numGeneratedAtoms); void generateRequiredLinks(const Node *node, CodeMarker *marker); - void generateLinkToExample(const ExampleNode *en, CodeMarker *marker, const QString &exampleUrl); + void generateLinkToExample(const ExampleNode *en, CodeMarker *marker, + const QString &exampleUrl); virtual void generateFileList(const ExampleNode *en, CodeMarker *marker, bool images); static QString formatSince(const Node *node); void generateSince(const Node *node, CodeMarker *marker); @@ -168,41 +161,30 @@ protected: void generateOverloadedSignal(const Node *node, CodeMarker *marker); static QString getOverloadedSignalCode(const Node *node); QString indent(int level, const QString &markedCode); - QTextStream& out(); + QTextStream &out(); QString outFileName(); - bool parseArg(const QString &src, - const QString &tag, - int *pos, - int n, - QStringRef *contents, - QStringRef *par1 = nullptr, - bool debug = false); + bool parseArg(const QString &src, const QString &tag, int *pos, int n, QStringRef *contents, + QStringRef *par1 = nullptr, bool debug = false); void setImageFileExtensions(const QStringList &extensions); void unknownAtom(const Atom *atom); int appendSortedQmlNames(Text &text, const Node *base, const NodeList &subs); - static bool hasExceptions(const Node *node, - NodeList &reentrant, - NodeList &threadsafe, + static bool hasExceptions(const Node *node, NodeList &reentrant, NodeList &threadsafe, NodeList &nonreentrant); QMap editionGroupMap; QMap editionModuleMap; QString naturalLanguage; #ifndef QT_NO_TEXTCODEC - QTextCodec* outputCodec; + QTextCodec *outputCodec; QString outputEncoding; #endif QString tagFile_; QStack outStreamStack; - void appendFullName(Text &text, - const Node *apparentNode, - const Node *relative, + void appendFullName(Text &text, const Node *apparentNode, const Node *relative, const Node *actualNode = nullptr); - void appendFullName(Text &text, - const Node *apparentNode, - const QString &fullName, + void appendFullName(Text &text, const Node *apparentNode, const QString &fullName, const Node *actualNode); void appendFullNames(Text &text, const NodeList &nodes, const Node *relative); int appendSortedNames(Text &text, const ClassNode *classe, @@ -216,8 +198,8 @@ private: static Generator *currentGenerator_; static QStringList exampleDirs; static QStringList exampleImgExts; - static QMap > fmtLeftMaps; - static QMap > fmtRightMaps; + static QMap> fmtLeftMaps; + static QMap> fmtRightMaps; static QVector generators; static QStringList imageDirs; static QStringList imageFiles; @@ -246,8 +228,7 @@ private: void generateReimplementsClause(const FunctionNode *fn, CodeMarker *marker); static bool compareNodes(Node *a, Node *b) { return (a->name() < b->name()); } static bool comparePaths(QString a, QString b) { return (a < b); } - static void copyTemplateFiles(const Config &config, - const QString &configVar, + static void copyTemplateFiles(const Config &config, const QString &configVar, const QString &subDir); protected: diff --git a/src/qdoc/helpprojectwriter.cpp b/src/qdoc/helpprojectwriter.cpp index 4ef77f06a..6f231f232 100644 --- a/src/qdoc/helpprojectwriter.cpp +++ b/src/qdoc/helpprojectwriter.cpp @@ -41,16 +41,13 @@ QT_BEGIN_NAMESPACE -HelpProjectWriter::HelpProjectWriter(const Config &config, - const QString &defaultFileName, +HelpProjectWriter::HelpProjectWriter(const Config &config, const QString &defaultFileName, Generator *g) { reset(config, defaultFileName, g); } -void HelpProjectWriter::reset(const Config &config, - const QString &defaultFileName, - Generator *g) +void HelpProjectWriter::reset(const Config &config, const QString &defaultFileName, Generator *g) { projects.clear(); gen_ = g; @@ -83,15 +80,19 @@ void HelpProjectWriter::reset(const Config &config, project.indexTitle = config.getString(prefix + "indexTitle"); project.indexRoot = config.getString(prefix + "indexRoot"); const auto &filterAttributes = config.getStringList(prefix + "filterAttributes"); - project.filterAttributes = QSet(filterAttributes.cbegin(), filterAttributes.cend()); + project.filterAttributes = + QSet(filterAttributes.cbegin(), filterAttributes.cend()); project.includeIndexNodes = config.getBool(prefix + "includeIndexNodes"); const QSet customFilterNames = config.subVars(prefix + "customFilters"); for (const auto &filterName : customFilterNames) { - QString name = config.getString(prefix + "customFilters" + Config::dot + filterName + Config::dot + "name"); - const auto &filters = config.getStringList(prefix + "customFilters" + Config::dot + filterName + Config::dot + "filterAttributes"); + QString name = config.getString(prefix + "customFilters" + Config::dot + filterName + + Config::dot + "name"); + const auto &filters = + config.getStringList(prefix + "customFilters" + Config::dot + filterName + + Config::dot + "filterAttributes"); project.customFilters[name] = QSet(filters.cbegin(), filters.cend()); } - //customFilters = config.defs. + // customFilters = config.defs. const auto excludedPrefixes = config.getStringSet(prefix + "excluded"); for (auto name : excludedPrefixes) @@ -128,7 +129,7 @@ void HelpProjectWriter::readSelectors(SubProject &subproject, const QStringList typeHash["union"] = Node::Union; typeHash["header"] = Node::HeaderFile; typeHash["headerfile"] = Node::HeaderFile; - typeHash["doc"] = Node::Page; // to be removed from qdocconf files + typeHash["doc"] = Node::Page; // to be removed from qdocconf files typeHash["fake"] = Node::Page; // to be removed from qdocconf files typeHash["page"] = Node::Page; typeHash["enum"] = Node::Enum; @@ -155,7 +156,6 @@ void HelpProjectWriter::readSelectors(SubProject &subproject, const QStringList pageTypeHash["page"] = Node::Page; pageTypeHash["externalpage"] = Node::ExternalPage; - NodeTypeSet fullSubset; for (auto it = pageTypeHash.constBegin(); it != pageTypeHash.constEnd(); ++it) fullSubset.insert(it.value()); @@ -215,29 +215,25 @@ QStringList HelpProjectWriter::keywordDetails(const Node *node) const if (node->parent() && !node->parent()->name().isEmpty()) { // "name" if (node->isEnumType() || node->isTypedef()) - details << node->parent()->name()+"::"+node->name(); + details << node->parent()->name() + "::" + node->name(); else details << node->name(); // "id" if (!node->isRelatedNonmember()) - details << node->parent()->name()+"::"+node->name(); + details << node->parent()->name() + "::" + node->name(); else details << node->name(); - } - else if (node->isQmlType() || node->isQmlBasicType()) { + } else if (node->isQmlType() || node->isQmlBasicType()) { details << node->name(); details << "QML." + node->name(); - } - else if (node->isJsType() || node->isJsBasicType()) { + } else if (node->isJsType() || node->isJsBasicType()) { details << node->name(); details << "JS." + node->name(); - } - else if (node->isTextPageNode()) { + } else if (node->isTextPageNode()) { const PageNode *fake = static_cast(node); details << fake->fullTitle(); details << fake->fullTitle(); - } - else { + } else { details << node->name(); details << node->name(); } @@ -245,8 +241,7 @@ QStringList HelpProjectWriter::keywordDetails(const Node *node) const return details; } -bool HelpProjectWriter::generateSection(HelpProject &project, - QXmlStreamWriter & /* writer */, +bool HelpProjectWriter::generateSection(HelpProject &project, QXmlStreamWriter & /* writer */, const Node *node) { if (!node->url().isEmpty() && !(project.includeIndexNodes && !node->url().startsWith("http"))) @@ -271,16 +266,15 @@ bool HelpProjectWriter::generateSection(HelpProject &project, // No selectors: accept all nodes. if (subproject.selectors.isEmpty()) { project.subprojects[i].nodes[objName] = node; - } - else if (subproject.selectors.contains(node->nodeType())) { + } else if (subproject.selectors.contains(node->nodeType())) { // Add all group members for '[group|module|qmlmodule]:name' selector if (node->isGroup() || node->isModule() || node->isQmlModule()) { if (project.subprojects[i].groups.contains(node->name().toLower())) { const CollectionNode *cn = static_cast(node); const auto members = cn->members(); for (const Node *m : members) { - QString memberName = m->isTextPageNode() - ? m->fullTitle() : m->fullDocumentName(); + QString memberName = + m->isTextPageNode() ? m->fullTitle() : m->fullDocumentName(); project.subprojects[i].nodes[memberName] = m; } } @@ -291,8 +285,8 @@ bool HelpProjectWriter::generateSection(HelpProject &project, else { // Accept only doc nodes with subtypes contained in the selector's // mask. - if (subproject.selectors[node->nodeType()].contains(node->nodeType()) && - !node->isExternalPage() && !node->fullTitle().isEmpty()) { + if (subproject.selectors[node->nodeType()].contains(node->nodeType()) + && !node->isExternalPage() && !node->fullTitle().isEmpty()) { project.subprojects[i].nodes[objName] = node; } @@ -316,13 +310,12 @@ bool HelpProjectWriter::generateSection(HelpProject &project, for (const Atom *keyword : keywords) { if (!keyword->string().isEmpty()) { QStringList details; - details << keyword->string() - << keyword->string() + details << keyword->string() << keyword->string() << gen_->fullDocumentLocation(node, false); project.keywords.append(details); - } - else - node->doc().location().warning(tr("Bad keyword in %1").arg(gen_->fullDocumentLocation(node, false))); + } else + node->doc().location().warning( + tr("Bad keyword in %1").arg(gen_->fullDocumentLocation(node, false))); } } project.keywords.append(keywordDetails(node)); @@ -334,55 +327,51 @@ bool HelpProjectWriter::generateSection(HelpProject &project, case Node::Enum: project.keywords.append(keywordDetails(node)); - { - const EnumNode *enumNode = static_cast(node); - const auto items = enumNode->items(); - for (const auto &item : items) { - QStringList details; + { + const EnumNode *enumNode = static_cast(node); + const auto items = enumNode->items(); + for (const auto &item : items) { + QStringList details; - if (enumNode->itemAccess(item.name()) == Node::Private) - continue; + if (enumNode->itemAccess(item.name()) == Node::Private) + continue; - if (!node->parent()->name().isEmpty()) { - details << node->parent()->name()+"::"+item.name(); // "name" - details << node->parent()->name()+"::"+item.name(); // "id" - } else { - details << item.name(); // "name" - details << item.name(); // "id" + if (!node->parent()->name().isEmpty()) { + details << node->parent()->name() + "::" + item.name(); // "name" + details << node->parent()->name() + "::" + item.name(); // "id" + } else { + details << item.name(); // "name" + details << item.name(); // "id" + } + details << gen_->fullDocumentLocation(node, false); + project.keywords.append(details); } - details << gen_->fullDocumentLocation(node, false); - project.keywords.append(details); } - } break; case Node::Group: case Node::Module: case Node::QmlModule: - case Node::JsModule: - { - const CollectionNode *cn = static_cast(node); - if (!cn->fullTitle().isEmpty()) { - if (cn->doc().hasKeywords()) { - const auto keywords = cn->doc().keywords(); - for (const Atom *keyword : keywords) { - if (!keyword->string().isEmpty()) { - QStringList details; - details << keyword->string() - << keyword->string() - << gen_->fullDocumentLocation(node, false); - project.keywords.append(details); - } - else - cn->doc().location().warning( - tr("Bad keyword in %1").arg(gen_->fullDocumentLocation(node, false)) - ); - } + case Node::JsModule: { + const CollectionNode *cn = static_cast(node); + if (!cn->fullTitle().isEmpty()) { + if (cn->doc().hasKeywords()) { + const auto keywords = cn->doc().keywords(); + for (const Atom *keyword : keywords) { + if (!keyword->string().isEmpty()) { + QStringList details; + details << keyword->string() << keyword->string() + << gen_->fullDocumentLocation(node, false); + project.keywords.append(details); + } else + cn->doc().location().warning( + tr("Bad keyword in %1") + .arg(gen_->fullDocumentLocation(node, false))); } - project.keywords.append(keywordDetails(node)); } + project.keywords.append(keywordDetails(node)); } - break; + } break; case Node::Property: case Node::QmlProperty: @@ -390,8 +379,7 @@ bool HelpProjectWriter::generateSection(HelpProject &project, project.keywords.append(keywordDetails(node)); break; - case Node::Function: - { + case Node::Function: { const FunctionNode *funcNode = static_cast(node); /* @@ -419,11 +407,9 @@ bool HelpProjectWriter::generateSection(HelpProject &project, if (node->parent()) project.memberStatus[node->parent()].insert(node->status()); - } - break; + } break; - case Node::Typedef: - { + case Node::Typedef: { const TypedefNode *typedefNode = static_cast(node); QStringList typedefDetails = keywordDetails(node); const EnumNode *enumNode = typedefNode->associatedEnum(); @@ -433,14 +419,11 @@ bool HelpProjectWriter::generateSection(HelpProject &project, typedefDetails[2] = gen_->fullDocumentLocation(enumNode, false); project.keywords.append(typedefDetails); - } - break; + } break; - case Node::Variable: - { + case Node::Variable: { project.keywords.append(keywordDetails(node)); - } - break; + } break; // Page nodes (such as manual pages) contain subtypes, titles and other // attributes. @@ -452,8 +435,7 @@ bool HelpProjectWriter::generateSection(HelpProject &project, for (const Atom *keyword : keywords) { if (!keyword->string().isEmpty()) { QStringList details; - details << keyword->string() - << keyword->string() + details << keyword->string() << keyword->string() << gen_->fullDocumentLocation(node, false); project.keywords.append(details); } else { @@ -466,8 +448,7 @@ bool HelpProjectWriter::generateSection(HelpProject &project, } break; } - default: - ; + default:; } // Add all images referenced in the page to the set of files to include. @@ -485,7 +466,8 @@ bool HelpProjectWriter::generateSection(HelpProject &project, return true; } -void HelpProjectWriter::generateSections(HelpProject &project, QXmlStreamWriter &writer, const Node *node) +void HelpProjectWriter::generateSections(HelpProject &project, QXmlStreamWriter &writer, + const Node *node) { /* Don't include index nodes in the help file. @@ -542,7 +524,7 @@ void HelpProjectWriter::writeHashFile(QFile &file) } void HelpProjectWriter::writeSection(QXmlStreamWriter &writer, const QString &path, - const QString &value) + const QString &value) { writer.writeStartElement(QStringLiteral("section")); writer.writeAttribute(QStringLiteral("ref"), path); @@ -553,11 +535,10 @@ void HelpProjectWriter::writeSection(QXmlStreamWriter &writer, const QString &pa /*! Write subsections for all members, compatibility members and obsolete members. */ -void HelpProjectWriter::addMembers(HelpProject &project, QXmlStreamWriter &writer, - const Node *node) +void HelpProjectWriter::addMembers(HelpProject &project, QXmlStreamWriter &writer, const Node *node) { QString href = gen_->fullDocumentLocation(node, false); - href = href.left(href.size()-5); + href = href.left(href.size() - 5); if (href.isEmpty()) return; @@ -567,9 +548,9 @@ void HelpProjectWriter::addMembers(HelpProject &project, QXmlStreamWriter &write // Do not generate a 'List of all members' for namespaces or header files, // but always generate it for derived classes and QML classes - if (!node->isNamespace() && !node->isHeader() && - (derivedClass || node->isQmlType() || node->isJsType() || - !project.memberStatus[node].isEmpty())) { + if (!node->isNamespace() && !node->isHeader() + && (derivedClass || node->isQmlType() || node->isJsType() + || !project.memberStatus[node].isEmpty())) { QString membersPath = href + QStringLiteral("-members.html"); writeSection(writer, membersPath, tr("List of all members")); } @@ -579,8 +560,7 @@ void HelpProjectWriter::addMembers(HelpProject &project, QXmlStreamWriter &write } } -void HelpProjectWriter::writeNode(HelpProject &project, QXmlStreamWriter &writer, - const Node *node) +void HelpProjectWriter::writeNode(HelpProject &project, QXmlStreamWriter &writer, const Node *node) { QString href = gen_->fullDocumentLocation(node, false); QString objName = node->name(); @@ -593,7 +573,8 @@ void HelpProjectWriter::writeNode(HelpProject &project, QXmlStreamWriter &writer writer.writeStartElement("section"); writer.writeAttribute("ref", href); if (node->parent() && !node->parent()->name().isEmpty()) - writer.writeAttribute("title", tr("%1::%2 Class Reference").arg(node->parent()->name()).arg(objName)); + writer.writeAttribute( + "title", tr("%1::%2 Class Reference").arg(node->parent()->name()).arg(objName)); else writer.writeAttribute("title", tr("%1 Class Reference").arg(objName)); @@ -632,22 +613,18 @@ void HelpProjectWriter::writeNode(HelpProject &project, QXmlStreamWriter &writer writer.writeAttribute("title", pn->fullTitle()); writer.writeEndElement(); // section - } - break; + } break; case Node::Group: case Node::Module: case Node::JsModule: - case Node::QmlModule: - { - const CollectionNode *cn = static_cast(node); - writer.writeStartElement("section"); - writer.writeAttribute("ref", href); - writer.writeAttribute("title", cn->fullTitle()); - writer.writeEndElement(); // section - } - break; - default: - ; + case Node::QmlModule: { + const CollectionNode *cn = static_cast(node); + writer.writeStartElement("section"); + writer.writeAttribute("ref", href); + writer.writeAttribute("title", cn->fullTitle()); + writer.writeEndElement(); // section + } break; + default:; } } @@ -689,7 +666,8 @@ void HelpProjectWriter::generateProject(HelpProject &project) writer.writeEndElement(); // Write customFilter elements. - for (auto it = project.customFilters.constBegin(); it != project.customFilters.constEnd(); ++it) { + for (auto it = project.customFilters.constBegin(); it != project.customFilters.constEnd(); + ++it) { writer.writeStartElement("customFilter"); writer.writeAttribute("name", it.key()); QStringList sortedAttributes = it.value().values(); @@ -768,8 +746,7 @@ void HelpProjectWriter::generateProject(HelpProject &project) sectionStack.top() += 1; } break; - default: - ; + default:; } if (atom == indexBody.lastAtom()) @@ -778,14 +755,13 @@ void HelpProjectWriter::generateProject(HelpProject &project) } } else rootNode->doc().location().warning( - tr("Failed to find index: %1").arg(subproject.indexTitle) - ); + tr("Failed to find index: %1").arg(subproject.indexTitle)); } else { writer.writeStartElement("section"); - QString indexPath = gen_->fullDocumentLocation(qdb_->findNodeForTarget(subproject.indexTitle, nullptr), - false); + QString indexPath = gen_->fullDocumentLocation( + qdb_->findNodeForTarget(subproject.indexTitle, nullptr), false); writer.writeAttribute("ref", indexPath); writer.writeAttribute("title", subproject.title); @@ -801,8 +777,8 @@ void HelpProjectWriter::generateProject(HelpProject &project) bool contentsFound = false; for (const auto *node : qAsConst(subproject.nodes)) { QString nextTitle = node->links().value(Node::NextLink).first; - if (!nextTitle.isEmpty() && - node->links().value(Node::ContentsLink).first.isEmpty()) { + if (!nextTitle.isEmpty() + && node->links().value(Node::ContentsLink).first.isEmpty()) { const Node *nextPage = qdb_->findNodeForTarget(nextTitle, nullptr); @@ -849,7 +825,7 @@ void HelpProjectWriter::generateProject(HelpProject &project) writer.writeAttribute("name", details[0]); writer.writeAttribute("id", details[1]); writer.writeAttribute("ref", details[2]); - writer.writeEndElement(); //keyword + writer.writeEndElement(); // keyword } writer.writeEndElement(); // keywords @@ -857,7 +833,8 @@ void HelpProjectWriter::generateProject(HelpProject &project) // The list of files to write is the union of generated files and // other files (images and extras) included in the project - QSet files = QSet(gen_->outputFileNames().cbegin(), gen_->outputFileNames().cend()); + QSet files = + QSet(gen_->outputFileNames().cbegin(), gen_->outputFileNames().cend()); files.unite(project.files); files.unite(project.extraFiles); QStringList sortedFiles = files.values(); diff --git a/src/qdoc/helpprojectwriter.h b/src/qdoc/helpprojectwriter.h index 222a5f097..be5439dfb 100644 --- a/src/qdoc/helpprojectwriter.h +++ b/src/qdoc/helpprojectwriter.h @@ -83,30 +83,22 @@ class HelpProjectWriter Q_DECLARE_TR_FUNCTIONS(QDoc::HelpProjectWriter) public: - HelpProjectWriter(const Config &config, - const QString &defaultFileName, - Generator *g); - void reset(const Config &config, - const QString &defaultFileName, - Generator *g); + HelpProjectWriter(const Config &config, const QString &defaultFileName, Generator *g); + void reset(const Config &config, const QString &defaultFileName, Generator *g); void addExtraFile(const QString &file); void addExtraFiles(const QSet &files); void generate(); private: void generateProject(HelpProject &project); - void generateSections(HelpProject &project, QXmlStreamWriter &writer, - const Node *node); - bool generateSection(HelpProject &project, QXmlStreamWriter &writer, - const Node *node); + void generateSections(HelpProject &project, QXmlStreamWriter &writer, const Node *node); + bool generateSection(HelpProject &project, QXmlStreamWriter &writer, const Node *node); QStringList keywordDetails(const Node *node) const; void writeHashFile(QFile &file); void writeNode(HelpProject &project, QXmlStreamWriter &writer, const Node *node); void readSelectors(SubProject &subproject, const QStringList &selectors); - void addMembers(HelpProject &project, QXmlStreamWriter &writer, - const Node *node); - void writeSection(QXmlStreamWriter &writer, const QString &path, - const QString &value); + void addMembers(HelpProject &project, QXmlStreamWriter &writer, const Node *node); + void writeSection(QXmlStreamWriter &writer, const QString &path, const QString &value); QDocDatabase *qdb_; Generator *gen_; diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 05241753d..23183614b 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -66,9 +66,7 @@ static QRegExp typeTag("(<@(type|headerfile|func)(?: +[^>]*)?>)(.*)()"); static QRegExp spanTag(""); static QRegExp unknownTag("]*>"); -static void addLink(const QString &linkTarget, - const QStringRef &nestedStuff, - QString *res) +static void addLink(const QString &linkTarget, const QStringRef &nestedStuff, QString *res) { if (!linkTarget.isEmpty()) { *res += QLatin1String(""); *res += nestedStuff; *res += QLatin1String(""); - } - else { + } else { *res += nestedStuff; } } @@ -112,26 +109,29 @@ HtmlGenerator::~HtmlGenerator() */ void HtmlGenerator::initializeGenerator(const Config &config) { - static const struct { + static const struct + { const char *key; const char *left; const char *right; - } defaults[] = { - { ATOM_FORMATTING_BOLD, "", "" }, - { ATOM_FORMATTING_INDEX, "" }, - { ATOM_FORMATTING_ITALIC, "", "" }, - { ATOM_FORMATTING_PARAMETER, "", "" }, - { ATOM_FORMATTING_SUBSCRIPT, "", "" }, - { ATOM_FORMATTING_SUPERSCRIPT, "", "" }, - { ATOM_FORMATTING_TELETYPE, "", "" }, // tag is not supported in HTML5 - { ATOM_FORMATTING_UICONTROL, "", "" }, - { ATOM_FORMATTING_UNDERLINE, "", "" }, - { nullptr, nullptr, nullptr } - }; + } defaults[] = { { ATOM_FORMATTING_BOLD, "", "" }, + { ATOM_FORMATTING_INDEX, "" }, + { ATOM_FORMATTING_ITALIC, "", "" }, + { ATOM_FORMATTING_PARAMETER, "", "" }, + { ATOM_FORMATTING_SUBSCRIPT, "", "" }, + { ATOM_FORMATTING_SUPERSCRIPT, "", "" }, + { ATOM_FORMATTING_TELETYPE, "", + "" }, // tag is not supported in HTML5 + { ATOM_FORMATTING_UICONTROL, "", "" }, + { ATOM_FORMATTING_UNDERLINE, "", "" }, + { nullptr, nullptr, nullptr } }; Generator::initializeGenerator(config); obsoleteLinks = config.getBool(CONFIG_OBSOLETELINKS); - setImageFileExtensions(QStringList() << "png" << "jpg" << "jpeg" << "gif"); + setImageFileExtensions(QStringList() << "png" + << "jpg" + << "jpeg" + << "gif"); /* The formatting maps are owned by Generator. They are cleared in @@ -140,44 +140,27 @@ void HtmlGenerator::initializeGenerator(const Config &config) int i = 0; while (defaults[i].key) { formattingLeftMap().insert(QLatin1String(defaults[i].key), QLatin1String(defaults[i].left)); - formattingRightMap().insert(QLatin1String(defaults[i].key), QLatin1String(defaults[i].right)); + formattingRightMap().insert(QLatin1String(defaults[i].key), + QLatin1String(defaults[i].right)); i++; } - style = config.getString(HtmlGenerator::format() + - Config::dot + - CONFIG_STYLE); - endHeader = config.getString(HtmlGenerator::format() + - Config::dot + - CONFIG_ENDHEADER); - postHeader = config.getString(HtmlGenerator::format() + - Config::dot + - HTMLGENERATOR_POSTHEADER); - postPostHeader = config.getString(HtmlGenerator::format() + - Config::dot + - HTMLGENERATOR_POSTPOSTHEADER); - prologue = config.getString(HtmlGenerator::format() + - Config::dot + - HTMLGENERATOR_PROLOGUE); - - footer = config.getString(HtmlGenerator::format() + - Config::dot + - HTMLGENERATOR_FOOTER); - address = config.getString(HtmlGenerator::format() + - Config::dot + - HTMLGENERATOR_ADDRESS); - pleaseGenerateMacRef = config.getBool(HtmlGenerator::format() + - Config::dot + - HTMLGENERATOR_GENERATEMACREFS); - noNavigationBar = config.getBool(HtmlGenerator::format() + - Config::dot + - HTMLGENERATOR_NONAVIGATIONBAR); - navigationSeparator = config.getString(HtmlGenerator::format() + - Config::dot + - HTMLGENERATOR_NAVIGATIONSEPARATOR); - tocDepth = config.getInt(HtmlGenerator::format() + - Config::dot + - HTMLGENERATOR_TOCDEPTH); + style = config.getString(HtmlGenerator::format() + Config::dot + CONFIG_STYLE); + endHeader = config.getString(HtmlGenerator::format() + Config::dot + CONFIG_ENDHEADER); + postHeader = config.getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_POSTHEADER); + postPostHeader = + config.getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_POSTPOSTHEADER); + prologue = config.getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_PROLOGUE); + + footer = config.getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_FOOTER); + address = config.getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_ADDRESS); + pleaseGenerateMacRef = + config.getBool(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_GENERATEMACREFS); + noNavigationBar = + config.getBool(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_NONAVIGATIONBAR); + navigationSeparator = config.getString(HtmlGenerator::format() + Config::dot + + HTMLGENERATOR_NAVIGATIONSEPARATOR); + tocDepth = config.getInt(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_TOCDEPTH); project = config.getString(CONFIG_PROJECT); @@ -201,16 +184,10 @@ void HtmlGenerator::initializeGenerator(const Config &config) const QSet editionNames = config.subVars(CONFIG_EDITION); for (const auto &editionName : editionNames) { - QStringList editionModules = config.getStringList(CONFIG_EDITION + - Config::dot + - editionName + - Config::dot + - "modules"); - QStringList editionGroups = config.getStringList(CONFIG_EDITION + - Config::dot + - editionName + - Config::dot + - "groups"); + QStringList editionModules = config.getStringList(CONFIG_EDITION + Config::dot + editionName + + Config::dot + "modules"); + QStringList editionGroups = config.getStringList(CONFIG_EDITION + Config::dot + editionName + + Config::dot + "groups"); if (!editionModules.isEmpty()) editionModuleMap[editionName] = editionModules; @@ -236,46 +213,33 @@ void HtmlGenerator::initializeGenerator(const Config &config) headerStyles = config.getString(HtmlGenerator::format() + Config::dot + CONFIG_HEADERSTYLES); QString prefix = CONFIG_QHP + Config::dot + project + Config::dot; - manifestDir = QLatin1String("qthelp://") + config.getString(prefix + QLatin1String("namespace")); - manifestDir += QLatin1Char('/') + config.getString(prefix + QLatin1String("virtualFolder")) + QLatin1Char('/'); + manifestDir = + QLatin1String("qthelp://") + config.getString(prefix + QLatin1String("namespace")); + manifestDir += QLatin1Char('/') + config.getString(prefix + QLatin1String("virtualFolder")) + + QLatin1Char('/'); readManifestMetaContent(config); examplesPath = config.getString(CONFIG_EXAMPLESINSTALLPATH); if (!examplesPath.isEmpty()) examplesPath += QLatin1Char('/'); // Retrieve the config for the navigation bar - homepage = config.getString(CONFIG_NAVIGATION - + Config::dot - + CONFIG_HOMEPAGE); + homepage = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_HOMEPAGE); - hometitle = config.getString(CONFIG_NAVIGATION - + Config::dot - + CONFIG_HOMETITLE, homepage); + hometitle = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_HOMETITLE, homepage); - landingpage = config.getString(CONFIG_NAVIGATION - + Config::dot - + CONFIG_LANDINGPAGE); + landingpage = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_LANDINGPAGE); - landingtitle = config.getString(CONFIG_NAVIGATION - + Config::dot - + CONFIG_LANDINGTITLE, landingpage); + landingtitle = + config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_LANDINGTITLE, landingpage); - cppclassespage = config.getString(CONFIG_NAVIGATION - + Config::dot - + CONFIG_CPPCLASSESPAGE); + cppclassespage = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_CPPCLASSESPAGE); - cppclassestitle = config.getString(CONFIG_NAVIGATION - + Config::dot - + CONFIG_CPPCLASSESTITLE, + cppclassestitle = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_CPPCLASSESTITLE, QLatin1String("C++ Classes")); - qmltypespage = config.getString(CONFIG_NAVIGATION - + Config::dot - + CONFIG_QMLTYPESPAGE); + qmltypespage = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_QMLTYPESPAGE); - qmltypestitle = config.getString(CONFIG_NAVIGATION - + Config::dot - + CONFIG_QMLTYPESTITLE, + qmltypestitle = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_QMLTYPESTITLE, QLatin1String("QML Types")); buildversion = config.getString(CONFIG_BUILDVERSION); @@ -324,11 +288,10 @@ void HtmlGenerator::generateDocs() generateQAPage(); if (!generating()) { - QString fileBase = project.toLower().simplified().replace(QLatin1Char(' '), QLatin1Char('-')); - qdb_->generateIndex(outputDir() + QLatin1Char('/') + fileBase + ".index", - projectUrl, - projectDescription, - this); + QString fileBase = + project.toLower().simplified().replace(QLatin1Char(' '), QLatin1Char('-')); + qdb_->generateIndex(outputDir() + QLatin1Char('/') + fileBase + ".index", projectUrl, + projectDescription, this); } if (!preparing()) { @@ -350,7 +313,8 @@ void HtmlGenerator::generateQAPage() beginSubPage(node, "aaa-" + defaultModuleName().toLower() + "-qa-page.html"); CodeMarker *marker = CodeMarker::markerForFileName(node->location().filePath()); QString title = "Quality Assurance Page for " + defaultModuleName(); - QString t = "Quality assurance information for checking the " + defaultModuleName() + " documentation."; + QString t = "Quality assurance information for checking the " + defaultModuleName() + + " documentation."; generateHeader(title, node, marker); generateTitle(title, Text() << t, LargeSubTitle, node, marker); @@ -366,30 +330,27 @@ void HtmlGenerator::generateQAPage() << "class=\"even\">Destination Module" << "Link Count\n"; QString fileName; - for (int i = 0; i< strings.size(); ++i) { + for (int i = 0; i < strings.size(); ++i) { fileName = generateLinksToLinksPage(strings.at(i), marker); out() << "" - << "" - << strings.at(i) << "" - << "" << counts.at(i) - << "\n"; + << "" << strings.at(i) << "" + << "" << counts.at(i) << "\n"; } int count = 0; fileName = generateLinksToBrokenLinksPage(marker, count); if (count != 0) { out() << "" << "" - << "Broken Links" << "" - << "" << count - << "\n"; - + << "Broken Links" + << "" + << "" << count << "\n"; } out() << "\n"; t = "The Optimal \"depends\" Variable"; out() << "

          " << protectEnc(t) << "

          \n"; - t = "Consider replacing the depends variable in " + defaultModuleName().toLower() + - ".qdocconf with this one, if the two are not identical:"; + t = "Consider replacing the depends variable in " + defaultModuleName().toLower() + + ".qdocconf with this one, if the two are not identical:"; out() << "

          " << protectEnc(t) << "

          \n"; out() << "

          " << protectEnc(depends) << "

          \n"; } @@ -400,20 +361,14 @@ void HtmlGenerator::generateQAPage() /*! Generate an html file with the contents of a C++ or QML source file. */ -void HtmlGenerator::generateExampleFilePage(const Node *en, - const QString &file, - CodeMarker *marker) +void HtmlGenerator::generateExampleFilePage(const Node *en, const QString &file, CodeMarker *marker) { SubTitleSize subTitleSize = LargeSubTitle; QString fullTitle = en->fullTitle(); beginFilePage(en, linkForExampleFile(file, en)); generateHeader(fullTitle, en, marker); - generateTitle(fullTitle, - Text() << en->subtitle(), - subTitleSize, - en, - marker); + generateTitle(fullTitle, Text() << en->subtitle(), subTitleSize, en, marker); Text text; Quoter quoter; @@ -441,14 +396,15 @@ QString HtmlGenerator::generateLinksToLinksPage(const QString &module, CodeMarke QString title = "Links from " + defaultModuleName() + " to " + module; generateHeader(title, node, marker); generateTitle(title, Text(), SmallSubTitle, node, marker); - out() << "

          This is a list of links from " << defaultModuleName() - << " to " << module << ". "; + out() << "

          This is a list of links from " << defaultModuleName() << " to " << module << ". "; out() << "Click on a link to go to the location of the link. The link is marked "; out() << "with red asterisks. "; out() << "Click on the marked link to see if it goes to the right place.

          \n"; const TargetList *tlist = qdb_->getTargetList(module); if (tlist) { - out() << "\n"; + out() << "
          Link to link...In file...Somewhere after line number...
          \n"; for (const TargetLoc *t : *tlist) { // e.g.: Layout Management out() << ""; - } - else { + } else { out() << "\n"; inTableHeader_ = false; } @@ -1184,21 +1088,19 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark case Atom::TableRowRight: out() << "\n"; break; - case Atom::TableItemLeft: - { + case Atom::TableItemLeft: { if (inTableHeader_) out() << ""; @@ -1237,8 +1138,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark out() << "<Missing HTML>"; break; case Atom::UnknownCommand: - out() << "\\" << protectEnc(atom->string()) - << ""; + out() << "\\" << protectEnc(atom->string()) << ""; break; case Atom::QmlText: case Atom::EndQmlText: @@ -1280,8 +1180,7 @@ void HtmlGenerator::generateCppReferencePage(Aggregate *aggregate, CodeMarker *m ns = static_cast(aggregate); summarySections = §ions.stdSummarySections(); detailsSections = §ions.stdDetailsSections(); - } - else if (aggregate->isClassNode()) { + } else if (aggregate->isClassNode()) { rawTitle = aggregate->plainName(); fullTitle = aggregate->plainFullName(); if (aggregate->isStruct()) @@ -1291,8 +1190,7 @@ void HtmlGenerator::generateCppReferencePage(Aggregate *aggregate, CodeMarker *m title = rawTitle + " " + word; summarySections = §ions.stdCppClassSummarySections(); detailsSections = §ions.stdCppClassDetailsSections(); - } - else if (aggregate->isHeader()) { + } else if (aggregate->isHeader()) { title = fullTitle = rawTitle = aggregate->fullTitle(); summarySections = §ions.stdSummarySections(); detailsSections = §ions.stdDetailsSections(); @@ -1302,9 +1200,9 @@ void HtmlGenerator::generateCppReferencePage(Aggregate *aggregate, CodeMarker *m if (rawTitle != fullTitle) { if (aggregate->parent()->isClassNode()) { QString word2 = aggregate->parent()->typeWord(false); - subtitleText << word << " " << rawTitle << " is declared in " << word2 - << " " << Atom(Atom::AutoLink, aggregate->parent()->plainName()) - << "." << Atom(Atom::LineBreak); + subtitleText << word << " " << rawTitle << " is declared in " << word2 << " " + << Atom(Atom::AutoLink, aggregate->parent()->plainName()) << "." + << Atom(Atom::LineBreak); } else { subtitleText << "(" << Atom(Atom::AutoLink, fullTitle) << ")" << Atom(Atom::LineBreak); } @@ -1321,14 +1219,12 @@ void HtmlGenerator::generateCppReferencePage(Aggregate *aggregate, CodeMarker *m << ns->tree()->camelCaseModuleName() << ". The full namespace is " << "documented in module " << NS->tree()->camelCaseModuleName() << Atom(Atom::LinkNode, CodeMarker::stringForNode(NS)) - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) - << Atom(Atom::String, " here.") + << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) << Atom(Atom::String, " here.") << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); out() << "

          "; generateText(brief, ns, marker); out() << "

          \n"; - } - else + } else generateBrief(aggregate, marker); if (!aggregate->parent()->isClassNode()) generateRequisites(aggregate, marker); @@ -1398,11 +1294,14 @@ void HtmlGenerator::generateCppReferencePage(Aggregate *aggregate, CodeMarker *m QString command = "documentation"; if (aggregate->isClassNode()) command = "\'\\class\' comment"; - aggregate->location().warning(tr("No %1 for '%2'").arg(command).arg(aggregate->plainSignature())); + aggregate->location().warning( + tr("No %1 for '%2'").arg(command).arg(aggregate->plainSignature())); } else { generateExtractionMark(aggregate, DetailedDescriptionMark); out() << "
          \n" // QTBUG-9504 - << "

          " << "Detailed Description" << "

          \n"; + << "

          " + << "Detailed Description" + << "

          \n"; generateBody(aggregate, marker); out() << "
          \n"; // QTBUG-9504 generateAlsoList(aggregate, marker); @@ -1410,7 +1309,7 @@ void HtmlGenerator::generateCppReferencePage(Aggregate *aggregate, CodeMarker *m generateExtractionMark(aggregate, EndMark); } - for (const auto §ion :qAsConst(*detailsSections)) { + for (const auto §ion : qAsConst(*detailsSections)) { bool headerGenerated = false; if (section.isEmpty()) continue; @@ -1442,8 +1341,7 @@ void HtmlGenerator::generateCppReferencePage(Aggregate *aggregate, CodeMarker *m names.clear(); } else if (member->isProperty()) { const PropertyNode *prop = reinterpret_cast(member); - if (!prop->getters().isEmpty() && - !names.contains(prop->getters().first()->name())) + if (!prop->getters().isEmpty() && !names.contains(prop->getters().first()->name())) names << prop->getters().first()->name(); if (!prop->setters().isEmpty()) names << prop->setters().first()->name(); @@ -1458,10 +1356,9 @@ void HtmlGenerator::generateCppReferencePage(Aggregate *aggregate, CodeMarker *m const auto &enumItemNameList = enume->doc().enumItemNames(); const auto &omitEnumItemNameList = enume->doc().omitEnumItemNames(); const auto items = QSet(enumItemNameList.cbegin(), enumItemNameList.cend()) - - QSet(omitEnumItemNameList.cbegin(), omitEnumItemNameList.cend()); + - QSet(omitEnumItemNameList.cbegin(), omitEnumItemNameList.cend()); for (const QString &enumName : items) { - names << plainCode(marker->markedUpEnumValue(enumName, - enume)); + names << plainCode(marker->markedUpEnumValue(enumName, enume)); } } } @@ -1506,7 +1403,9 @@ void HtmlGenerator::generateProxyPage(Aggregate *aggregate, CodeMarker *marker) if (!aggregate->doc().isEmpty()) { generateExtractionMark(aggregate, DetailedDescriptionMark); out() << "
          \n" // QTBUG-9504 - << "

          " << "Detailed Description" << "

          \n"; + << "

          " + << "Detailed Description" + << "

          \n"; generateBody(aggregate, marker); out() << "
          \n"; // QTBUG-9504 generateAlsoList(aggregate, marker); @@ -1546,8 +1445,10 @@ void HtmlGenerator::generateProxyPage(Aggregate *aggregate, CodeMarker *marker) names << enume->flagsType()->name(); const auto &enumItemNameList = enume->doc().enumItemNames(); const auto &omitEnumItemNameList = enume->doc().omitEnumItemNames(); - const auto items = QSet(enumItemNameList.cbegin(), enumItemNameList.cend()) - - QSet(omitEnumItemNameList.cbegin(), omitEnumItemNameList.cend()); + const auto items = + QSet(enumItemNameList.cbegin(), enumItemNameList.cend()) + - QSet(omitEnumItemNameList.cbegin(), + omitEnumItemNameList.cend()); for (const QString &enumName : items) names << plainCode(marker->markedUpEnumValue(enumName, enume)); } @@ -1601,8 +1502,7 @@ void HtmlGenerator::generateQmlTypePage(QmlTypeNode *qcn, CodeMarker *marker) for (const auto §ion : stdQmlTypeSummarySections) { if (!section.isEmpty()) { QString ref = registerRef(section.title().toLower()); - out() << "" << divNavTop << '\n'; + out() << "" << divNavTop << '\n'; out() << "

          " << protectEnc(section.title()) << "

          \n"; generateQmlSummary(section.members(), qcn, marker); } @@ -1611,7 +1511,9 @@ void HtmlGenerator::generateQmlTypePage(QmlTypeNode *qcn, CodeMarker *marker) generateExtractionMark(qcn, DetailedDescriptionMark); QString detailsRef = registerRef("details"); out() << "" << divNavTop << '\n'; - out() << "

          " << "Detailed Description" << "

          \n"; + out() << "

          " + << "Detailed Description" + << "

          \n"; generateBody(qcn, marker); ClassNode *cn = qcn->classNode(); if (cn) @@ -1651,27 +1553,23 @@ void HtmlGenerator::generateQmlBasicTypePage(QmlBasicTypeNode *qbtn, CodeMarker generateHeader(htmlTitle, qbtn, marker); Sections sections(qbtn); - generateTableOfContents(qbtn,marker,§ions.stdQmlTypeSummarySections()); + generateTableOfContents(qbtn, marker, §ions.stdQmlTypeSummarySections()); generateKeywordAnchors(qbtn); - generateTitle(htmlTitle, - Text() << qbtn->subtitle(), - subTitleSize, - qbtn, - marker); + generateTitle(htmlTitle, Text() << qbtn->subtitle(), subTitleSize, qbtn, marker); const QVector
          &stdQmlTypeSummarySections = sections.stdQmlTypeSummarySections(); for (const auto §ion : stdQmlTypeSummarySections) { if (!section.isEmpty()) { QString ref = registerRef(section.title().toLower()); - out() << "" << divNavTop << '\n'; + out() << "" << divNavTop << '\n'; out() << "

          " << protectEnc(section.title()) << "

          \n"; generateQmlSummary(section.members(), qbtn, marker); } } generateExtractionMark(qbtn, DetailedDescriptionMark); - out() << "
          \n"; // QTBUG-9504 + out() << "
          \n"; // QTBUG-9504 generateBody(qbtn, marker); out() << "
          \n"; // QTBUG-9504 @@ -1707,20 +1605,17 @@ void HtmlGenerator::generatePageNode(PageNode *pn, CodeMarker *marker) Don't generate a TOC for the home page. */ if ((pn->name() != QLatin1String("index.html"))) - generateTableOfContents(pn,marker,nullptr); + generateTableOfContents(pn, marker, nullptr); generateKeywordAnchors(pn); - generateTitle(fullTitle, - Text() << pn->subtitle(), - subTitleSize, - pn, - marker); + generateTitle(fullTitle, Text() << pn->subtitle(), subTitleSize, pn, marker); if (pn->isExample()) { generateBrief(pn, marker, nullptr, false); } generateExtractionMark(pn, DetailedDescriptionMark); - out() << "
          \n"; // QTBUG-9504 + out() << "
          \n"; // QTBUG-9504 generateBody(pn, marker); out() << "
          \n"; // QTBUG-9504 @@ -1740,7 +1635,7 @@ void HtmlGenerator::generateCollectionNode(CollectionNode *cn, CodeMarker *marke QString ref; generateHeader(fullTitle, cn, marker); - generateTableOfContents(cn,marker, nullptr); + generateTableOfContents(cn, marker, nullptr); generateKeywordAnchors(cn); generateTitle(fullTitle, Text() << cn->subtitle(), subTitleSize, cn, marker); @@ -1775,11 +1670,13 @@ void HtmlGenerator::generateCollectionNode(CollectionNode *cn, CodeMarker *marke ref = registerRef("details"); out() << "" << divNavTop << '\n'; out() << "
          \n"; // QTBUG-9504 - out() << "

          " << "Detailed Description" << "

          \n"; - } - else { + out() << "

          " + << "Detailed Description" + << "

          \n"; + } else { generateExtractionMark(cn, DetailedDescriptionMark); - out() << "
          \n"; // QTBUG-9504 + out() << "
          \n"; // QTBUG-9504 } generateBody(cn, marker); @@ -1838,10 +1735,8 @@ QString HtmlGenerator::fileExtension() const /*! Output navigation list in the html file. */ -void HtmlGenerator::generateNavigationBar(const QString &title, - const Node *node, - CodeMarker *marker, - const QString &buildversion, +void HtmlGenerator::generateNavigationBar(const QString &title, const Node *node, + CodeMarker *marker, const QString &buildversion, bool tableItems) { if (noNavigationBar || node == nullptr) @@ -1850,63 +1745,47 @@ void HtmlGenerator::generateNavigationBar(const QString &title, Text navigationbar; // Set list item types based on the navigation bar type - Atom::AtomType itemLeft = tableItems ? - Atom::TableItemLeft : Atom::ListItemLeft; - Atom::AtomType itemRight = tableItems ? - Atom::TableItemRight : Atom::ListItemRight; + Atom::AtomType itemLeft = tableItems ? Atom::TableItemLeft : Atom::ListItemLeft; + Atom::AtomType itemRight = tableItems ? Atom::TableItemRight : Atom::ListItemRight; if (hometitle == title) return; if (!homepage.isEmpty()) - navigationbar << Atom(itemLeft) - << Atom(Atom::NavLink, homepage) + navigationbar << Atom(itemLeft) << Atom(Atom::NavLink, homepage) << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) << Atom(Atom::String, hometitle) - << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) - << Atom(itemRight); + << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) << Atom(itemRight); if (!landingpage.isEmpty() && landingtitle != title) - navigationbar << Atom(itemLeft) - << Atom(Atom::NavLink, landingpage) - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) - << Atom(Atom::String, landingtitle) - << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) - << Atom(itemRight); + navigationbar << Atom(itemLeft) << Atom(Atom::NavLink, landingpage) + << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) + << Atom(Atom::String, landingtitle) + << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) << Atom(itemRight); if (node->isClassNode()) { if (!cppclassespage.isEmpty() && !cppclassestitle.isEmpty()) - navigationbar << Atom(itemLeft) - << Atom(Atom::NavLink, cppclassespage) - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) - << Atom(Atom::String, cppclassestitle) - << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) - << Atom(itemRight); + navigationbar << Atom(itemLeft) << Atom(Atom::NavLink, cppclassespage) + << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) + << Atom(Atom::String, cppclassestitle) + << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) << Atom(itemRight); if (!node->name().isEmpty()) - navigationbar << Atom(itemLeft) - << Atom(Atom::String, node->name()) - << Atom(itemRight); - } - else if (node->isQmlType() || node->isQmlBasicType() || - node->isJsType() || node->isJsBasicType()) { + navigationbar << Atom(itemLeft) << Atom(Atom::String, node->name()) << Atom(itemRight); + } else if (node->isQmlType() || node->isQmlBasicType() || node->isJsType() + || node->isJsBasicType()) { if (!qmltypespage.isEmpty() && !qmltypestitle.isEmpty()) - navigationbar << Atom(itemLeft) - << Atom(Atom::NavLink, qmltypespage) + navigationbar << Atom(itemLeft) << Atom(Atom::NavLink, qmltypespage) << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) << Atom(Atom::String, qmltypestitle) - << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) - << Atom(itemRight) - << Atom(itemLeft) - << Atom(Atom::String, title) - << Atom(itemRight); - } - else { + << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) << Atom(itemRight) + << Atom(itemLeft) << Atom(Atom::String, title) << Atom(itemRight); + } else { if (node->isAggregate()) { QStringList groups = static_cast(node)->groupNames(); if (groups.length() == 1) { - const Node *groupNode = qdb_->findNodeByNameAndType(QStringList(groups[0]), &Node::isGroup); + const Node *groupNode = + qdb_->findNodeByNameAndType(QStringList(groups[0]), &Node::isGroup); if (groupNode && !groupNode->title().isEmpty()) { - navigationbar << Atom(itemLeft) - << Atom(Atom::NavLink, groupNode->name()) + navigationbar << Atom(itemLeft) << Atom(Atom::NavLink, groupNode->name()) << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) << Atom(Atom::String, groupNode->title()) << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) @@ -1915,9 +1794,7 @@ void HtmlGenerator::generateNavigationBar(const QString &title, } } if (!navigationbar.isEmpty()) { - navigationbar << Atom(itemLeft) - << Atom(Atom::String, title) - << Atom(itemRight); + navigationbar << Atom(itemLeft) << Atom(Atom::String, title) << Atom(itemRight); } } @@ -1928,7 +1805,7 @@ void HtmlGenerator::generateNavigationBar(const QString &title, navigationbar.clear(); - if (tableItems) { + if (tableItems) { out() << "
          Link to link...In file...Somewhere after line number...
          "; @@ -490,7 +446,9 @@ QString HtmlGenerator::generateLinksToBrokenLinksPage(CodeMarker *marker, int &c out() << "

          This is a list of broken links in " << defaultModuleName() << ". "; out() << "Click on a link to go to the broken link. "; out() << "The link's target could not be found.

          \n"; - out() << "\n"; + out() << "
          Link to broken link...In file...Somewhere after line number...
          \n"; for (const TargetLoc *t : *tlist) { // e.g.: Layout Management out() << "
          Link to broken link...In " + "file...Somewhere after line number...
          "; @@ -518,42 +476,40 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark static bool in_para = false; switch (atom->type()) { - case Atom::AutoLink: - { + case Atom::AutoLink: { QString name = atom->string(); if (relative && relative->name() == name.replace(QLatin1String("()"), QLatin1String())) { out() << protectEnc(atom->string()); break; } } - Q_FALLTHROUGH(); + Q_FALLTHROUGH(); case Atom::NavAutoLink: if (!inLink_ && !inContents_ && !inSectionHeading_) { const Node *node = nullptr; QString link = getAutoLink(atom, relative, &node); if (link.isEmpty()) { if (autolinkErrors()) - relative->doc().location().warning(tr("Can't autolink to '%1'").arg(atom->string())); - } - else if (node && node->isObsolete()) { + relative->doc().location().warning( + tr("Can't autolink to '%1'").arg(atom->string())); + } else if (node && node->isObsolete()) { if ((relative->parent() != node) && !relative->isObsolete()) link.clear(); } if (link.isEmpty()) { out() << protectEnc(atom->string()); - } - else { + } else { if (Generator::writeQaPages() && node && (atom->type() != Atom::NavAutoLink)) { QString text = atom->string(); QString target = qdb_->getNewLinkTarget(relative, node, outFileName(), text); - out() << ""; + out() << ""; } beginLink(link, node, relative); generateLink(atom, marker); endLink(); } - } - else { + } else { out() << protectEnc(atom->string()); } break; @@ -592,12 +548,16 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark break; case Atom::Qml: out() << "
          "
          -              << trimmedTrailing(highlightedCode(indent(codeIndent,atom->string()),relative, false, Node::QML), codePrefix, codeSuffix)
          +              << trimmedTrailing(highlightedCode(indent(codeIndent, atom->string()), relative,
          +                                                 false, Node::QML),
          +                                 codePrefix, codeSuffix)
                         << "
          \n"; break; case Atom::JavaScript: out() << "
          "
          -              << trimmedTrailing(highlightedCode(indent(codeIndent,atom->string()),relative, false, Node::JS), codePrefix, codeSuffix)
          +              << trimmedTrailing(highlightedCode(indent(codeIndent, atom->string()), relative,
          +                                                 false, Node::JS),
          +                                 codePrefix, codeSuffix)
                         << "
          \n"; break; case Atom::CodeNew: @@ -605,7 +565,8 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark Q_FALLTHROUGH(); case Atom::Code: out() << "
          "
          -              << trimmedTrailing(highlightedCode(indent(codeIndent,atom->string()),relative), codePrefix, codeSuffix)
          +              << trimmedTrailing(highlightedCode(indent(codeIndent, atom->string()), relative),
          +                                 codePrefix, codeSuffix)
                         << "
          \n"; break; case Atom::CodeOld: @@ -613,7 +574,8 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark Q_FALLTHROUGH(); case Atom::CodeBad: out() << "
          "
          -              << trimmedTrailing(protectEnc(plainCode(indent(codeIndent,atom->string()))), codePrefix, codeSuffix)
          +              << trimmedTrailing(protectEnc(plainCode(indent(codeIndent, atom->string()))),
          +                                 codePrefix, codeSuffix)
                         << "
          \n"; break; case Atom::DivLeft: @@ -644,15 +606,14 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark case Atom::FormattingLeft: if (atom->string().startsWith("span ")) { out() << '<' + atom->string() << '>'; - } - else + } else out() << formattingLeftMap()[atom->string()]; if (atom->string() == ATOM_FORMATTING_PARAMETER) { if (atom->next() != nullptr && atom->next()->type() == Atom::String) { QRegExp subscriptRegExp("([a-z]+)_([0-9n])"); if (subscriptRegExp.exactMatch(atom->next()->string())) { - out() << subscriptRegExp.cap(1) << "" - << subscriptRegExp.cap(2) << ""; + out() << subscriptRegExp.cap(1) << "" << subscriptRegExp.cap(2) + << ""; skipAhead = 1; } } @@ -661,45 +622,35 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark case Atom::FormattingRight: if (atom->string() == ATOM_FORMATTING_LINK) { endLink(); - } - else if (atom->string().startsWith("span ")) { + } else if (atom->string().startsWith("span ")) { out() << ""; - } - else { + } else { out() << formattingRightMap()[atom->string()]; } break; - case Atom::AnnotatedList: - { - const CollectionNode *cn = qdb_->getCollectionNode(atom->string(), Node::Group); - if (cn) - generateList(cn, marker, atom->string()); - } - break; + case Atom::AnnotatedList: { + const CollectionNode *cn = qdb_->getCollectionNode(atom->string(), Node::Group); + if (cn) + generateList(cn, marker, atom->string()); + } break; case Atom::GeneratedList: if (atom->string() == QLatin1String("annotatedclasses")) { generateAnnotatedList(relative, marker, qdb_->getCppClasses()); - } - else if (atom->string() == QLatin1String("annotatedexamples")) { + } else if (atom->string() == QLatin1String("annotatedexamples")) { generateAnnotatedLists(relative, marker, qdb_->getExamples()); - } - else if (atom->string() == QLatin1String("annotatedattributions")) { + } else if (atom->string() == QLatin1String("annotatedattributions")) { generateAnnotatedLists(relative, marker, qdb_->getAttributions()); - } - else if (atom->string() == QLatin1String("classes")) { + } else if (atom->string() == QLatin1String("classes")) { generateCompactList(Generic, relative, qdb_->getCppClasses(), true, QStringLiteral("")); - } - else if (atom->string().contains("classes ")) { + } else if (atom->string().contains("classes ")) { QString rootName = atom->string().mid(atom->string().indexOf("classes") + 7).trimmed(); generateCompactList(Generic, relative, qdb_->getCppClasses(), true, rootName); - } - else if (atom->string() == QLatin1String("qmlbasictypes")) { - generateCompactList(Generic, relative, qdb_->getQmlBasicTypes(), true, QStringLiteral("")); - } - else if (atom->string() == QLatin1String("qmltypes")) { + } else if (atom->string() == QLatin1String("qmlbasictypes")) { + generateCompactList(Generic, relative, qdb_->getQmlBasicTypes(), true, + QStringLiteral("")); + } else if (atom->string() == QLatin1String("qmltypes")) { generateCompactList(Generic, relative, qdb_->getQmlTypes(), true, QStringLiteral("")); - } - else if ((idx = atom->string().indexOf(QStringLiteral("bymodule"))) != -1) { + } else if ((idx = atom->string().indexOf(QStringLiteral("bymodule"))) != -1) { QString moduleName = atom->string().mid(idx + 8).trimmed(); Node::NodeType type = typeFromString(atom); QDocDatabase *qdb = QDocDatabase::qdocDB(); @@ -711,135 +662,119 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark if (!m.isEmpty()) { generateAnnotatedList(relative, marker, m); } - } - else + } else generateAnnotatedList(relative, marker, cn->members()); } - } - else if (atom->string().startsWith("examplefiles") || - atom->string().startsWith("exampleimages")) { + } else if (atom->string().startsWith("examplefiles") + || atom->string().startsWith("exampleimages")) { if (relative->isExample()) { qDebug() << "GENERATE FILE LIST CALLED" << relative->name() << atom->string(); - } - else - relative->location().warning(QString("'\\generatelist \1' can only be used with '\\example' topic command").arg(atom->string())); - } - else if (atom->string() == QLatin1String("classhierarchy")) { + } else + relative->location().warning(QString("'\\generatelist \1' can only be used with " + "'\\example' topic command") + .arg(atom->string())); + } else if (atom->string() == QLatin1String("classhierarchy")) { generateClassHierarchy(relative, qdb_->getCppClasses()); - } - else if (atom->string() == QLatin1String("obsoleteclasses")) { - generateCompactList(Generic, relative, qdb_->getObsoleteClasses(), false, QStringLiteral("Q")); - } - else if (atom->string() == QLatin1String("obsoleteqmltypes")) { - generateCompactList(Generic, relative, qdb_->getObsoleteQmlTypes(), false, QStringLiteral("")); - } - else if (atom->string() == QLatin1String("obsoletecppmembers")) { - generateCompactList(Obsolete, relative, qdb_->getClassesWithObsoleteMembers(), false, QStringLiteral("Q")); - } - else if (atom->string() == QLatin1String("obsoleteqmlmembers")) { - generateCompactList(Obsolete, relative, qdb_->getQmlTypesWithObsoleteMembers(), false, QStringLiteral("")); - } - else if (atom->string() == QLatin1String("functionindex")) { + } else if (atom->string() == QLatin1String("obsoleteclasses")) { + generateCompactList(Generic, relative, qdb_->getObsoleteClasses(), false, + QStringLiteral("Q")); + } else if (atom->string() == QLatin1String("obsoleteqmltypes")) { + generateCompactList(Generic, relative, qdb_->getObsoleteQmlTypes(), false, + QStringLiteral("")); + } else if (atom->string() == QLatin1String("obsoletecppmembers")) { + generateCompactList(Obsolete, relative, qdb_->getClassesWithObsoleteMembers(), false, + QStringLiteral("Q")); + } else if (atom->string() == QLatin1String("obsoleteqmlmembers")) { + generateCompactList(Obsolete, relative, qdb_->getQmlTypesWithObsoleteMembers(), false, + QStringLiteral("")); + } else if (atom->string() == QLatin1String("functionindex")) { generateFunctionIndex(relative); - } - else if (atom->string() == QLatin1String("attributions")) { + } else if (atom->string() == QLatin1String("attributions")) { generateAnnotatedList(relative, marker, qdb_->getAttributions()); - } - else if (atom->string() == QLatin1String("legalese")) { + } else if (atom->string() == QLatin1String("legalese")) { generateLegaleseList(relative, marker); - } - else if (atom->string() == QLatin1String("overviews")) { + } else if (atom->string() == QLatin1String("overviews")) { generateList(relative, marker, "overviews"); - } - else if (atom->string() == QLatin1String("cpp-modules")) { + } else if (atom->string() == QLatin1String("cpp-modules")) { generateList(relative, marker, "cpp-modules"); - } - else if (atom->string() == QLatin1String("qml-modules")) { + } else if (atom->string() == QLatin1String("qml-modules")) { generateList(relative, marker, "qml-modules"); - } - else if (atom->string() == QLatin1String("namespaces")) { + } else if (atom->string() == QLatin1String("namespaces")) { generateAnnotatedList(relative, marker, qdb_->getNamespaces()); - } - else if (atom->string() == QLatin1String("related")) { + } else if (atom->string() == QLatin1String("related")) { generateList(relative, marker, "related"); } else { const CollectionNode *cn = qdb_->getCollectionNode(atom->string(), Node::Group); if (cn) { if (!generateGroupList(const_cast(cn))) - relative->location().warning(QString("'\\generatelist \1' group is empty").arg(atom->string())); + relative->location().warning( + QString("'\\generatelist \1' group is empty").arg(atom->string())); } else { - relative->location().warning(QString("'\\generatelist \1' no such group").arg(atom->string())); + relative->location().warning( + QString("'\\generatelist \1' no such group").arg(atom->string())); } } break; - case Atom::SinceList: - { - const NodeMultiMap &nsmap = qdb_->getSinceMap(atom->string()); - if (nsmap.isEmpty()) - break; + case Atom::SinceList: { + const NodeMultiMap &nsmap = qdb_->getSinceMap(atom->string()); + if (nsmap.isEmpty()) + break; - const NodeMap &ncmap = qdb_->getClassMap(atom->string()); - const NodeMap &nqcmap = qdb_->getQmlTypeMap(atom->string()); + const NodeMap &ncmap = qdb_->getClassMap(atom->string()); + const NodeMap &nqcmap = qdb_->getQmlTypeMap(atom->string()); - Sections sections(nsmap); - out() << "
            \n"; - const QVector
            sinceSections = sections.sinceSections(); - for (const auto §ion : sinceSections) { - if (!section.members().isEmpty()) { - out() << "
          • " - << "" - << section.title() - << "
          • \n"; - } + Sections sections(nsmap); + out() << "
              \n"; + const QVector
              sinceSections = sections.sinceSections(); + for (const auto §ion : sinceSections) { + if (!section.members().isEmpty()) { + out() << "
            • " + << "" + << section.title() << "
            • \n"; } - out() << "
            \n"; + } + out() << "
          \n"; - int idx = 0; - for (const auto §ion : sinceSections) { - if (!section.members().isEmpty()) { - out() << "\n"; - out() << "

          " << protectEnc(section.title()) << "

          \n"; - if (idx == Sections::SinceClasses) - generateCompactList(Generic, nullptr, ncmap, false, QStringLiteral("Q")); - else if (idx == Sections::SinceQmlTypes) - generateCompactList(Generic, nullptr, nqcmap, false, QStringLiteral("")); - else if (idx == Sections::SinceMemberFunctions) { - ParentMaps parentmaps; - ParentMaps::iterator pmap; - const QVector members = section.members(); - for (const auto &member : members) { - Node *parent = (*member).parent(); - pmap = parentmaps.find(parent); - if (pmap == parentmaps.end()) - pmap = parentmaps.insert(parent, NodeMultiMap()); - pmap->insert(member->name(), member); - } - for (auto map = parentmaps.begin(); map != parentmaps.end(); ++map) { - NodeVector nv = map->values().toVector(); - out() << "

          Class "; - - out() << ""; - QStringList pieces = map.key()->fullName().split("::"); - out() << protectEnc(pieces.last()); - out() << "" << ":

          \n"; - - generateSection(nv, nullptr, marker); - out() << "
          "; - } - } else { - generateSection(section.members(), nullptr, marker); + int idx = 0; + for (const auto §ion : sinceSections) { + if (!section.members().isEmpty()) { + out() << "\n"; + out() << "

          " << protectEnc(section.title()) << "

          \n"; + if (idx == Sections::SinceClasses) + generateCompactList(Generic, nullptr, ncmap, false, QStringLiteral("Q")); + else if (idx == Sections::SinceQmlTypes) + generateCompactList(Generic, nullptr, nqcmap, false, QStringLiteral("")); + else if (idx == Sections::SinceMemberFunctions) { + ParentMaps parentmaps; + ParentMaps::iterator pmap; + const QVector members = section.members(); + for (const auto &member : members) { + Node *parent = (*member).parent(); + pmap = parentmaps.find(parent); + if (pmap == parentmaps.end()) + pmap = parentmaps.insert(parent, NodeMultiMap()); + pmap->insert(member->name(), member); } + for (auto map = parentmaps.begin(); map != parentmaps.end(); ++map) { + NodeVector nv = map->values().toVector(); + out() << "

          Class "; + + out() << ""; + QStringList pieces = map.key()->fullName().split("::"); + out() << protectEnc(pieces.last()); + out() << "" + << ":

          \n"; + + generateSection(nv, nullptr, marker); + out() << "
          "; + } + } else { + generateSection(section.members(), nullptr, marker); } - ++idx; } + ++idx; } - break; + } break; case Atom::BR: out() << "
          \n"; break; @@ -847,8 +782,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark out() << "
          \n"; break; case Atom::Image: - case Atom::InlineImage: - { + case Atom::InlineImage: { QString fileName = imageFileName(relative, atom->string()); QString text; if (atom->next() != nullptr) @@ -857,10 +791,9 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark out() << "

          "; if (fileName.isEmpty()) { relative->location().warning(tr("Missing image: %1").arg(protectEnc(atom->string()))); - out() << "[Missing image " - << protectEnc(atom->string()) << "]"; - } - else { + out() << "[Missing image " << protectEnc(atom->string()) + << "]"; + } else { QString prefix; out() << "type() == Atom::Image) out() << "

          "; - } - break; + } break; case Atom::ImageText: break; case Atom::ImportantLeft: @@ -905,8 +837,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark out() << "
          "; break; case Atom::Link: - case Atom::NavLink: - { + case Atom::NavLink: { inObsoleteLink = false; const Node *node = nullptr; QString link = getLink(atom, relative, &node); @@ -917,8 +848,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark QString target = qdb_->getNewLinkTarget(relative, node, outFileName(), text, true); out() << ""; } - } - else { + } else { if (Generator::writeQaPages() && node && (atom->type() != Atom::NavLink)) { QString text = atom->next()->next()->string(); QString target = qdb_->getNewLinkTarget(relative, node, outFileName(), text); @@ -928,34 +858,27 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark } beginLink(link, node, relative); skipAhead = 1; - } - break; - case Atom::ExampleFileLink: - { + } break; + case Atom::ExampleFileLink: { QString link = linkForExampleFile(atom->string(), relative); if (link.isEmpty() && !noLinkErrors()) relative->doc().location().warning(tr("Can't link to '%1'").arg(atom->string())); beginLink(link); skipAhead = 1; - } - break; - case Atom::ExampleImageLink: - { + } break; + case Atom::ExampleImageLink: { QString link = atom->string(); if (link.isEmpty() && !noLinkErrors()) relative->doc().location().warning(tr("Can't link to '%1'").arg(atom->string())); link = "images/used-in-examples/" + link; beginLink(link); skipAhead = 1; - } - break; - case Atom::LinkNode: - { + } break; + case Atom::LinkNode: { const Node *node = CodeMarker::nodeForString(atom->string()); beginLink(linkForNode(node, relative), node, relative); skipAhead = 1; - } - break; + } break; case Atom::ListLeft: if (in_para) { out() << "

          \n"; @@ -963,11 +886,9 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark } if (atom->string() == ATOM_LIST_BULLET) { out() << "
            \n"; - } - else if (atom->string() == ATOM_LIST_TAG) { + } else if (atom->string() == ATOM_LIST_TAG) { out() << "
            \n"; - } - else if (atom->string() == ATOM_LIST_VALUE) { + } else if (atom->string() == ATOM_LIST_VALUE) { out() << "
            "; threeColumnEnumValueTable_ = isThreeColumnEnumValueTable(atom); if (threeColumnEnumValueTable_) { @@ -983,34 +904,29 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark out() << ""; out() << "\n"; + } else { + out() << "\n"; } - else { - out() << "\n"; - } - } - else { + } else { QString olType; if (atom->string() == ATOM_LIST_UPPERALPHA) { olType = "A"; - } - else if (atom->string() == ATOM_LIST_LOWERALPHA) { + } else if (atom->string() == ATOM_LIST_LOWERALPHA) { olType = "a"; - } - else if (atom->string() == ATOM_LIST_UPPERROMAN) { + } else if (atom->string() == ATOM_LIST_UPPERROMAN) { olType = "I"; - } - else if (atom->string() == ATOM_LIST_LOWERROMAN) { + } else if (atom->string() == ATOM_LIST_LOWERROMAN) { olType = "i"; - } - else { // (atom->string() == ATOM_LIST_NUMERIC) + } else { // (atom->string() == ATOM_LIST_NUMERIC) olType = "1"; } if (atom->next() != nullptr && atom->next()->string().toInt() > 1) { - out() << QString("
              ").arg(olType) - .arg(atom->next()->string()); - } - else + out() << QString("
                ") + .arg(olType) + .arg(atom->next()->string()); + } else out() << QString("
                  ").arg(olType); } break; @@ -1019,8 +935,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark case Atom::ListTagLeft: if (atom->string() == ATOM_LIST_TAG) { out() << "
                  "; - } - else { // (atom->string() == ATOM_LIST_VALUE) + } else { // (atom->string() == ATOM_LIST_VALUE) QPair pair = getAtomListValue(atom); skipAhead = pair.second; QString t = protectEnc(plainCode(marker->markedUpEnumValue(pair.first, relative))); @@ -1045,15 +960,13 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark case Atom::ListItemLeft: if (atom->string() == ATOM_LIST_TAG) { out() << "
                  "; - } - else if (atom->string() == ATOM_LIST_VALUE) { + } else if (atom->string() == ATOM_LIST_VALUE) { if (threeColumnEnumValueTable_) { out() << "
            \n"; - } - else { + } else { out() << "\n"; } break; case Atom::ListRight: if (atom->string() == ATOM_LIST_BULLET) { out() << "\n"; - } - else if (atom->string() == ATOM_LIST_TAG) { + } else if (atom->string() == ATOM_LIST_TAG) { out() << "\n"; - } - else if (atom->string() == ATOM_LIST_VALUE) { + } else if (atom->string() == ATOM_LIST_VALUE) { out() << "
            ValueDescription
            ConstantValue
            ConstantValue
            "; if (matchAhead(atom, Atom::ListItemRight)) out() << " "; } - } - else { + } else { out() << "
          • "; } if (matchAhead(atom, Atom::ParaLeft)) @@ -1062,25 +975,20 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark case Atom::ListItemRight: if (atom->string() == ATOM_LIST_TAG) { out() << "\n"; - } - else if (atom->string() == ATOM_LIST_VALUE) { + } else if (atom->string() == ATOM_LIST_VALUE) { out() << "
          • \n"; - } - else { + } else { out() << "\n"; } break; @@ -1096,7 +1004,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark out() << "

            \n"; in_para = false; } - //if (!matchAhead(atom, Atom::ListItemRight) && !matchAhead(atom, Atom::TableItemRight)) + // if (!matchAhead(atom, Atom::ListItemRight) && !matchAhead(atom, Atom::TableItemRight)) // out() << "

            \n"; break; case Atom::QuotationLeft: @@ -1116,8 +1024,8 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark break; case Atom::SectionHeadingLeft: { int unit = atom->string().toInt() + hOffset(relative); - out() << ""; + out() << ""; inSectionHeading_ = true; break; } @@ -1132,13 +1040,11 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark case Atom::String: if (inLink_ && !inContents_ && !inSectionHeading_) { generateLink(atom, marker); - } - else { + } else { out() << protectEnc(atom->string()); } break; - case Atom::TableLeft: - { + case Atom::TableLeft: { QPair pair = getTableWidthAttr(atom); QString attr = pair.second; QString width = pair.first; @@ -1153,8 +1059,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark out() << " width=\"" << width << '"'; out() << ">\n "; numTableRows_ = 0; - } - break; + } break; case Atom::TableRight: out() << "
          \n"; break; @@ -1167,8 +1072,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark if (matchAhead(atom, Atom::TableHeaderLeft)) { skipAhead = 1; out() << "\n
          count(); ++i) { + for (int i = 0; i < atom->count(); ++i) { if (i > 0) out() << ' '; QString p = atom->string(i); if (p.contains('=')) { out() << p; - } - else { + } else { QStringList spans = p.split(QLatin1Char(',')); if (spans.size() == 2) { if (spans.at(0) != "1") @@ -1215,8 +1117,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark } if (matchAhead(atom, Atom::ParaLeft)) skipAhead = 1; - } - break; + } break; case Atom::TableItemRight: if (inTableHeader_) out() << "
          \n" << ""; + const QString nodeRef = refForNode(scn); + out() << ""; out() << "\n"; } diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html index 949dc7868..3668112ee 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html @@ -46,7 +46,7 @@
          "; } else { @@ -1951,9 +1828,7 @@ void HtmlGenerator::generateNavigationBar(const QString &title, out() << "\n"; } -void HtmlGenerator::generateHeader(const QString &title, - const Node *node, - CodeMarker *marker) +void HtmlGenerator::generateHeader(const QString &title, const Node *node, CodeMarker *marker) { #ifndef QT_NO_TEXTCODEC out() << QString("\n").arg(outputEncoding); @@ -1967,25 +1842,22 @@ void HtmlGenerator::generateHeader(const QString &title, if (node && !node->doc().location().isEmpty()) out() << "\n"; - //determine the rest of the element content: "title | titleSuffix version" + // determine the rest of the <title> element content: "title | titleSuffix version" QString titleSuffix; if (!landingtitle.isEmpty()) { - //for normal pages: "title | landingtitle version" + // for normal pages: "title | landingtitle version" titleSuffix = landingtitle; - } - else if (!hometitle.isEmpty()) { + } else if (!hometitle.isEmpty()) { // for pages that set the homepage title but not landing page title: // "title | hometitle version" if (title != hometitle) titleSuffix = hometitle; - } - else if (!project.isEmpty()) { - //for projects outside of Qt or Qt 5: "title | project version" + } else if (!project.isEmpty()) { + // for projects outside of Qt or Qt 5: "title | project version" if (title != project) titleSuffix = project; - } - else - //default: "title | Qt version" + } else + // default: "title | Qt version" titleSuffix = QLatin1String("Qt "); if (title == titleSuffix) @@ -1996,10 +1868,7 @@ void HtmlGenerator::generateHeader(const QString &title, divider = QLatin1String(" | "); // Generating page title - out() << " <title>" - << protectEnc(title) - << divider - << titleSuffix; + out() << " <title>" << protectEnc(title) << divider << titleSuffix; // append a full version to the suffix if neither suffix nor title // include (a prefix of) version information @@ -2037,8 +1906,8 @@ void HtmlGenerator::generateHeader(const QString &title, refMap.clear(); if (node && !node->links().empty()) { - QPair<QString,QString> linkPair; - QPair<QString,QString> anchorPair; + QPair<QString, QString> linkPair; + QPair<QString, QString> anchorPair; const Node *linkNode; bool useSeparator = false; @@ -2052,8 +1921,7 @@ void HtmlGenerator::generateHeader(const QString &title, else anchorPair = anchorForNode(linkNode); - out() << " <link rel=\"prev\" href=\"" - << anchorPair.first << "\" />\n"; + out() << " <link rel=\"prev\" href=\"" << anchorPair.first << "\" />\n"; navigationLinks += "<a class=\"prevPage\" href=\"" + anchorPair.first + "\">"; if (linkPair.first == linkPair.second && !anchorPair.second.isEmpty()) @@ -2073,8 +1941,7 @@ void HtmlGenerator::generateHeader(const QString &title, else anchorPair = anchorForNode(linkNode); - out() << " <link rel=\"next\" href=\"" - << anchorPair.first << "\" />\n"; + out() << " <link rel=\"next\" href=\"" << anchorPair.first << "\" />\n"; if (useSeparator) navigationLinks += navigationSeparator; @@ -2095,8 +1962,7 @@ void HtmlGenerator::generateHeader(const QString &title, anchorPair = linkPair; else anchorPair = anchorForNode(linkNode); - out() << " <link rel=\"start\" href=\"" - << anchorPair.first << "\" />\n"; + out() << " <link rel=\"start\" href=\"" << anchorPair.first << "\" />\n"; } } @@ -2104,10 +1970,8 @@ void HtmlGenerator::generateHeader(const QString &title, out() << "<p class=\"naviNextPrevious headerNavi\">\n" << navigationLinks << "</p><p/>\n"; } -void HtmlGenerator::generateTitle(const QString &title, - const Text &subtitle, - SubTitleSize subTitleSize, - const Node *relative, +void HtmlGenerator::generateTitle(const QString &title, const Text &subtitle, + SubTitleSize subTitleSize, const Node *relative, CodeMarker *marker) { out() << QString(prologue).replace("\\" + COMMAND_VERSION, qdb_->version()); @@ -2152,35 +2016,31 @@ void HtmlGenerator::generateRequisites(Aggregate *aggregate, CodeMarker *marker) const QString instantiatedByText = "Instantiated By"; const QString qtVariableText = "qmake"; - //add the include files to the map + // add the include files to the map if (!aggregate->includeFiles().isEmpty()) { text.clear(); - text << highlightedCode(indent(codeIndent, marker->markedUpIncludes(aggregate->includeFiles())), - aggregate); + text << highlightedCode( + indent(codeIndent, marker->markedUpIncludes(aggregate->includeFiles())), aggregate); requisites.insert(headerText, text); } - //The order of the requisites matter + // The order of the requisites matter QStringList requisiteorder; - requisiteorder << headerText - << qtVariableText - << sinceText - << instantiatedByText - << inheritsText - << inheritedBytext; - - //add the since and project into the map + requisiteorder << headerText << qtVariableText << sinceText << instantiatedByText + << inheritsText << inheritedBytext; + + // add the since and project into the map if (!aggregate->since().isEmpty()) { text.clear(); - text << formatSince(aggregate) - << Atom::ParaRight; + text << formatSince(aggregate) << Atom::ParaRight; requisites.insert(sinceText, text); } if (aggregate->isClassNode() || aggregate->isNamespace()) { - //add the QT variable to the map + // add the QT variable to the map if (!aggregate->physicalModuleName().isEmpty()) { - const CollectionNode *cn = qdb_->getCollectionNode(aggregate->physicalModuleName(), Node::Module); + const CollectionNode *cn = + qdb_->getCollectionNode(aggregate->physicalModuleName(), Node::Module); if (cn && !cn->qtVariable().isEmpty()) { text.clear(); text << "QT += " + cn->qtVariable(); @@ -2198,10 +2058,9 @@ void HtmlGenerator::generateRequisites(Aggregate *aggregate, CodeMarker *marker) << Atom(Atom::String, classe->qmlElement()->name()) << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); requisites.insert(instantiatedByText, text); - } - //add the inherits to the map + // add the inherits to the map if (!classe->baseClasses().isEmpty()) { int index = 0; text.clear(); @@ -2212,8 +2071,7 @@ void HtmlGenerator::generateRequisites(Aggregate *aggregate, CodeMarker *marker) if (cls.access_ == Node::Protected) { text << " (protected)"; - } - else if (cls.access_ == Node::Private) { + } else if (cls.access_ == Node::Private) { text << " (private)"; } text << comma(index++, classe->baseClasses().count()); @@ -2224,7 +2082,7 @@ void HtmlGenerator::generateRequisites(Aggregate *aggregate, CodeMarker *marker) requisites.insert(inheritsText, text); } - //add the inherited-by to the map + // add the inherited-by to the map if (!classe->derivedClasses().isEmpty()) { text.clear(); text << Atom::ParaLeft; @@ -2236,16 +2094,16 @@ void HtmlGenerator::generateRequisites(Aggregate *aggregate, CodeMarker *marker) } if (!requisites.isEmpty()) { - //generate the table + // generate the table out() << "<div class=\"table\"><table class=\"alignedsummary\">\n"; for (auto it = requisiteorder.constBegin(); it != requisiteorder.constEnd(); ++it) { if (requisites.contains(*it)) { out() << "<tr>" - << "<td class=\"memItemLeft rightAlign topAlign\"> " - << *it << ":" - "</td><td class=\"memItemRight bottomAlign\"> "; + << "<td class=\"memItemLeft rightAlign topAlign\"> " << *it + << ":" + "</td><td class=\"memItemRight bottomAlign\"> "; if (*it == headerText) out() << requisites.value(*it).toString(); @@ -2275,9 +2133,10 @@ void HtmlGenerator::generateQmlRequisites(QmlTypeNode *qcn, CodeMarker *marker) const QString inheritsText = "Inherits:"; const QString instantiatesText = "Instantiates:"; - //add the module name and version to the map + // add the module name and version to the map QString logicalModuleVersion; - const CollectionNode *collection = qdb_->getCollectionNode(qcn->logicalModuleName(), qcn->nodeType()); + const CollectionNode *collection = + qdb_->getCollectionNode(qcn->logicalModuleName(), qcn->nodeType()); if (collection != nullptr) logicalModuleVersion = collection->logicalModuleVersion(); else @@ -2285,52 +2144,50 @@ void HtmlGenerator::generateQmlRequisites(QmlTypeNode *qcn, CodeMarker *marker) if (logicalModuleVersion.isEmpty() || qcn->logicalModuleName().isEmpty()) qcn->doc().location().warning(tr("Could not resolve QML import " - "statement for type '%1'").arg(qcn->name()), + "statement for type '%1'") + .arg(qcn->name()), tr("Maybe you forgot to use the " - "'\\%1' command?").arg(COMMAND_INQMLMODULE)); + "'\\%1' command?") + .arg(COMMAND_INQMLMODULE)); text.clear(); text << "import " + qcn->logicalModuleName() + QLatin1Char(' ') + logicalModuleVersion; requisites.insert(importText, text); - //add the since and project into the map + // add the since and project into the map if (!qcn->since().isEmpty()) { text.clear(); - text << formatSince(qcn) - << Atom::ParaRight; + text << formatSince(qcn) << Atom::ParaRight; requisites.insert(sinceText, text); } - //add the instantiates to the map + // add the instantiates to the map ClassNode *cn = qcn->classNode(); if (cn && !cn->isInternal()) { text.clear(); - text << Atom(Atom::LinkNode,CodeMarker::stringForNode(qcn)); + text << Atom(Atom::LinkNode, CodeMarker::stringForNode(qcn)); text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK); - text << Atom(Atom::LinkNode,CodeMarker::stringForNode(cn)); + text << Atom(Atom::LinkNode, CodeMarker::stringForNode(cn)); text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK); text << Atom(Atom::String, cn->name()); text << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); requisites.insert(instantiatesText, text); } - //add the inherits to the map + // add the inherits to the map QmlTypeNode *base = qcn->qmlBaseNode(); while (base && base->isInternal()) { base = base->qmlBaseNode(); } if (base) { text.clear(); - text << Atom::ParaLeft - << Atom(Atom::LinkNode,CodeMarker::stringForNode(base)) - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) - << Atom(Atom::String, base->name()) - << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) - << Atom::ParaRight; + text << Atom::ParaLeft << Atom(Atom::LinkNode, CodeMarker::stringForNode(base)) + << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) << Atom(Atom::String, base->name()) + << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK) << Atom::ParaRight; requisites.insert(inheritsText, text); } - //add the inherited-by to the map + // add the inherited-by to the map NodeList subs; QmlTypeNode::subclasses(qcn, subs); if (!subs.isEmpty()) { @@ -2342,27 +2199,22 @@ void HtmlGenerator::generateQmlRequisites(QmlTypeNode *qcn, CodeMarker *marker) requisites.insert(inheritedBytext, text); } - //The order of the requisites matter - const QStringList requisiteorder { - importText, - sinceText, - instantiatesText, - inheritsText, - inheritedBytext }; + // The order of the requisites matter + const QStringList requisiteorder { importText, sinceText, instantiatesText, inheritsText, + inheritedBytext }; if (!requisites.isEmpty()) { - //generate the table + // generate the table out() << "<div class=\"table\"><table class=\"alignedsummary\">\n"; for (const auto &requisite : requisiteorder) { if (requisites.contains(requisite)) { out() << "<tr>" - << "<td class=\"memItemLeft rightAlign topAlign\"> " - << requisite - << "</td><td class=\"memItemRight bottomAlign\"> "; + << "<td class=\"memItemLeft rightAlign topAlign\"> " << requisite + << "</td><td class=\"memItemRight bottomAlign\"> "; if (requisite == importText) - out()<<requisites.value(requisite).toString(); + out() << requisites.value(requisite).toString(); else generateText(requisites.value(requisite), qcn, marker); out() << "</td></tr>"; @@ -2372,15 +2224,16 @@ void HtmlGenerator::generateQmlRequisites(QmlTypeNode *qcn, CodeMarker *marker) } } -void HtmlGenerator::generateBrief(const Node *node, CodeMarker *marker, - const Node *relative, bool addLink) +void HtmlGenerator::generateBrief(const Node *node, CodeMarker *marker, const Node *relative, + bool addLink) { Text brief = node->doc().briefText(); if (!brief.isEmpty()) { if (!brief.lastAtom()->string().endsWith('.')) { brief << Atom(Atom::String, "."); - node->doc().location().warning(tr("'\\brief' statement does not end with a full stop.")); + node->doc().location().warning( + tr("'\\brief' statement does not end with a full stop.")); } generateExtractionMark(node, BriefMark); out() << "<p>"; @@ -2403,8 +2256,7 @@ void HtmlGenerator::generateBrief(const Node *node, CodeMarker *marker, Revised for the new doc format. Generates a table of contents beginning at \a node. */ -void HtmlGenerator::generateTableOfContents(const Node *node, - CodeMarker *marker, +void HtmlGenerator::generateTableOfContents(const Node *node, CodeMarker *marker, QVector<Section> *sections) { QVector<Atom *> toc; @@ -2429,23 +2281,14 @@ void HtmlGenerator::generateTableOfContents(const Node *node, if (node->isModule()) { if (node->hasNamespaces()) { - out() << "<li class=\"level" - << sectionNumber - << "\"><a href=\"#" - << registerRef("namespaces") - << "\">Namespaces</a></li>\n"; + out() << "<li class=\"level" << sectionNumber << "\"><a href=\"#" + << registerRef("namespaces") << "\">Namespaces</a></li>\n"; } if (node->hasClasses()) { - out() << "<li class=\"level" - << sectionNumber - << "\"><a href=\"#" - << registerRef("classes") - << "\">Classes</a></li>\n"; + out() << "<li class=\"level" << sectionNumber << "\"><a href=\"#" + << registerRef("classes") << "\">Classes</a></li>\n"; } - out() << "<li class=\"level" - << sectionNumber - << "\"><a href=\"#" - << registerRef("details") + out() << "<li class=\"level" << sectionNumber << "\"><a href=\"#" << registerRef("details") << "\">Detailed Description</a></li>\n"; for (int i = 0; i < toc.size(); ++i) { if (toc.at(i)->string().toInt() == 1) { @@ -2453,36 +2296,24 @@ void HtmlGenerator::generateTableOfContents(const Node *node, break; } } - } - else if (sections && (node->isClassNode() || - node->isNamespace() || - node->isQmlType() || - node->isJsType())) { + } else if (sections + && (node->isClassNode() || node->isNamespace() || node->isQmlType() + || node->isJsType())) { for (const auto §ion : qAsConst(*sections)) { if (!section.members().isEmpty()) { - out() << "<li class=\"level" - << sectionNumber - << "\"><a href=\"#" - << registerRef(section.plural()) - << "\">" << section.title() - << "</a></li>\n"; + out() << "<li class=\"level" << sectionNumber << "\"><a href=\"#" + << registerRef(section.plural()) << "\">" << section.title() << "</a></li>\n"; } if (!section.reimplementedMembers().isEmpty()) { QString ref = QString("Reimplemented ") + section.plural(); - out() << "<li class=\"level" - << sectionNumber - << "\"><a href=\"#" - << registerRef(ref.toLower()) - << "\">" << QString("Reimplemented ") + section.title() - << "</a></li>\n"; + out() << "<li class=\"level" << sectionNumber << "\"><a href=\"#" + << registerRef(ref.toLower()) << "\">" + << QString("Reimplemented ") + section.title() << "</a></li>\n"; } } if (!node->isNamespace() || node->hasDoc()) { - out() << "<li class=\"level" - << sectionNumber - << "\"><a href=\"#" - << registerRef("details") - << "\">Detailed Description</a></li>\n"; + out() << "<li class=\"level" << sectionNumber << "\"><a href=\"#" + << registerRef("details") << "\">Detailed Description</a></li>\n"; } for (int i = 0; i < toc.size(); ++i) { if (toc.at(i)->string().toInt() == 1) { @@ -2494,19 +2325,14 @@ void HtmlGenerator::generateTableOfContents(const Node *node, for (const auto &atom : toc) { sectionNumber = atom->string().toInt() + detailsBase; - //restrict the ToC depth to the one set by the HTML.tocdepth variable or - //print all levels if tocDepth is not set. + // restrict the ToC depth to the one set by the HTML.tocdepth variable or + // print all levels if tocDepth is not set. if (sectionNumber <= tocDepth || tocDepth < 0) { int numAtoms; Text headingText = Text::sectionHeading(atom); QString s = headingText.toString(); - out() << "<li class=\"level" - << sectionNumber - << "\">"; - out() << "<a href=\"" - << '#' - << Doc::canonicalTitle(s) - << "\">"; + out() << "<li class=\"level" << sectionNumber << "\">"; + out() << "<a href=\"" << '#' << Doc::canonicalTitle(s) << "\">"; generateAtomList(headingText.firstAtom(), node, marker, true, numAtoms); out() << "</a></li>\n"; } @@ -2522,7 +2348,8 @@ void HtmlGenerator::generateTableOfContents(const Node *node, /*! Outputs a placeholder div where the style can add customized sidebar content. */ -void HtmlGenerator::generateSidebar() { +void HtmlGenerator::generateSidebar() +{ out() << "<div class=\"sidebar\">"; out() << "<div class=\"sidebar-content\" id=\"sidebar-content\"></div>"; out() << "</div>\n"; @@ -2574,12 +2401,12 @@ QString HtmlGenerator::generateAllQmlMembersFile(const Sections §ions, CodeM generateFullName(aggregate, nullptr); out() << ", including inherited members.</p>\n"; - ClassKeysNodesList& cknl = sections.allMembersSection().classKeysNodesList(); + ClassKeysNodesList &cknl = sections.allMembersSection().classKeysNodesList(); if (!cknl.isEmpty()) { - for (int i=0; i<cknl.size(); i++) { - ClassKeysNodes* ckn = cknl[i]; + for (int i = 0; i < cknl.size(); i++) { + ClassKeysNodes *ckn = cknl[i]; const QmlTypeNode *qcn = ckn->first; - KeysAndNodes& kn = ckn->second; + KeysAndNodes &kn = ckn->second; QStringList &keys = kn.first; NodeVector &nodes = kn.second; if (nodes.isEmpty()) @@ -2590,12 +2417,11 @@ QString HtmlGenerator::generateAllQmlMembersFile(const Sections §ions, CodeM out() << ".</p>\n"; } out() << "<ul>\n"; - for (int j=0; j<keys.size(); j++) { + for (int j = 0; j < keys.size(); j++) { Node *node = nodes[j]; if (node->access() == Node::Private || node->isInternal()) continue; - if (node->isSharingComment() && - node->sharedCommentNode()->isPropertyGroup()) + if (node->isSharingComment() && node->sharedCommentNode()->isPropertyGroup()) continue; std::function<void(Node *)> generate = [&](Node *n) { @@ -2608,7 +2434,8 @@ QString HtmlGenerator::generateAllQmlMembersFile(const Sections §ions, CodeM // Indent property group members if (n->isPropertyGroup()) { out() << "<ul>\n"; - const QVector<Node *> &collective = static_cast<SharedCommentNode *>(n)->collective(); + const QVector<Node *> &collective = + static_cast<SharedCommentNode *>(n)->collective(); std::for_each(collective.begin(), collective.end(), generate); out() << "</ul>\n"; } @@ -2711,8 +2538,7 @@ QString HtmlGenerator::generateObsoleteQmlMembersFile(const Sections §ions, for (const auto §ion : summary_spv) { QString ref = registerRef(section->title().toLower()); - out() << "<a name=\"" << ref - << "\"></a>" << divNavTop << '\n'; + out() << "<a name=\"" << ref << "\"></a>" << divNavTop << '\n'; out() << "<h2 id=\"" << ref << "\">" << protectEnc(section->title()) << "</h2>\n"; generateQmlSummary(section->obsoleteMembers(), aggregate, marker); } @@ -2743,7 +2569,7 @@ void HtmlGenerator::generateClassHierarchy(const Node *relative, NodeMap &classM topLevel.insert(classe->name(), classe); } - QStack<NodeMap > stack; + QStack<NodeMap> stack; stack.push(topLevel); out() << "<ul>\n"; @@ -2751,8 +2577,7 @@ void HtmlGenerator::generateClassHierarchy(const Node *relative, NodeMap &classM if (stack.top().isEmpty()) { stack.pop(); out() << "</ul>\n"; - } - else { + } else { ClassNode *child = static_cast<ClassNode *>(*stack.top().begin()); out() << "<li>"; generateFullName(child, relative); @@ -2777,8 +2602,7 @@ void HtmlGenerator::generateClassHierarchy(const Node *relative, NodeMap &classM Output an annotated list of the nodes in \a nodeMap. A two-column table is output. */ -void HtmlGenerator::generateAnnotatedList(const Node *relative, - CodeMarker *marker, +void HtmlGenerator::generateAnnotatedList(const Node *relative, CodeMarker *marker, const NodeMultiMap &nmm) { if (nmm.isEmpty() || relative == nullptr) @@ -2788,8 +2612,7 @@ void HtmlGenerator::generateAnnotatedList(const Node *relative, /*! */ -void HtmlGenerator::generateAnnotatedList(const Node *relative, - CodeMarker *marker, +void HtmlGenerator::generateAnnotatedList(const Node *relative, CodeMarker *marker, const NodeList &unsortedNodes) { NodeMultiMap nmm; @@ -2822,19 +2645,16 @@ void HtmlGenerator::generateAnnotatedList(const Node *relative, out() << "<td class=\"tblDescr\"><p>"; generateText(brief, node, marker); out() << "</p></td>"; - } - else if (!node->reconstitutedBrief().isEmpty()) { + } else if (!node->reconstitutedBrief().isEmpty()) { out() << "<td class=\"tblDescr\"><p>"; out() << node->reconstitutedBrief(); out() << "</p></td>"; } - } - else { + } else { out() << "<td class=\"tblDescr\"><p>"; if (!node->reconstitutedBrief().isEmpty()) { out() << node->reconstitutedBrief(); - } - else + } else out() << protectEnc(node->doc().briefText().toString()); out() << "</p></td>"; } @@ -2847,15 +2667,14 @@ void HtmlGenerator::generateAnnotatedList(const Node *relative, Outputs a series of annotated lists from the nodes in \a nmm, divided into sections based by the key names in the multimap. */ -void HtmlGenerator::generateAnnotatedLists(const Node *relative, - CodeMarker *marker, - const NodeMultiMap &nmm) +void HtmlGenerator::generateAnnotatedLists(const Node *relative, CodeMarker *marker, + const NodeMultiMap &nmm) { const auto &uniqueKeys = nmm.uniqueKeys(); for (const QString &name : uniqueKeys) { if (!name.isEmpty()) { - out() << "<h2 id=\"" << registerRef(name.toLower()) - << "\">" << protectEnc(name) << "</h2>\n"; + out() << "<h2 id=\"" << registerRef(name.toLower()) << "\">" << protectEnc(name) + << "</h2>\n"; } generateAnnotatedList(relative, marker, nmm.values(name)); } @@ -2871,10 +2690,8 @@ void HtmlGenerator::generateAnnotatedLists(const Node *relative, the name of the first and last classes in the class map \a nmm. */ -void HtmlGenerator::generateCompactList(ListType listType, - const Node *relative, - const NodeMultiMap &nmm, - bool includeAlphabet, +void HtmlGenerator::generateCompactList(ListType listType, const Node *relative, + const NodeMultiMap &nmm, bool includeAlphabet, QString commonPrefix) { if (nmm.isEmpty()) @@ -2889,8 +2706,8 @@ void HtmlGenerator::generateCompactList(ListType listType, QXtWidget in paragraph 33 (X). This is the only place where we assume that NumParagraphs is 37. Each paragraph is a NodeMultiMap. */ - NodeMultiMap paragraph[NumParagraphs+1]; - QString paragraphName[NumParagraphs+1]; + NodeMultiMap paragraph[NumParagraphs + 1]; + QString paragraphName[NumParagraphs + 1]; QSet<char> usedParagraphNames; for (auto c = nmm.constBegin(); c != nmm.constEnd(); ++c) { @@ -2905,8 +2722,7 @@ void HtmlGenerator::generateCompactList(ListType listType, if (key[0].digitValue() != -1) { paragraphNr = key[0].digitValue(); - } - else if (key[0] >= QLatin1Char('a') && key[0] <= QLatin1Char('z')) { + } else if (key[0] >= QLatin1Char('a') && key[0] <= QLatin1Char('z')) { paragraphNr = 10 + key[0].unicode() - 'a'; } @@ -2923,10 +2739,10 @@ void HtmlGenerator::generateCompactList(ListType listType, We now want to compute the paragraph offset. Paragraphs 0 to 6 start at offsets 0, 3, 4, 8, 9, 14, 23. */ - int paragraphOffset[NumParagraphs + 1]; // 37 + 1 + int paragraphOffset[NumParagraphs + 1]; // 37 + 1 paragraphOffset[0] = 0; - for (int i=0; i<NumParagraphs; i++) // i = 0..36 - paragraphOffset[i+1] = paragraphOffset[i] + paragraph[i].count(); + for (int i = 0; i < NumParagraphs; i++) // i = 0..36 + paragraphOffset[i + 1] = paragraphOffset[i] + paragraph[i].count(); /* Output the alphabet as a row of links. @@ -2952,9 +2768,8 @@ void HtmlGenerator::generateCompactList(ListType listType, QString previousName; bool multipleOccurrences = false; - for (int i=0; i<nmm.count(); i++) { - while ((curParNr < NumParagraphs) && - (curParOffset == paragraph[curParNr].count())) { + for (int i = 0; i < nmm.count(); i++) { + while ((curParNr < NumParagraphs) && (curParOffset == paragraph[curParNr].count())) { ++curParNr; curParOffset = 0; } @@ -2974,9 +2789,7 @@ void HtmlGenerator::generateCompactList(ListType listType, QChar c = paragraphName[curParNr][0].toLower(); out() << QString("<a name=\"%1\"></a>").arg(c); } - out() << "<b>" - << paragraphName[curParNr] - << "</b>"; + out() << "<b>" << paragraphName[curParNr] << "</b>"; out() << "</dt>\n"; } @@ -2984,12 +2797,11 @@ void HtmlGenerator::generateCompactList(ListType listType, Output a <dd> for the current offset in the current paragraph. */ out() << "<dd>"; - if ((curParNr < NumParagraphs) && - !paragraphName[curParNr].isEmpty()) { + if ((curParNr < NumParagraphs) && !paragraphName[curParNr].isEmpty()) { NodeMultiMap::Iterator it; NodeMultiMap::Iterator next; it = paragraph[curParNr].begin(); - for (int i=0; i<curParOffset; i++) + for (int i = 0; i < curParOffset; i++) ++it; if (listType == Generic) { @@ -2998,8 +2810,7 @@ void HtmlGenerator::generateCompactList(ListType listType, require some special formatting. */ out() << "<a href=\"" << linkForNode(it.value(), relative) << "\">"; - } - else if (listType == Obsolete) { + } else if (listType == Obsolete) { QString fileName = fileBase(it.value()) + "-obsolete." + fileExtension(); QString link; if (useOutputSubdirs()) { @@ -3023,8 +2834,7 @@ void HtmlGenerator::generateCompactList(ListType listType, if (multipleOccurrences) name += ": " + it.value()->tree()->camelCaseModuleName(); pieces << name; - } - else + } else pieces = it.value()->fullName(relative).split("::"); out() << protectEnc(pieces.last()); out() << "</a>"; @@ -3095,21 +2905,16 @@ void HtmlGenerator::generateLegaleseList(const Node *relative, CodeMarker *marke } } -void HtmlGenerator::generateQmlItem(const Node *node, - const Node *relative, - CodeMarker *marker, +void HtmlGenerator::generateQmlItem(const Node *node, const Node *relative, CodeMarker *marker, bool summary) { - QString marked = marker->markedUpQmlItem(node,summary); + QString marked = marker->markedUpQmlItem(node, summary); QRegExp templateTag("(<[^@>]*>)"); if (marked.indexOf(templateTag) != -1) { - QString contents = protectEnc(marked.mid(templateTag.pos(1), - templateTag.cap(1).length())); - marked.replace(templateTag.pos(1), templateTag.cap(1).length(), - contents); + QString contents = protectEnc(marked.mid(templateTag.pos(1), templateTag.cap(1).length())); + marked.replace(templateTag.pos(1), templateTag.cap(1).length(), contents); } - marked.replace(QRegExp("<@param>([a-z]+)_([1-9n])</@param>"), - "<i>\\1<sub>\\2</sub></i>"); + marked.replace(QRegExp("<@param>([a-z]+)_([1-9n])</@param>"), "<i>\\1<sub>\\2</sub></i>"); marked.replace("<@param>", "<i>"); marked.replace("</@param>", "</i>"); @@ -3141,10 +2946,7 @@ bool HtmlGenerator::generateGroupList(CollectionNode *cn) const auto members = cn->members(); for (const auto *node : members) { out() << "<li>" - << "<a href=\"#" - << Doc::canonicalTitle(node->title()) - << "\">" - << node->title() + << "<a href=\"#" << Doc::canonicalTitle(node->title()) << "\">" << node->title() << "</a></li>\n"; } out() << "</ul>\n"; @@ -3171,8 +2973,7 @@ void HtmlGenerator::generateList(const Node *relative, CodeMarker *marker, const for (auto *collectionNode : collectionList) nodeList.append(collectionNode); generateAnnotatedList(relative, marker, nodeList); - } - else { + } else { /* \generatelist {selector} is only allowed in a comment where the topic is \group, \module, @@ -3180,7 +2981,8 @@ void HtmlGenerator::generateList(const Node *relative, CodeMarker *marker, const */ if (relative && !relative->isCollectionNode()) { relative->doc().location().warning(tr("\\generatelist {%1} is only allowed in \\group, " - "\\module, \\qmlmodule, and \\jsmodule comments.").arg(selector)); + "\\module, \\qmlmodule, and \\jsmodule comments.") + .arg(selector)); return; } Node *n = const_cast<Node *>(relative); @@ -3201,8 +3003,7 @@ void HtmlGenerator::generateSection(const NodeVector &nv, const Node *relative, } if (alignNames) { out() << "<div class=\"table\"><table class=\"alignedsummary\">\n"; - } - else { + } else { if (twoColumn) out() << "<div class=\"table\"><table class=\"propsummary\">\n" << "<tr><td class=\"topAlign\">"; @@ -3216,8 +3017,7 @@ void HtmlGenerator::generateSection(const NodeVector &nv, const Node *relative, if (alignNames) { out() << "<tr><td class=\"memItemLeft rightAlign topAlign\"> "; - } - else { + } else { if (twoColumn && i == (nv.count() + 1) / 2) out() << "</ul></td><td class=\"topAlign\"><ul>\n"; out() << "<li class=\"fn\">"; @@ -3240,13 +3040,12 @@ void HtmlGenerator::generateSection(const NodeVector &nv, const Node *relative, } } -void HtmlGenerator::generateSectionList(const Section& section, - const Node *relative, - CodeMarker *marker, - Section::Status status) +void HtmlGenerator::generateSectionList(const Section §ion, const Node *relative, + CodeMarker *marker, Section::Status status) { bool alignNames = true; - const NodeVector &members = (status == Section::Obsolete ? section.obsoleteMembers() : section.members()); + const NodeVector &members = + (status == Section::Obsolete ? section.obsoleteMembers() : section.members()); if (!members.isEmpty()) { bool hasPrivateSignals = false; bool isInvokable = false; @@ -3260,8 +3059,7 @@ void HtmlGenerator::generateSectionList(const Section& section, } if (alignNames) { out() << "<div class=\"table\"><table class=\"alignedsummary\">\n"; - } - else { + } else { if (twoColumn) out() << "<div class=\"table\"><table class=\"propsummary\">\n" << "<tr><td class=\"topAlign\">"; @@ -3275,8 +3073,7 @@ void HtmlGenerator::generateSectionList(const Section& section, if (alignNames) { out() << "<tr><td class=\"memItemLeft topAlign rightAlign\"> "; - } - else { + } else { if (twoColumn && i == (members.count() + 1) / 2) out() << "</ul></td><td class=\"topAlign\"><ul>\n"; out() << "<li class=\"fn\">"; @@ -3295,8 +3092,7 @@ void HtmlGenerator::generateSectionList(const Section& section, hasPrivateSignals = true; if (alignNames) out() << "</td><td class=\"memItemRight bottomAlign\">[see note below]"; - } - else if (fn->isInvokable()) { + } else if (fn->isInvokable()) { isInvokable = true; if (alignNames) out() << "</td><td class=\"memItemRight bottomAlign\">[see note below]"; @@ -3321,14 +3117,15 @@ void HtmlGenerator::generateSectionList(const Section& section, generateInvokableNote(relative, marker); } - if (status != Section::Obsolete && section.style() == Section::Summary && !section.inheritedMembers().isEmpty()) { + if (status != Section::Obsolete && section.style() == Section::Summary + && !section.inheritedMembers().isEmpty()) { out() << "<ul>\n"; generateSectionInheritedList(section, relative); out() << "</ul>\n"; } } -void HtmlGenerator::generateSectionInheritedList(const Section& section, const Node *relative) +void HtmlGenerator::generateSectionInheritedList(const Section §ion, const Node *relative) { const QVector<QPair<Aggregate *, int>> &inheritedMembers = section.inheritedMembers(); for (const auto &member : inheritedMembers) { @@ -3336,23 +3133,17 @@ void HtmlGenerator::generateSectionInheritedList(const Section& section, const N out() << member.second << ' '; if (member.second == 1) { out() << section.singular(); - } - else { + } else { out() << section.plural(); } - out() << " inherited from <a href=\"" << fileName(member.first) - << '#' << Generator::cleanRef(section.title().toLower()) << "\">" - << protectEnc(member.first->plainFullName(relative)) - << "</a></li>\n"; + out() << " inherited from <a href=\"" << fileName(member.first) << '#' + << Generator::cleanRef(section.title().toLower()) << "\">" + << protectEnc(member.first->plainFullName(relative)) << "</a></li>\n"; } } -void HtmlGenerator::generateSynopsis(const Node *node, - const Node *relative, - CodeMarker *marker, - Section::Style style, - bool alignNames, - const QString *prefix) +void HtmlGenerator::generateSynopsis(const Node *node, const Node *relative, CodeMarker *marker, + Section::Style style, bool alignNames, const QString *prefix) { QString marked = marker->markedUpSynopsis(node, relative, style); @@ -3360,19 +3151,16 @@ void HtmlGenerator::generateSynopsis(const Node *node, marked.prepend(*prefix); QRegExp templateTag("(<[^@>]*>)"); if (marked.indexOf(templateTag) != -1) { - QString contents = protectEnc(marked.mid(templateTag.pos(1), - templateTag.cap(1).length())); - marked.replace(templateTag.pos(1), templateTag.cap(1).length(), - contents); + QString contents = protectEnc(marked.mid(templateTag.pos(1), templateTag.cap(1).length())); + marked.replace(templateTag.pos(1), templateTag.cap(1).length(), contents); } - marked.replace(QRegExp("<@param>([a-z]+)_([1-9n])</@param>"), - "<i>\\1<sub>\\2</sub></i>"); + marked.replace(QRegExp("<@param>([a-z]+)_([1-9n])</@param>"), "<i>\\1<sub>\\2</sub></i>"); marked.replace("<@param>", "<i>"); marked.replace("</@param>", "</i>"); if (style == Section::Summary) { - marked.remove("<@name>"); // was "<b>" - marked.remove("</@name>"); // was "</b>" + marked.remove("<@name>"); // was "<b>" + marked.remove("</@name>"); // was "</b>" } if (style == Section::AllMembers) { @@ -3392,8 +3180,7 @@ void HtmlGenerator::generateSynopsis(const Node *node, out() << highlightedCode(marked, relative, alignNames); } -QString HtmlGenerator::highlightedCode(const QString &markedCode, - const Node *relative, +QString HtmlGenerator::highlightedCode(const QString &markedCode, const Node *relative, bool alignNames, Node::Genus genus) { QString src = markedCode; @@ -3427,45 +3214,39 @@ QString HtmlGenerator::highlightedCode(const QString &markedCode, QString link = linkForNode(n, relative); addLink(link, arg, &html); html += QLatin1String("</b>"); - } - else if (parseArg(src, funcTag, &i, srcSize, &arg, &par1)) { + } else if (parseArg(src, funcTag, &i, srcSize, &arg, &par1)) { const FunctionNode *fn = qdb_->findFunctionNode(par1.toString(), relative, genus); QString link = linkForNode(fn, relative); addLink(link, arg, &html); par1 = QStringRef(); - } - else if (parseArg(src, typeTag, &i, srcSize, &arg, &par1)) { + } else if (parseArg(src, typeTag, &i, srcSize, &arg, &par1)) { par1 = QStringRef(); const Node *n = qdb_->findTypeNode(arg.toString(), relative, genus); html += QLatin1String("<span class=\"type\">"); if (n && (n->isQmlBasicType() || n->isJsBasicType())) { if (relative && (relative->genus() == n->genus() || genus == n->genus())) - addLink(linkForNode(n,relative), arg, &html); + addLink(linkForNode(n, relative), arg, &html); else html += arg; - } - else - addLink(linkForNode(n,relative), arg, &html); + } else + addLink(linkForNode(n, relative), arg, &html); html += QLatin1String("</span>"); - } - else if (parseArg(src, headerTag, &i, srcSize, &arg, &par1)) { + } else if (parseArg(src, headerTag, &i, srcSize, &arg, &par1)) { par1 = QStringRef(); if (arg.startsWith(QLatin1Char('&'))) html += arg; else { const Node *n = qdb_->findNodeForInclude(QStringList(arg.toString())); if (n && n != relative) - addLink(linkForNode(n,relative), arg, &html); + addLink(linkForNode(n, relative), arg, &html); else html += arg; } - } - else { + } else { html += charLangle; html += charAt; } - } - else { + } else { html += src.at(i++); } } @@ -3485,15 +3266,15 @@ QString HtmlGenerator::highlightedCode(const QString &markedCode, html = QString(); html.reserve(src.size()); static const QLatin1String spanTags[] = { - QLatin1String("comment>"), QLatin1String("<span class=\"comment\">"), - QLatin1String("preprocessor>"), QLatin1String("<span class=\"preprocessor\">"), - QLatin1String("string>"), QLatin1String("<span class=\"string\">"), - QLatin1String("char>"), QLatin1String("<span class=\"char\">"), - QLatin1String("number>"), QLatin1String("<span class=\"number\">"), - QLatin1String("op>"), QLatin1String("<span class=\"operator\">"), - QLatin1String("type>"), QLatin1String("<span class=\"type\">"), - QLatin1String("name>"), QLatin1String("<span class=\"name\">"), - QLatin1String("keyword>"), QLatin1String("<span class=\"keyword\">") + QLatin1String("comment>"), QLatin1String("<span class=\"comment\">"), + QLatin1String("preprocessor>"), QLatin1String("<span class=\"preprocessor\">"), + QLatin1String("string>"), QLatin1String("<span class=\"string\">"), + QLatin1String("char>"), QLatin1String("<span class=\"char\">"), + QLatin1String("number>"), QLatin1String("<span class=\"number\">"), + QLatin1String("op>"), QLatin1String("<span class=\"operator\">"), + QLatin1String("type>"), QLatin1String("<span class=\"type\">"), + QLatin1String("name>"), QLatin1String("<span class=\"name\">"), + QLatin1String("keyword>"), QLatin1String("<span class=\"keyword\">") }; int nTags = 9; // Update the upper bound of k in the following code to match the length @@ -3504,9 +3285,8 @@ QString HtmlGenerator::highlightedCode(const QString &markedCode, i += 2; bool handled = false; for (int k = 0; k != nTags; ++k) { - const QLatin1String& tag = spanTags[2 * k]; - if (i + tag.size() <= src.length() && - tag == QStringRef(&src, i, tag.size())) { + const QLatin1String &tag = spanTags[2 * k]; + if (i + tag.size() <= src.length() && tag == QStringRef(&src, i, tag.size())) { html += spanTags[2 * k + 1]; i += tag.size(); handled = true; @@ -3520,14 +3300,12 @@ QString HtmlGenerator::highlightedCode(const QString &markedCode, ++i; } continue; - } - else if (src.at(i + 1) == QLatin1Char('/') && src.at(i + 2) == QLatin1Char('@')) { + } else if (src.at(i + 1) == QLatin1Char('/') && src.at(i + 2) == QLatin1Char('@')) { i += 3; bool handled = false; for (int k = 0; k != nTags; ++k) { - const QLatin1String& tag = spanTags[2 * k]; - if (i + tag.size() <= src.length() && - tag == QStringRef(&src, i, tag.size())) { + const QLatin1String &tag = spanTags[2 * k]; + if (i + tag.size() <= src.length() && tag == QStringRef(&src, i, tag.size())) { html += QLatin1String("</span>"); i += tag.size(); handled = true; @@ -3581,11 +3359,11 @@ QString HtmlGenerator::protectEnc(const QString &string) QString HtmlGenerator::protect(const QString &string, const QString &outputEncoding) { -#define APPEND(x) \ - if (html.isEmpty()) { \ - html = string; \ - html.truncate(i); \ -} \ +#define APPEND(x) \ + if (html.isEmpty()) { \ + html = string; \ + html.truncate(i); \ + } \ html += (x); QString html; @@ -3637,7 +3415,8 @@ QString HtmlGenerator::fileName(const Node *node) return Generator::fileName(node); } -void HtmlGenerator::generateFullName(const Node *apparentNode, const Node *relative, const Node *actualNode) +void HtmlGenerator::generateFullName(const Node *apparentNode, const Node *relative, + const Node *actualNode) { if (actualNode == nullptr) actualNode = apparentNode; @@ -3649,8 +3428,7 @@ void HtmlGenerator::generateFullName(const Node *apparentNode, const Node *relat out() << "</a>"; } -void HtmlGenerator::generateDetailedMember(const Node *node, - const PageNode *relative, +void HtmlGenerator::generateDetailedMember(const Node *node, const PageNode *relative, CodeMarker *marker) { const EnumNode *etn; @@ -3675,8 +3453,7 @@ void HtmlGenerator::generateDetailedMember(const Node *node, if (collective.size() > 1) out() << "</div>"; out() << divNavTop << '\n'; - } - else { + } else { nodeRef = refForNode(node); if (node->isEnumType() && (etn = static_cast<const EnumNode *>(node))->flagsType()) { #ifdef GENERATE_MAC_REFS @@ -3688,8 +3465,7 @@ void HtmlGenerator::generateDetailedMember(const Node *node, out() << "<br/>"; generateSynopsis(etn->flagsType(), relative, marker, Section::Details); out() << "</h3>\n"; - } - else { + } else { out() << "<h3 class=\"fn\" id=\"" << nodeRef << "\">"; out() << "<a name=\"" + nodeRef + "\"></a>"; generateSynopsis(node, relative, marker, Section::Details); @@ -3723,24 +3499,19 @@ void HtmlGenerator::generateDetailedMember(const Node *node, out() << "<p><b>Notifier signal:</b></p>\n"; generateSectionList(notifiers, node, marker); } - } - else if (node->isFunction()) { + } else if (node->isFunction()) { const FunctionNode *fn = static_cast<const FunctionNode *>(node); if (fn->isPrivateSignal()) generatePrivateSignalNote(node, marker); if (fn->isInvokable()) generateInvokableNote(node, marker); generateAssociatedPropertyNotes(const_cast<FunctionNode *>(fn)); - } - else if (node->isEnumType()) { + } else if (node->isEnumType()) { const EnumNode *etn = static_cast<const EnumNode *>(node); if (etn->flagsType()) { - out() << "<p>The " << protectEnc(etn->flagsType()->name()) - << " type is a typedef for " - << "<a href=\"" << qflagsHref_ << "\">QFlags</a><" - << protectEnc(etn->name()) - << ">. It stores an OR combination of " - << protectEnc(etn->name()) + out() << "<p>The " << protectEnc(etn->flagsType()->name()) << " type is a typedef for " + << "<a href=\"" << qflagsHref_ << "\">QFlags</a><" << protectEnc(etn->name()) + << ">. It stores an OR combination of " << protectEnc(etn->name()) << " values.</p>\n"; } } @@ -3759,7 +3530,8 @@ void HtmlGenerator::generateMacRef(const Node *node, CodeMarker *marker) const QStringList macRefs = marker->macRefsForNode(node); for (const auto &macRef : macRefs) - out() << "<a name=\"" << "//apple_ref/" << macRef << "\"></a>\n"; + out() << "<a name=\"" + << "//apple_ref/" << macRef << "\"></a>\n"; } #endif @@ -3785,8 +3557,7 @@ void HtmlGenerator::beginLink(const QString &link, const Node *node, const Node if (link_.isEmpty()) { if (showBrokenLinks) out() << "<i>"; - } - else if (node == nullptr || (relative != nullptr && node->status() == relative->status())) + } else if (node == nullptr || (relative != nullptr && node->status() == relative->status())) out() << "<a href=\"" << link_ << "\">"; else if (node->isObsolete()) out() << "<a href=\"" << link_ << "\" class=\"obsolete\">"; @@ -3801,8 +3572,7 @@ void HtmlGenerator::endLink() if (link_.isEmpty()) { if (showBrokenLinks) out() << "</i>"; - } - else { + } else { if (inObsoleteLink) { out() << "<sup>(obsolete)</sup>"; } @@ -3817,8 +3587,7 @@ void HtmlGenerator::endLink() Generates the summary list for the \a members. Only used for sections of QML element documentation. */ -void HtmlGenerator::generateQmlSummary(const NodeVector &members, - const Node *relative, +void HtmlGenerator::generateQmlSummary(const NodeVector &members, const Node *relative, CodeMarker *marker) { if (!members.isEmpty()) { @@ -3851,8 +3620,7 @@ void HtmlGenerator::generateQmlSummary(const NodeVector &members, Outputs the html detailed documentation for a section on a QML element reference page. */ -void HtmlGenerator::generateDetailedQmlMember(Node *node, - const Aggregate *relative, +void HtmlGenerator::generateDetailedQmlMember(Node *node, const Aggregate *relative, CodeMarker *marker) { #ifdef GENERATE_MAC_REFS @@ -3865,13 +3633,12 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, "<div class=\"table\"><table class=\"qmlname\">\n"); QString qmlItemStart("<tr valign=\"top\" class=\"odd\" id=\"%1\">\n" - "<td class=\"%2\"><p>\n"); + "<td class=\"%2\"><p>\n"); QString qmlItemEnd("</p></td></tr>\n"); QString qmlItemFooter("</table></div></div>\n"); - - std::function<void (QmlPropertyNode *)> generateQmlProperty = [&](QmlPropertyNode *n) { + std::function<void(QmlPropertyNode *)> generateQmlProperty = [&](QmlPropertyNode *n) { out() << qmlItemStart.arg(refForNode(n), "tblQmlPropNode"); if (!n->isReadOnlySet() && n->declarativeCppNode()) @@ -3886,7 +3653,7 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, out() << qmlItemEnd; }; - std::function<void (Node *)> generateQmlMethod = [&](Node *n) { + std::function<void(Node *)> generateQmlMethod = [&](Node *n) { out() << qmlItemStart.arg(refForNode(n), "tblQmlFuncNode"); generateSynopsis(n, relative, marker, Section::Details, false); out() << qmlItemEnd; @@ -3894,7 +3661,7 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, out() << "<div class=\"qmlitem\">"; if (node->isPropertyGroup()) { - const SharedCommentNode *scn = static_cast<const SharedCommentNode*>(node); + const SharedCommentNode *scn = static_cast<const SharedCommentNode *>(node); out() << qmlItemHeader; if (!scn->name().isEmpty()) { out() << "<tr valign=\"top\" class=\"even\" id=\"" << refForNode(scn) << "\">"; @@ -3958,7 +3725,7 @@ void HtmlGenerator::generateQmlInherits(QmlTypeNode *qcn, CodeMarker *marker) if (base) { Text text; text << Atom::ParaLeft << "Inherits "; - text << Atom(Atom::LinkNode,CodeMarker::stringForNode(base)); + text << Atom(Atom::LinkNode, CodeMarker::stringForNode(base)); text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK); text << Atom(Atom::String, base->name()); text << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); @@ -3980,7 +3747,7 @@ void HtmlGenerator::generateQmlInstantiates(QmlTypeNode *qcn, CodeMarker *marker if (cn && !cn->isInternal()) { Text text; text << Atom::ParaLeft; - text << Atom(Atom::LinkNode,CodeMarker::stringForNode(qcn)); + text << Atom(Atom::LinkNode, CodeMarker::stringForNode(qcn)); text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK); QString name = qcn->name(); /* @@ -3992,7 +3759,7 @@ void HtmlGenerator::generateQmlInstantiates(QmlTypeNode *qcn, CodeMarker *marker text << Atom(Atom::String, name); text << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); text << " instantiates the C++ class "; - text << Atom(Atom::LinkNode,CodeMarker::stringForNode(cn)); + text << Atom(Atom::LinkNode, CodeMarker::stringForNode(cn)); text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK); text << Atom(Atom::String, cn->name()); text << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); @@ -4010,11 +3777,11 @@ void HtmlGenerator::generateQmlInstantiates(QmlTypeNode *qcn, CodeMarker *marker */ void HtmlGenerator::generateInstantiatedBy(ClassNode *cn, CodeMarker *marker) { - if (cn && !cn->isInternal() && cn->qmlElement() != nullptr) { + if (cn && !cn->isInternal() && cn->qmlElement() != nullptr) { const QmlTypeNode *qcn = cn->qmlElement(); Text text; text << Atom::ParaLeft; - text << Atom(Atom::LinkNode,CodeMarker::stringForNode(cn)); + text << Atom(Atom::LinkNode, CodeMarker::stringForNode(cn)); text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK); text << Atom(Atom::String, cn->name()); text << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); @@ -4022,7 +3789,7 @@ void HtmlGenerator::generateInstantiatedBy(ClassNode *cn, CodeMarker *marker) text << " is instantiated by QML Type "; else text << " is instantiated by Javascript Type "; - text << Atom(Atom::LinkNode,CodeMarker::stringForNode(qcn)); + text << Atom(Atom::LinkNode, CodeMarker::stringForNode(qcn)); text << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK); text << Atom(Atom::String, qcn->name()); text << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); @@ -4050,7 +3817,8 @@ void HtmlGenerator::generateExtractionMark(const Node *node, ExtractionMarkType for (const auto *propFuncNode : list) { if (propFuncNode->isFunction()) { const FunctionNode *func = static_cast<const FunctionNode *>(propFuncNode); - out() << "$$$" + func->name() + func->parameters().rawSignature().remove(' '); + out() << "$$$" + func->name() + + func->parameters().rawSignature().remove(' '); } } } else if (node->isEnumType()) { @@ -4070,7 +3838,6 @@ void HtmlGenerator::generateExtractionMark(const Node *node, ExtractionMarkType } } - /*! This function outputs one or more manifest files in XML. They are used by Creator. @@ -4093,7 +3860,7 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString ExampleNodeMap &exampleNodeMap = qdb_->exampleNodeMap(); if (exampleNodeMap.isEmpty()) return; - QString fileName = manifest +"-manifest.xml"; + QString fileName = manifest + "-manifest.xml"; QFile file(outputDir() + QLatin1Char('/') + fileName); bool demos = false; if (manifest == QLatin1String("demos")) @@ -4107,8 +3874,7 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString proceed = true; break; } - } - else if (!en->name().startsWith("demos")) { + } else if (!en->name().startsWith("demos")) { proceed = true; break; } @@ -4134,7 +3900,9 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString } // attributes that are always written for the element usedAttributes.clear(); - usedAttributes << "name" << "docUrl" << "projectPath"; + usedAttributes << "name" + << "docUrl" + << "projectPath"; writer.writeStartElement(element); writer.writeAttribute("name", en->title()); @@ -4143,21 +3911,21 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString QStringList proFiles; const auto exampleFiles = en->files(); for (const QString &file : exampleFiles) { - if (file.endsWith(".pro") || file.endsWith(".qmlproject") || file.endsWith(".pyproject")) + if (file.endsWith(".pro") || file.endsWith(".qmlproject") + || file.endsWith(".pyproject")) proFiles << file; } if (!proFiles.isEmpty()) { if (proFiles.size() == 1) { writer.writeAttribute("projectPath", examplesPath + proFiles[0]); - } - else { + } else { QString exampleName = en->name().split('/').last(); bool proWithExampleNameFound = false; - for (int j = 0; j < proFiles.size(); j++) - { + for (int j = 0; j < proFiles.size(); j++) { if (proFiles[j].endsWith(QStringLiteral("%1/%1.pro").arg(exampleName)) - || proFiles[j].endsWith(QStringLiteral("%1/%1.qmlproject").arg(exampleName)) - || proFiles[j].endsWith(QStringLiteral("%1/%1.pyproject").arg(exampleName))) { + || proFiles[j].endsWith(QStringLiteral("%1/%1.qmlproject").arg(exampleName)) + || proFiles[j].endsWith( + QStringLiteral("%1/%1.pyproject").arg(exampleName))) { writer.writeAttribute("projectPath", examplesPath + proFiles[j]); proWithExampleNameFound = true; break; @@ -4174,7 +3942,7 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString QString fullName = project + QLatin1Char('/') + en->title(); QSet<QString> tags; - for (int idx=0; idx < manifestMetaContent.size(); ++idx) { + for (int idx = 0; idx < manifestMetaContent.size(); ++idx) { const auto names = manifestMetaContent[idx].names; for (const QString &name : names) { bool match = false; @@ -4245,20 +4013,14 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString if (s.endsWith(QLatin1Char(':'))) s.chop(1); - if (s.length() < 2 - || s.at(0).isDigit() - || s.at(0) == '-' - || s == QLatin1String("qt") - || s == QLatin1String("the") - || s == QLatin1String("and") - || s.startsWith(QLatin1String("example")) - || s.startsWith(QLatin1String("chapter"))) + if (s.length() < 2 || s.at(0).isDigit() || s.at(0) == '-' || s == QLatin1String("qt") + || s == QLatin1String("the") || s == QLatin1String("and") + || s.startsWith(QLatin1String("example")) || s.startsWith(QLatin1String("chapter"))) tag_it = tags.erase(tag_it); else if (s != *tag_it) { modified << s; tag_it = tags.erase(tag_it); - } - else + } else ++tag_it; } tags += modified; @@ -4277,7 +4039,7 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString writer.writeEndElement(); // tags } - QString ename = en->name().mid(en->name().lastIndexOf('/')+1); + QString ename = en->name().mid(en->name().lastIndexOf('/') + 1); QMap<int, QString> filesToOpen; const auto files = en->files(); for (const QString &file : files) { @@ -4298,13 +4060,12 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString // main.qml takes precedence over main.cpp else if (fileName.endsWith("main.qml")) { filesToOpen.insert(3, file); - } - else if (fileName.endsWith("main.cpp")) { + } else if (fileName.endsWith("main.cpp")) { filesToOpen.insert(4, file); } } - for (auto it = filesToOpen.constEnd(); it != filesToOpen.constBegin(); ) { + for (auto it = filesToOpen.constEnd(); it != filesToOpen.constBegin();) { writer.writeStartElement("fileToOpen"); if (--it == filesToOpen.constBegin()) { writer.writeAttribute(QStringLiteral("mainFile"), QStringLiteral("true")); @@ -4367,45 +4128,55 @@ void HtmlGenerator::reportOrphans(const Aggregate *parent) case Node::Typedef: child->location().warning(tr("Global typedef, %1, %2").arg(child->name()).arg(message)); break; - case Node::Function: - { - const FunctionNode *fn = static_cast<const FunctionNode *>(child); - switch (fn->metaness()) { - case FunctionNode::QmlSignal: - child->location().warning(tr("Global QML, signal, %1 %2").arg(child->name()).arg(message)); - break; - case FunctionNode::QmlSignalHandler: - child->location().warning(tr("Global QML signal handler, %1, %2").arg(child->name()).arg(message)); - break; - case FunctionNode::QmlMethod: - child->location().warning(tr("Global QML method, %1, %2").arg(child->name()).arg(message)); - break; - case FunctionNode::JsSignal: - child->location().warning(tr("Global JS, signal, %1 %2").arg(child->name()).arg(message)); - break; - case FunctionNode::JsSignalHandler: - child->location().warning(tr("Global JS signal handler, %1, %2").arg(child->name()).arg(message)); - break; - case FunctionNode::JsMethod: - child->location().warning(tr("Global JS method, %1, %2").arg(child->name()).arg(message)); - break; - default: - if (fn->isMacro()) - child->location().warning(tr("Global macro, %1, %2").arg(child->name()).arg(message)); - else - child->location().warning(tr("Global function, %1(), %2").arg(child->name()).arg(message)); - break; - } + case Node::Function: { + const FunctionNode *fn = static_cast<const FunctionNode *>(child); + switch (fn->metaness()) { + case FunctionNode::QmlSignal: + child->location().warning( + tr("Global QML, signal, %1 %2").arg(child->name()).arg(message)); + break; + case FunctionNode::QmlSignalHandler: + child->location().warning( + tr("Global QML signal handler, %1, %2").arg(child->name()).arg(message)); + break; + case FunctionNode::QmlMethod: + child->location().warning( + tr("Global QML method, %1, %2").arg(child->name()).arg(message)); + break; + case FunctionNode::JsSignal: + child->location().warning( + tr("Global JS, signal, %1 %2").arg(child->name()).arg(message)); + break; + case FunctionNode::JsSignalHandler: + child->location().warning( + tr("Global JS signal handler, %1, %2").arg(child->name()).arg(message)); + break; + case FunctionNode::JsMethod: + child->location().warning( + tr("Global JS method, %1, %2").arg(child->name()).arg(message)); + break; + default: + if (fn->isMacro()) + child->location().warning( + tr("Global macro, %1, %2").arg(child->name()).arg(message)); + else + child->location().warning( + tr("Global function, %1(), %2").arg(child->name()).arg(message)); break; } + break; + } case Node::Variable: - child->location().warning(tr("Global variable, %1, %2").arg(child->name()).arg(message)); + child->location().warning( + tr("Global variable, %1, %2").arg(child->name()).arg(message)); break; case Node::JsProperty: - child->location().warning(tr("Global JS property, %1, %2").arg(child->name()).arg(message)); + child->location().warning( + tr("Global JS property, %1, %2").arg(child->name()).arg(message)); break; case Node::QmlProperty: - child->location().warning(tr("Global QML property, %1, %2").arg(child->name()).arg(message)); + child->location().warning( + tr("Global QML property, %1, %2").arg(child->name()).arg(message)); break; default: break; diff --git a/src/qdoc/htmlgenerator.h b/src/qdoc/htmlgenerator.h index 86801e0af..1e3c46ef3 100644 --- a/src/qdoc/htmlgenerator.h +++ b/src/qdoc/htmlgenerator.h @@ -50,7 +50,6 @@ class HtmlGenerator : public XmlGenerator Q_DECLARE_TR_FUNCTIONS(QDoc::HtmlGenerator) public: - public: HtmlGenerator(); ~HtmlGenerator() override; @@ -69,9 +68,7 @@ protected: void generateExampleFilePage(const Node *en, const QString &file, CodeMarker *marker) override; QString generateLinksToLinksPage(const QString &module, CodeMarker *marker); QString generateLinksToBrokenLinksPage(CodeMarker *marker, int &count); - virtual int generateAtom(const Atom *atom, - const Node *relative, - CodeMarker *marker) override; + virtual int generateAtom(const Atom *atom, const Node *relative, CodeMarker *marker) override; void generateCppReferencePage(Aggregate *aggregate, CodeMarker *marker) override; void generateProxyPage(Aggregate *aggregate, CodeMarker *marker) override; void generateQmlTypePage(QmlTypeNode *qcn, CodeMarker *marker) override; @@ -88,12 +85,7 @@ protected: private: enum SubTitleSize { SmallSubTitle, LargeSubTitle }; - enum ExtractionMarkType { - BriefMark, - DetailedDescriptionMark, - MemberMark, - EndMark - }; + enum ExtractionMarkType { BriefMark, DetailedDescriptionMark, MemberMark, EndMark }; struct ManifestMetaFilter { @@ -102,29 +94,18 @@ private: QSet<QString> tags; }; - void generateNavigationBar(const QString &title, - const Node *node, - CodeMarker *marker, - const QString &buildversion, - bool tableItems = false); - void generateHeader(const QString &title, - const Node *node = nullptr, + void generateNavigationBar(const QString &title, const Node *node, CodeMarker *marker, + const QString &buildversion, bool tableItems = false); + void generateHeader(const QString &title, const Node *node = nullptr, CodeMarker *marker = nullptr); - void generateTitle(const QString &title, - const Text &subTitle, - SubTitleSize subTitleSize, - const Node *relative, - CodeMarker *marker); + void generateTitle(const QString &title, const Text &subTitle, SubTitleSize subTitleSize, + const Node *relative, CodeMarker *marker); void generateFooter(const Node *node = nullptr); - void generateRequisites(Aggregate *inner, - CodeMarker *marker); - void generateQmlRequisites(QmlTypeNode *qcn, - CodeMarker *marker); - void generateBrief(const Node *node, - CodeMarker *marker, - const Node *relative = nullptr, bool addLink=true); - void generateTableOfContents(const Node *node, - CodeMarker *marker, + void generateRequisites(Aggregate *inner, CodeMarker *marker); + void generateQmlRequisites(QmlTypeNode *qcn, CodeMarker *marker); + void generateBrief(const Node *node, CodeMarker *marker, const Node *relative = nullptr, + bool addLink = true); + void generateTableOfContents(const Node *node, CodeMarker *marker, QVector<Section> *sections = nullptr); void generateSidebar(); QString generateAllMembersFile(const Section §ion, CodeMarker *marker); @@ -132,50 +113,36 @@ private: QString generateObsoleteMembersFile(const Sections §ions, CodeMarker *marker); QString generateObsoleteQmlMembersFile(const Sections §ions, CodeMarker *marker); void generateClassHierarchy(const Node *relative, NodeMap &classMap); - void generateAnnotatedList(const Node *relative, CodeMarker *marker, const NodeMultiMap &nodeMap); - void generateAnnotatedLists(const Node *relative, CodeMarker *marker, const NodeMultiMap &nodeMap); + void generateAnnotatedList(const Node *relative, CodeMarker *marker, + const NodeMultiMap &nodeMap); + void generateAnnotatedLists(const Node *relative, CodeMarker *marker, + const NodeMultiMap &nodeMap); void generateAnnotatedList(const Node *relative, CodeMarker *marker, const NodeList &nodes); - void generateCompactList(ListType listType, - const Node *relative, - const NodeMultiMap &classMap, - bool includeAlphabet, - QString commonPrefix); + void generateCompactList(ListType listType, const Node *relative, const NodeMultiMap &classMap, + bool includeAlphabet, QString commonPrefix); void generateFunctionIndex(const Node *relative); void generateLegaleseList(const Node *relative, CodeMarker *marker); bool generateGroupList(CollectionNode *cn); void generateList(const Node *relative, CodeMarker *marker, const QString &selector); - void generateSectionList(const Section& section, - const Node *relative, - CodeMarker *marker, + void generateSectionList(const Section §ion, const Node *relative, CodeMarker *marker, Section::Status = Section::Active); - void generateQmlSummary(const NodeVector &members, - const Node *relative, - CodeMarker *marker); - void generateQmlItem(const Node *node, - const Node *relative, - CodeMarker *marker, - bool summary); - void generateDetailedQmlMember(Node *node, - const Aggregate *relative, - CodeMarker *marker); + void generateQmlSummary(const NodeVector &members, const Node *relative, CodeMarker *marker); + void generateQmlItem(const Node *node, const Node *relative, CodeMarker *marker, bool summary); + void generateDetailedQmlMember(Node *node, const Aggregate *relative, CodeMarker *marker); void generateQmlInherits(QmlTypeNode *qcn, CodeMarker *marker) override; void generateQmlInstantiates(QmlTypeNode *qcn, CodeMarker *marker); void generateInstantiatedBy(ClassNode *cn, CodeMarker *marker); void generateSection(const NodeVector &nv, const Node *relative, CodeMarker *marker); - void generateSynopsis(const Node *node, - const Node *relative, - CodeMarker *marker, - Section::Style style, - bool alignNames = false, + void generateSynopsis(const Node *node, const Node *relative, CodeMarker *marker, + Section::Style style, bool alignNames = false, const QString *prefix = nullptr); - void generateSectionInheritedList(const Section& section, const Node *relative); - QString highlightedCode(const QString &markedCode, - const Node *relative, - bool alignNames = false, - Node::Genus genus = Node::DontCare); + void generateSectionInheritedList(const Section §ion, const Node *relative); + QString highlightedCode(const QString &markedCode, const Node *relative, + bool alignNames = false, Node::Genus genus = Node::DontCare); - void generateFullName(const Node *apparentNode, const Node *relative, const Node *actualNode = nullptr); + void generateFullName(const Node *apparentNode, const Node *relative, + const Node *actualNode = nullptr); void generateDetailedMember(const Node *node, const PageNode *relative, CodeMarker *marker); void generateLink(const Atom *atom, CodeMarker *marker); @@ -239,17 +206,16 @@ public: static QString divNavTop; }; -#define HTMLGENERATOR_ADDRESS "address" -#define HTMLGENERATOR_FOOTER "footer" -#define HTMLGENERATOR_GENERATEMACREFS "generatemacrefs" // ### document me -#define HTMLGENERATOR_POSTHEADER "postheader" -#define HTMLGENERATOR_POSTPOSTHEADER "postpostheader" -#define HTMLGENERATOR_PROLOGUE "prologue" -#define HTMLGENERATOR_NONAVIGATIONBAR "nonavigationbar" +#define HTMLGENERATOR_ADDRESS "address" +#define HTMLGENERATOR_FOOTER "footer" +#define HTMLGENERATOR_GENERATEMACREFS "generatemacrefs" // ### document me +#define HTMLGENERATOR_POSTHEADER "postheader" +#define HTMLGENERATOR_POSTPOSTHEADER "postpostheader" +#define HTMLGENERATOR_PROLOGUE "prologue" +#define HTMLGENERATOR_NONAVIGATIONBAR "nonavigationbar" #define HTMLGENERATOR_NAVIGATIONSEPARATOR "navigationseparator" -#define HTMLGENERATOR_NOSUBDIRS "nosubdirs" -#define HTMLGENERATOR_TOCDEPTH "tocdepth" - +#define HTMLGENERATOR_NOSUBDIRS "nosubdirs" +#define HTMLGENERATOR_TOCDEPTH "tocdepth" QT_END_NAMESPACE diff --git a/src/qdoc/jscodemarker.cpp b/src/qdoc/jscodemarker.cpp index cc1a234fb..d9ac99d6d 100644 --- a/src/qdoc/jscodemarker.cpp +++ b/src/qdoc/jscodemarker.cpp @@ -40,21 +40,17 @@ #include "tree.h" #ifndef QT_NO_DECLARATIVE -#include <private/qqmljsast_p.h> -#include <private/qqmljsengine_p.h> -#include <private/qqmljslexer_p.h> -#include <private/qqmljsparser_p.h> +# include <private/qqmljsast_p.h> +# include <private/qqmljsengine_p.h> +# include <private/qqmljslexer_p.h> +# include <private/qqmljsparser_p.h> #endif QT_BEGIN_NAMESPACE -JsCodeMarker::JsCodeMarker() -{ -} +JsCodeMarker::JsCodeMarker() {} -JsCodeMarker::~JsCodeMarker() -{ -} +JsCodeMarker::~JsCodeMarker() {} /*! Returns \c true if the \a code is recognized by the parser. @@ -102,15 +98,13 @@ Atom::AtomType JsCodeMarker::atomType() const return Atom::JavaScript; } -QString JsCodeMarker::markedUpCode(const QString &code, - const Node *relative, +QString JsCodeMarker::markedUpCode(const QString &code, const Node *relative, const Location &location) { return addMarkUp(code, relative, location); } -QString JsCodeMarker::addMarkUp(const QString &code, - const Node * /* relative */, +QString JsCodeMarker::addMarkUp(const QString &code, const Node * /* relative */, const Location &location) { #ifndef QT_NO_DECLARATIVE @@ -131,15 +125,16 @@ QString JsCodeMarker::addMarkUp(const QString &code, QmlMarkupVisitor visitor(code, pragmas, &engine); QQmlJS::AST::Node::accept(ast, &visitor); if (visitor.hasError()) { - location.warning(location.fileName() + - tr("Unable to analyze JavaScript. The output is incomplete.")); + location.warning(location.fileName() + + tr("Unable to analyze JavaScript. The output is incomplete.")); } output = visitor.markedUpCode(); } else { - location.warning(location.fileName() + - tr("Unable to parse JavaScript: \"%1\" at line %2, column %3").arg( - parser.errorMessage()).arg(parser.errorLineNumber()).arg( - parser.errorColumnNumber())); + location.warning(location.fileName() + + tr("Unable to parse JavaScript: \"%1\" at line %2, column %3") + .arg(parser.errorMessage()) + .arg(parser.errorLineNumber()) + .arg(parser.errorColumnNumber())); output = protect(code); } return output; diff --git a/src/qdoc/jscodemarker.h b/src/qdoc/jscodemarker.h index 3d2ffa1ef..3473cd09b 100644 --- a/src/qdoc/jscodemarker.h +++ b/src/qdoc/jscodemarker.h @@ -50,13 +50,11 @@ public: bool recognizeLanguage(const QString &language) override; Atom::AtomType atomType() const override; - virtual QString markedUpCode(const QString &code, - const Node *relative, + virtual QString markedUpCode(const QString &code, const Node *relative, const Location &location) override; private: - QString addMarkUp(const QString &code, const Node *relative, - const Location &location); + QString addMarkUp(const QString &code, const Node *relative, const Location &location); }; QT_END_NAMESPACE diff --git a/src/qdoc/location.cpp b/src/qdoc/location.cpp index 2c088a5b5..aab8ede19 100644 --- a/src/qdoc/location.cpp +++ b/src/qdoc/location.cpp @@ -66,8 +66,7 @@ bool Location::logProgress_ = false; /*! Constructs an empty location. */ -Location::Location() - : stk(nullptr), stkTop(&stkBottom), stkDepth(0), etcetera(false) +Location::Location() : stk(nullptr), stkTop(&stkBottom), stkDepth(0), etcetera(false) { // nothing. } @@ -104,8 +103,7 @@ Location &Location::operator=(const Location &other) if (other.stk == nullptr) { stk = nullptr; stkTop = &stkBottom; - } - else { + } else { stk = new QStack<StackEntry>(*other.stk); stkTop = &stk->top(); } @@ -141,12 +139,9 @@ void Location::advance(QChar ch) if (ch == QLatin1Char('\n')) { stkTop->lineNo++; stkTop->columnNo = 1; - } - else if (ch == QLatin1Char('\t')) { - stkTop->columnNo = - 1 + tabSize * (stkTop->columnNo + tabSize-1) / tabSize; - } - else { + } else if (ch == QLatin1Char('\t')) { + stkTop->columnNo = 1 + tabSize * (stkTop->columnNo + tabSize - 1) / tabSize; + } else { stkTop->columnNo++; } } @@ -181,15 +176,13 @@ void Location::pop() { if (--stkDepth == 0) { stkBottom = StackEntry(); - } - else { + } else { stk->pop(); if (stk->isEmpty()) { delete stk; stk = nullptr; stkTop = &stkBottom; - } - else { + } else { stkTop = &stk->top(); } } @@ -219,7 +212,6 @@ QString Location::fileName() const return fi.fileName(); } - /*! Returns the suffix of the file name. Returns an empty string if the file path is empty. @@ -291,11 +283,11 @@ int Location::exitCode() if (warningLimit < 0 || warningCount <= warningLimit) return EXIT_SUCCESS; - Location::null.emitMessage(Error, - tr("Documentation warnings (%1) exceeded the limit (%2) for '%3'.") - .arg(QString::number(warningCount), - QString::number(warningLimit), - project), QString()); + Location::null.emitMessage( + Error, + tr("Documentation warnings (%1) exceeded the limit (%2) for '%3'.") + .arg(QString::number(warningCount), QString::number(warningLimit), project), + QString()); return warningCount; } @@ -341,10 +333,8 @@ void Location::initialize(const Config &config) QRegExp regExp = config.getRegExp(CONFIG_SPURIOUS); if (regExp.isValid()) { spuriousRegExp = new QRegExp(regExp); - } - else { - config.lastLocation().warning(tr("Invalid regular expression '%1'") - .arg(regExp.pattern())); + } else { + config.lastLocation().warning(tr("Invalid regular expression '%1'").arg(regExp.pattern())); } } @@ -388,7 +378,8 @@ void Location::logToStdErrAlways(const QString &message) { if (Generator::useTimestamps()) { QTime t = QTime::currentTime(); - fprintf(stderr, "%s LOG: %s\n", t.toString().toLatin1().constData(), message.toLatin1().data()); + fprintf(stderr, "%s LOG: %s\n", t.toString().toLatin1().constData(), + message.toLatin1().data()); } else { fprintf(stderr, "LOG: %s\n", message.toLatin1().constData()); } @@ -403,7 +394,8 @@ void Location::internalError(const QString &hint) Location::null.fatal(tr("Internal error (%1)").arg(hint), tr("There is a bug in %1. Seek advice from your local" " %2 guru.") - .arg(programName).arg(programName)); + .arg(programName) + .arg(programName)); } /*! @@ -411,13 +403,9 @@ void Location::internalError(const QString &hint) and outputs that string to \c stderr. \a type specifies whether the \a message is an error or a warning. */ -void Location::emitMessage(MessageType type, - const QString &message, - const QString &details) const +void Location::emitMessage(MessageType type, const QString &message, const QString &details) const { - if (type == Warning && - spuriousRegExp != nullptr && - spuriousRegExp->exactMatch(message)) + if (type == Warning && spuriousRegExp != nullptr && spuriousRegExp->exactMatch(message)) return; QString result = message; diff --git a/src/qdoc/location.h b/src/qdoc/location.h index 7a472ab5a..9ad601e1b 100644 --- a/src/qdoc/location.h +++ b/src/qdoc/location.h @@ -55,7 +55,11 @@ public: void start(); void advance(QChar ch); - void advanceLines(int n) { stkTop->lineNo += n; stkTop->columnNo = 1; } + void advanceLines(int n) + { + stkTop->lineNo += n; + stkTop->columnNo = 1; + } void push(const QString &filePath); void pop(); @@ -71,14 +75,10 @@ public: int lineNo() const { return stkTop->lineNo; } int columnNo() const { return stkTop->columnNo; } bool etc() const { return etcetera; } - void warning(const QString &message, - const QString &details = QString()) const; - void error(const QString &message, - const QString &details = QString()) const; - void fatal(const QString &message, - const QString &details = QString()) const; - void report(const QString &message, - const QString &details = QString()) const; + void warning(const QString &message, const QString &details = QString()) const; + void error(const QString &message, const QString &details = QString()) const; + void fatal(const QString &message, const QString &details = QString()) const; + void report(const QString &message, const QString &details = QString()) const; static const Location null; @@ -104,9 +104,7 @@ private: }; friend class QTypeInfo<StackEntry>; - void emitMessage(MessageType type, - const QString &message, - const QString &details) const; + void emitMessage(MessageType type, const QString &message, const QString &details) const; QString toString() const; QString top() const; diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp index 1accb6449..2b2b7a6f8 100644 --- a/src/qdoc/main.cpp +++ b/src/qdoc/main.cpp @@ -56,7 +56,7 @@ #include <QtCore/qhashfunctions.h> #ifndef QT_BOOTSTRAPPED -# include <QtCore/qcoreapplication.h> +# include <QtCore/qcoreapplication.h> #endif #include <algorithm> @@ -76,7 +76,7 @@ typedef QPair<QString, QTranslator *> Translator; static QVector<Translator> translators; #endif -static ClangCodeParser* clangParser_ = nullptr; +static ClangCodeParser *clangParser_ = nullptr; /*! Read some XML indexes containing definitions from other @@ -108,8 +108,7 @@ static void loadIndexFiles(Config &config, const QSet<QString> &formats) for (const auto &format : formats) { if (config.getBool(format + Config::dot + "nosubdirs")) { useNoSubDirs = true; - QString singleOutputSubdir = - config.getString(format + Config::dot + "outputsubdir"); + QString singleOutputSubdir = config.getString(format + Config::dot + "outputsubdir"); if (singleOutputSubdir.isEmpty()) singleOutputSubdir = "html"; subDirs << singleOutputSubdir; @@ -118,9 +117,10 @@ static void loadIndexFiles(Config &config, const QSet<QString> &formats) if (config.dependModules().size() > 0) { if (config.indexDirs().size() > 0) { - for (auto &dir : config.indexDirs()){ + for (auto &dir : config.indexDirs()) { if (dir.startsWith("..")) { - const QString prefix(QDir(config.currentDir()).relativeFilePath(config.previousCurrentDir())); + const QString prefix(QDir(config.currentDir()) + .relativeFilePath(config.previousCurrentDir())); if (!prefix.isEmpty()) dir.prepend(prefix + QLatin1Char('/')); } @@ -137,16 +137,15 @@ static void loadIndexFiles(Config &config, const QSet<QString> &formats) config.dependModules().removeOne("*"); asteriskUsed = true; if (useNoSubDirs) { - std::for_each(formats.begin(), formats.end(), - [&](const QString &format) { - QDir scanDir(config.getOutputDir(format)); - QStringList foundModules = scanDir.entryList(QStringList("*.index"), QDir::Files); - std::transform(foundModules.begin(), foundModules.end(), foundModules.begin(), - [](const QString &index) { - return QFileInfo(index).baseName(); - }); - config.dependModules() << foundModules; - }); + std::for_each(formats.begin(), formats.end(), [&](const QString &format) { + QDir scanDir(config.getOutputDir(format)); + QStringList foundModules = + scanDir.entryList(QStringList("*.index"), QDir::Files); + std::transform( + foundModules.begin(), foundModules.end(), foundModules.begin(), + [](const QString &index) { return QFileInfo(index).baseName(); }); + config.dependModules() << foundModules; + }); } else { for (const auto &indexDir : config.indexDirs()) { QDir scanDir = QDir(indexDir); @@ -160,7 +159,8 @@ static void loadIndexFiles(Config &config, const QSet<QString> &formats) config.dependModules().removeAll(config.getString(CONFIG_PROJECT).toLower()); config.dependModules().removeDuplicates(); Location::logToStdErrAlways(QString("qdocconf file has depends = *;" - " loading all %1 index files found").arg(config.dependModules().count())); + " loading all %1 index files found") + .arg(config.dependModules().count())); } for (const auto &module : config.dependModules()) { QVector<QFileInfo> foundIndices; @@ -170,8 +170,8 @@ static void loadIndexFiles(Config &config, const QSet<QString> &formats) for (const auto &dir : config.indexDirs()) { for (const auto &subDir : subDirs) { - QString fileToLookFor = dir + QLatin1Char('/') + subDir - + QLatin1Char('/') + module + ".index"; + QString fileToLookFor = dir + QLatin1Char('/') + subDir + QLatin1Char('/') + + module + ".index"; if (QFile::exists(fileToLookFor)) { QFileInfo tempFileInfo(fileToLookFor); if (!foundIndices.contains(tempFileInfo)) @@ -194,28 +194,30 @@ static void loadIndexFiles(Config &config, const QSet<QString> &formats) indexPaths.reserve(foundIndices.size()); for (const auto &found : qAsConst(foundIndices)) indexPaths << found.absoluteFilePath(); - Location::null.warning(QString("Multiple index files found for dependency \"%1\":\n%2").arg( - module, indexPaths.join('\n'))); - Location::null.warning(QString("Using %1 as index file for dependency \"%2\"").arg( - foundIndices[foundIndices.size() - 1].absoluteFilePath(), - module)); + Location::null.warning( + QString("Multiple index files found for dependency \"%1\":\n%2") + .arg(module, indexPaths.join('\n'))); + Location::null.warning( + QString("Using %1 as index file for dependency \"%2\"") + .arg(foundIndices[foundIndices.size() - 1].absoluteFilePath(), + module)); indexToAdd = foundIndices[foundIndices.size() - 1].absoluteFilePath(); - } - else if (foundIndices.size() == 1) { + } else if (foundIndices.size() == 1) { indexToAdd = foundIndices[0].absoluteFilePath(); } if (!indexToAdd.isEmpty()) { if (!indexFiles.contains(indexToAdd)) indexFiles << indexToAdd; - } - else if (!asteriskUsed) { - Location::null.warning(QString("\"%1\" Cannot locate index file for dependency \"%2\"").arg( - config.getString(CONFIG_PROJECT), module)); + } else if (!asteriskUsed) { + Location::null.warning( + QString("\"%1\" Cannot locate index file for dependency \"%2\"") + .arg(config.getString(CONFIG_PROJECT), module)); } } - } - else { - Location::null.warning(QLatin1String("Dependent modules specified, but no index directories were set. There will probably be errors for missing links.")); + } else { + Location::null.warning( + QLatin1String("Dependent modules specified, but no index directories were set. " + "There will probably be errors for missing links.")); } } qdb->readIndexes(indexFiles); @@ -243,7 +245,8 @@ static void processQdocconfFile(const QString &fileName, Config &config) config.load(fileName); QString project = config.getString(CONFIG_PROJECT); if (project.isEmpty()) { - Location::logToStdErrAlways(QLatin1String("qdoc can't run; no project set in qdocconf file")); + Location::logToStdErrAlways( + QLatin1String("qdoc can't run; no project set in qdocconf file")); exit(1); } Location::terminate(); @@ -302,9 +305,10 @@ static void processQdocconfFile(const QString &fileName, Config &config) if (!found) { QTranslator *translator = new QTranslator(nullptr); if (!translator->load(fileName)) { - config.lastLocation().error(QCoreApplication::translate("QDoc", "Cannot load translator '%1'").arg(fileName)); - } - else { + config.lastLocation().error( + QCoreApplication::translate("QDoc", "Cannot load translator '%1'") + .arg(fileName)); + } else { QCoreApplication::instance()->installTranslator(translator); translators.append(Translator(fileName, translator)); } @@ -347,8 +351,7 @@ static void processQdocconfFile(const QString &fileName, Config &config) qCDebug(lcQdoc, " done loading index files"); } qdb->newPrimaryTree(project); - } - else if (Generator::preparing()) + } else if (Generator::preparing()) qdb->newPrimaryTree(project); else qdb->setPrimaryTree(project); @@ -369,18 +372,16 @@ static void processQdocconfFile(const QString &fileName, Config &config) // Store the title of the index (landing) page NamespaceNode *root = qdb->primaryTreeRoot(); if (root) { - QString title = config.getString(CONFIG_NAVIGATION - + Config::dot - + CONFIG_LANDINGPAGE); - root->tree()->setIndexTitle(config.getString(CONFIG_NAVIGATION - + Config::dot - + CONFIG_LANDINGTITLE, title)); + QString title = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_LANDINGPAGE); + root->tree()->setIndexTitle( + config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_LANDINGTITLE, title)); } const auto &excludedDirList = config.getCanonicalPathList(CONFIG_EXCLUDEDIRS); QSet<QString> excludedDirs = QSet<QString>(excludedDirList.cbegin(), excludedDirList.cend()); const auto &excludedFilesList = config.getCanonicalPathList(CONFIG_EXCLUDEFILES); - QSet<QString> excludedFiles = QSet<QString>(excludedFilesList.cbegin(), excludedFilesList.cend()); + QSet<QString> excludedFiles = + QSet<QString>(excludedFilesList.cbegin(), excludedFilesList.cend()); qCDebug(lcQdoc, "Adding doc/image dirs found in exampledirs to imagedirs"); QSet<QString> exampleImageDirs; @@ -399,7 +400,8 @@ static void processQdocconfFile(const QString &fileName, Config &config) QStringList sourceList; qCDebug(lcQdoc, "Reading headerdirs"); - headerList = config.getAllFiles(CONFIG_HEADERS,CONFIG_HEADERDIRS, excludedDirs, excludedFiles); + headerList = + config.getAllFiles(CONFIG_HEADERS, CONFIG_HEADERDIRS, excludedDirs, excludedFiles); QMap<QString, QString> headers; QMultiMap<QString, QString> headerFileNames; for (const auto &header : headerList) { @@ -413,7 +415,8 @@ static void processQdocconfFile(const QString &fileName, Config &config) } qCDebug(lcQdoc, "Reading sourcedirs"); - sourceList = config.getAllFiles(CONFIG_SOURCES,CONFIG_SOURCEDIRS, excludedDirs, excludedFiles); + sourceList = + config.getAllFiles(CONFIG_SOURCES, CONFIG_SOURCEDIRS, excludedDirs, excludedFiles); QMap<QString, QString> sources; QMultiMap<QString, QString> sourceFileNames; for (const auto &source : sourceList) { @@ -491,8 +494,8 @@ static void processQdocconfFile(const QString &fileName, Config &config) for (const auto &format : outputFormats) { auto *generator = Generator::generatorForFormat(format); if (generator == nullptr) - outputFormatsLocation.fatal(QCoreApplication::translate("QDoc", - "Unknown output format '%1'").arg(format)); + outputFormatsLocation.fatal( + QCoreApplication::translate("QDoc", "Unknown output format '%1'").arg(format)); generator->initializeFormat(config); generator->generateDocs(); } diff --git a/src/qdoc/node.cpp b/src/qdoc/node.cpp index a1df93cb8..65c75e743 100644 --- a/src/qdoc/node.cpp +++ b/src/qdoc/node.cpp @@ -130,21 +130,21 @@ bool Node::changeType(NodeType from, NodeType to) if (nodeType_ == from) { nodeType_ = to; switch (to) { - case QmlType: - case QmlModule: - case QmlProperty: - case QmlBasicType: - setGenus(Node::QML); - break; - case JsType: - case JsModule: - case JsProperty: - case JsBasicType: - setGenus(Node::JS); - break; - default: - setGenus(Node::CPP); - break; + case QmlType: + case QmlModule: + case QmlProperty: + case QmlBasicType: + setGenus(Node::QML); + break; + case JsType: + case JsModule: + case JsProperty: + case JsBasicType: + setGenus(Node::JS); + break; + default: + setGenus(Node::CPP); + break; } return true; } @@ -158,8 +158,8 @@ bool Node::changeType(NodeType from, NodeType to) */ bool Node::nodeNameLessThan(const Node *n1, const Node *n2) { -#define LT_RETURN_IF_NOT_EQUAL(a, b) \ - if ((a) != (b)) \ +#define LT_RETURN_IF_NOT_EQUAL(a, b) \ + if ((a) != (b)) \ return (a) < (b); if (n1->isPageNode() && n2->isPageNode()) { @@ -661,7 +661,7 @@ QString Node::fullName(const Node *relative) const */ bool Node::match(const QVector<int> &types) const { - for (int i=0; i<types.size(); ++i) { + for (int i = 0; i < types.size(); ++i) { if (nodeType() == types.at(i)) return true; } @@ -721,8 +721,8 @@ Node::Node(NodeType type, Aggregate *parent, const QString &name) operators_.insert("&=", "bitwise-and-assign"); operators_.insert("|=", "bitwise-or-assign"); operators_.insert("^=", "bitwise-xor-assign"); - operators_.insert("<<=" ,"bitwise-left-shift-assign"); - operators_.insert(">>=" ,"bitwise-right-shift-assign"); + operators_.insert("<<=", "bitwise-left-shift-assign"); + operators_.insert(">>=", "bitwise-right-shift-assign"); operators_.insert("||", "logical-or"); operators_.insert("&&", "logical-and"); operators_.insert("()", "call"); @@ -761,38 +761,38 @@ Node::Node(NodeType type, Aggregate *parent, const QString &name) Node::PageType Node::getPageType(Node::NodeType t) { switch (t) { - case Node::Namespace: - case Node::Class: - case Node::Struct: - case Node::Union: - case Node::HeaderFile: - case Node::Enum: - case Node::Function: - case Node::Typedef: - case Node::Property: - case Node::Variable: - case Node::QmlType: - case Node::QmlProperty: - case Node::QmlBasicType: - case Node::JsType: - case Node::JsProperty: - case Node::JsBasicType: - case Node::SharedComment: - return Node::ApiPage; - case Node::Example: - return Node::ExamplePage; - case Node::Page: - case Node::ExternalPage: - return Node::NoPageType; - case Node::Group: - case Node::Module: - case Node::QmlModule: - case Node::JsModule: - case Node::Collection: - return Node::OverviewPage; - case Node::Proxy: - default: - return Node::NoPageType; + case Node::Namespace: + case Node::Class: + case Node::Struct: + case Node::Union: + case Node::HeaderFile: + case Node::Enum: + case Node::Function: + case Node::Typedef: + case Node::Property: + case Node::Variable: + case Node::QmlType: + case Node::QmlProperty: + case Node::QmlBasicType: + case Node::JsType: + case Node::JsProperty: + case Node::JsBasicType: + case Node::SharedComment: + return Node::ApiPage; + case Node::Example: + return Node::ExamplePage; + case Node::Page: + case Node::ExternalPage: + return Node::NoPageType; + case Node::Group: + case Node::Module: + case Node::QmlModule: + case Node::JsModule: + case Node::Collection: + return Node::OverviewPage; + case Node::Proxy: + default: + return Node::NoPageType; } } @@ -808,38 +808,38 @@ Node::PageType Node::getPageType(Node::NodeType t) Node::Genus Node::getGenus(Node::NodeType t) { switch (t) { - case Node::Enum: - case Node::Class: - case Node::Struct: - case Node::Union: - case Node::Module: - case Node::Typedef: - case Node::Property: - case Node::Variable: - case Node::Function: - case Node::Namespace: - case Node::HeaderFile: - return Node::CPP; - case Node::QmlType: - case Node::QmlModule: - case Node::QmlProperty: - case Node::QmlBasicType: - return Node::QML; - case Node::JsType: - case Node::JsModule: - case Node::JsProperty: - case Node::JsBasicType: - return Node::JS; - case Node::Page: - case Node::Group: - case Node::Example: - case Node::ExternalPage: - return Node::DOC; - case Node::Collection: - case Node::SharedComment: - case Node::Proxy: - default: - return Node::DontCare; + case Node::Enum: + case Node::Class: + case Node::Struct: + case Node::Union: + case Node::Module: + case Node::Typedef: + case Node::Property: + case Node::Variable: + case Node::Function: + case Node::Namespace: + case Node::HeaderFile: + return Node::CPP; + case Node::QmlType: + case Node::QmlModule: + case Node::QmlProperty: + case Node::QmlBasicType: + return Node::QML; + case Node::JsType: + case Node::JsModule: + case Node::JsProperty: + case Node::JsBasicType: + return Node::JS; + case Node::Page: + case Node::Group: + case Node::Example: + case Node::ExternalPage: + return Node::DOC; + case Node::Collection: + case Node::SharedComment: + case Node::Proxy: + default: + return Node::DontCare; } } @@ -1079,19 +1079,16 @@ QString Node::accessString() const QString Node::extractClassName(const QString &string) const { QString result; - for (int i=0; i<=string.size(); ++i) { + for (int i = 0; i <= string.size(); ++i) { QChar ch; if (i != string.size()) ch = string.at(i); QChar lower = ch.toLower(); - if ((lower >= QLatin1Char('a') && lower <= QLatin1Char('z')) || - ch.digitValue() >= 0 || - ch == QLatin1Char('_') || - ch == QLatin1Char(':')) { + if ((lower >= QLatin1Char('a') && lower <= QLatin1Char('z')) || ch.digitValue() >= 0 + || ch == QLatin1Char('_') || ch == QLatin1Char(':')) { result += ch; - } - else if (!result.isEmpty()) { + } else if (!result.isEmpty()) { if (result != QLatin1String("const")) return result; result.clear(); @@ -1126,7 +1123,6 @@ Node::ThreadSafeness Node::inheritedThreadSafeness() const return safeness_; } - /*! If this node is a QML or JS type node, return a pointer to it. If it is a child of a QML or JS type node, return the @@ -1193,7 +1189,7 @@ Aggregate *Node::root() const /*! Returns a pointer to the Tree this node is in. */ -Tree* Node::tree() const +Tree *Node::tree() const { return root()->tree(); } @@ -1203,7 +1199,7 @@ Tree* Node::tree() const location, or both, depending on the suffix of the file name from the file path in location \a t. */ -void Node::setLocation(const Location& t) +void Node::setLocation(const Location &t) { QString suffix = t.fileSuffix(); if (suffix == "h") @@ -1247,7 +1243,6 @@ QString Node::qualifyWithParentName() return name_; } - /*! Returns the QML node's qualified name by stripping off the "QML:" if present and prepending the logical module name. @@ -1344,58 +1339,41 @@ QString Node::cleanId(const QString &str) const QChar c = name[0]; const uint u = c.unicode(); - if ((u >= 'a' && u <= 'z') || - (u >= 'A' && u <= 'Z') || - (u >= '0' && u <= '9')) { + if ((u >= 'a' && u <= 'z') || (u >= 'A' && u <= 'Z') || (u >= '0' && u <= '9')) { clean += c; - } - else if (u == '~') { + } else if (u == '~') { clean += "dtor."; - } - else if (u == '_') { + } else if (u == '_') { clean += "underscore."; - } - else { + } else { clean += QLatin1Char('a'); } for (int i = 1; i < name.length(); i++) { const QChar c = name[i]; const uint u = c.unicode(); - if ((u >= 'a' && u <= 'z') || - (u >= 'A' && u <= 'Z') || - (u >= '0' && u <= '9') || u == '-' || - u == '_' || u == '.') { + if ((u >= 'a' && u <= 'z') || (u >= 'A' && u <= 'Z') || (u >= '0' && u <= '9') || u == '-' + || u == '_' || u == '.') { clean += c; - } - else if (c.isSpace() || u == ':' ) { + } else if (c.isSpace() || u == ':') { clean += QLatin1Char('-'); - } - else if (u == '!') { + } else if (u == '!') { clean += "-not"; - } - else if (u == '&') { + } else if (u == '&') { clean += "-and"; - } - else if (u == '<') { + } else if (u == '<') { clean += "-lt"; - } - else if (u == '=') { + } else if (u == '=') { clean += "-eq"; - } - else if (u == '>') { + } else if (u == '>') { clean += "-gt"; - } - else if (u == '#') { + } else if (u == '#') { clean += "-hash"; - } - else if (u == '(') { + } else if (u == '(') { clean += QLatin1Char('-'); - } - else if (u == ')') { + } else if (u == ')') { clean += QLatin1Char('-'); - } - else { + } else { clean += QLatin1Char('-'); clean += QString::number((int)u, 16); } @@ -2007,13 +1985,9 @@ Node *Aggregate::findChildNode(const QString &name, Node::Genus genus, int findF Node *node = nodes.at(i); if (genus == node->genus()) { if (findFlags & TypesOnly) { - if (!node->isTypedef() - && !node->isClassNode() - && !node->isQmlType() - && !node->isQmlBasicType() - && !node->isJsType() - && !node->isJsBasicType() - && !node->isEnumType()) + if (!node->isTypedef() && !node->isClassNode() && !node->isQmlType() + && !node->isQmlBasicType() && !node->isJsType() + && !node->isJsBasicType() && !node->isEnumType()) continue; } else if (findFlags & IgnoreModules && node->isModule()) continue; @@ -2053,8 +2027,8 @@ void Aggregate::findChildren(const QString &name, NodeVector &nodes) const nodes.reserve(nonfunctionCount); } if (nonfunctionCount > 0) { - for (auto it = nonfunctionMap_.find(name); - it != nonfunctionMap_.end() && it.key() == name; ++it) { + for (auto it = nonfunctionMap_.find(name); it != nonfunctionMap_.end() && it.key() == name; + ++it) { nodes.append(it.value()); } } @@ -2067,10 +2041,10 @@ void Aggregate::findChildren(const QString &name, NodeVector &nodes) const passed must be one of the isXxx() functions in class Node that tests the node type. */ -Node *Aggregate::findNonfunctionChild(const QString &name, bool (Node::*isMatch) () const) +Node *Aggregate::findNonfunctionChild(const QString &name, bool (Node::*isMatch)() const) { NodeList nodes = nonfunctionMap_.values(name); - for (int i=0; i<nodes.size(); ++i) { + for (int i = 0; i < nodes.size(); ++i) { Node *node = nodes.at(i); if ((node->*(isMatch))()) return node; @@ -2540,7 +2514,7 @@ void Aggregate::printChildren(const QString &title) { qDebug() << title << name() << children_.size(); if (children_.size() > 0) { - for (int i=0; i<children_.size(); ++i) { + for (int i = 0; i < children_.size(); ++i) { Node *n = children_.at(i); qDebug() << " CHILD:" << n->name() << n->nodeTypeString(); } @@ -2570,8 +2544,7 @@ void Aggregate::removeFunctionNode(FunctionNode *fn) it.value() = fn->nextOverload(); fn->setNextOverload(nullptr); fn->setOverloadNumber(0); - } - else { + } else { functionMap_.erase(it); } } else { @@ -2599,11 +2572,7 @@ void Aggregate::removeFunctionNode(FunctionNode *fn) */ static bool keep(FunctionNode *fn) { - if (fn->isPrivate() || - fn->isObsolete() || - fn->isInternal() || - fn->isSomeCtor() || - fn->isDtor()) + if (fn->isPrivate() || fn->isObsolete() || fn->isInternal() || fn->isSomeCtor() || fn->isDtor()) return false; return true; } @@ -2668,9 +2637,9 @@ bool Aggregate::hasObsoleteMembers() const { for (const auto *node : children_) { if (!node->isPrivate() && node->isObsolete()) { - if (node->isFunction() || node->isProperty() || node->isEnumType() || - node->isTypedef() || node->isTypeAlias() || node->isVariable() || - node->isQmlProperty() || node->isJsProperty()) + if (node->isFunction() || node->isProperty() || node->isEnumType() || node->isTypedef() + || node->isTypeAlias() || node->isVariable() || node->isQmlProperty() + || node->isJsProperty()) return true; } } @@ -2700,7 +2669,8 @@ void Aggregate::findAllObsoleteThings() } else if (node->isQmlType() || node->isJsType()) { Aggregate *a = static_cast<Aggregate *>(node); if (a->hasObsoleteMembers()) - QDocDatabase::qmlTypesWithObsoleteMembers().insert(node->qualifyQmlName(), node); + QDocDatabase::qmlTypesWithObsoleteMembers().insert(node->qualifyQmlName(), + node); } else if (node->isAggregate()) { static_cast<Aggregate *>(node)->findAllObsoleteThings(); } @@ -2716,14 +2686,15 @@ void Aggregate::findAllObsoleteThings() void Aggregate::findAllClasses() { for (auto *node : qAsConst(children_)) { - if (!node->isPrivate() && !node->isInternal() && - node->tree()->camelCaseModuleName() != QString("QDoc")) { + if (!node->isPrivate() && !node->isInternal() + && node->tree()->camelCaseModuleName() != QString("QDoc")) { if (node->isClassNode()) { QDocDatabase::cppClasses().insert(node->qualifyCppName().toLower(), node); - } else if (node->isQmlType() || node->isQmlBasicType() || node->isJsType() || node->isJsBasicType()) { + } else if (node->isQmlType() || node->isQmlBasicType() || node->isJsType() + || node->isJsBasicType()) { QString name = node->unqualifyQmlName(); QDocDatabase::qmlTypes().insert(name, node); - //also add to the QML basic type map + // also add to the QML basic type map if (node->isQmlBasicType() || node->isJsBasicType()) QDocDatabase::qmlBasicTypes().insert(name, node); } else if (node->isExample()) { @@ -2785,8 +2756,7 @@ void Aggregate::findAllSince() FunctionNode *fn = static_cast<FunctionNode *>(node); if (!fn->isObsolete() && !fn->isSomeCtor() && !fn->isDtor()) nsmap.value().insert(fn->name(), fn); - } - else if (node->isClassNode()) { + } else if (node->isClassNode()) { // Insert classes into the since and class maps. QString name = node->qualifyWithParentName(); nsmap.value().insert(name, node); @@ -2837,7 +2807,7 @@ void Aggregate::resolveQmlInheritance() } else { if (!type->importList().isEmpty()) { const ImportList &imports = type->importList(); - for (int i=0; i<imports.size(); ++i) { + for (int i = 0; i < imports.size(); ++i) { base = QDocDatabase::qdocDB()->findQmlType(imports[i], type->qmlBaseName()); if (base && (base != type)) { if (base->logicalModuleVersion()[0] != imports[i].version_[0]) @@ -2966,8 +2936,7 @@ void ClassNode::removePrivateAndInternalBases() bases_.removeAt(i); ignoredBases_.append(rc); promotePublicBases(bc->baseClasses()); - } - else { + } else { ++i; } found.insert(bc); @@ -2981,8 +2950,7 @@ void ClassNode::removePrivateAndInternalBases() const QVector<RelatedClass> &dd = dc->derivedClasses(); for (int j = dd.size() - 1; j >= 0; --j) derived_.insert(i, dd.at(j)); - } - else { + } else { ++i; } } @@ -3000,8 +2968,7 @@ void ClassNode::resolvePropertyOverriddenFromPtrs(PropertyNode *pn) PropertyNode *baseProperty = static_cast<PropertyNode *>(n); cn->resolvePropertyOverriddenFromPtrs(baseProperty); pn->setOverriddenFrom(baseProperty); - } - else + } else cn->resolvePropertyOverriddenFromPtrs(pn); } } @@ -3099,8 +3066,12 @@ void NamespaceNode::reportDocumentedChildrenInUndocumentedNamespace() const QString msg1 = node->name(); if (node->isFunction()) msg1 += "()"; - msg1 += tr(" is documented, but namespace %1 is not documented in any module.").arg(name()); - QString msg2 = tr("Add /*! '\\%1 %2' ... */ or remove the qdoc comment marker (!) at that line number.").arg(COMMAND_NAMESPACE).arg(name()); + msg1 += tr(" is documented, but namespace %1 is not documented in any module.") + .arg(name()); + QString msg2 = tr("Add /*! '\\%1 %2' ... */ or remove the qdoc comment marker (!) at " + "that line number.") + .arg(COMMAND_NAMESPACE) + .arg(name()); node->doc().location().warning(msg1, msg2); } @@ -3346,8 +3317,7 @@ void ClassNode::addDerivedClass(Access access, ClassNode *node) before the generate phase of qdoc. In an unresolved base class, the pointer to the base class node is 0. */ -void ClassNode::addUnresolvedBaseClass(Access access, - const QStringList &path, +void ClassNode::addUnresolvedBaseClass(Access access, const QStringList &path, const QString &signature) { bases_.append(RelatedClass(access, path, signature)); @@ -3454,7 +3424,8 @@ FunctionNode *ClassNode::findOverriddenFunction(const FunctionNode *fn) } if (cn != nullptr) { FunctionNode *result = cn->findFunctionChild(fn); - if (result != nullptr && !result->isInternal() && !result->isNonvirtual() && result->hasDoc()) + if (result != nullptr && !result->isInternal() && !result->isNonvirtual() + && result->hasDoc()) return result; result = cn->findOverriddenFunction(fn); if (result != nullptr && !result->isNonvirtual()) @@ -3716,7 +3687,7 @@ bool PageNode::setTitle(const QString &title) /*! Add \a item to the enum type's item list. */ -void EnumNode::addItem(const EnumItem& item) +void EnumNode::addItem(const EnumItem &item) { items_.append(item); names_.insert(item.name()); @@ -3987,27 +3958,27 @@ static void buildTopicMetanessMap() Node::Genus FunctionNode::getGenus(FunctionNode::Metaness t) { switch (t) { - case FunctionNode::Plain: - case FunctionNode::Signal: - case FunctionNode::Slot: - case FunctionNode::Ctor: - case FunctionNode::Dtor: - case FunctionNode::CCtor: - case FunctionNode::MCtor: - case FunctionNode::MacroWithParams: - case FunctionNode::MacroWithoutParams: - case FunctionNode::Native: - case FunctionNode::CAssign: - case FunctionNode::MAssign: - return Node::CPP; - case FunctionNode::QmlSignal: - case FunctionNode::QmlSignalHandler: - case FunctionNode::QmlMethod: - return Node::QML; - case FunctionNode::JsSignal: - case FunctionNode::JsSignalHandler: - case FunctionNode::JsMethod: - return Node::JS; + case FunctionNode::Plain: + case FunctionNode::Signal: + case FunctionNode::Slot: + case FunctionNode::Ctor: + case FunctionNode::Dtor: + case FunctionNode::CCtor: + case FunctionNode::MCtor: + case FunctionNode::MacroWithParams: + case FunctionNode::MacroWithoutParams: + case FunctionNode::Native: + case FunctionNode::CAssign: + case FunctionNode::MAssign: + return Node::CPP; + case FunctionNode::QmlSignal: + case FunctionNode::QmlSignalHandler: + case FunctionNode::QmlMethod: + return Node::QML; + case FunctionNode::JsSignal: + case FunctionNode::JsSignalHandler: + case FunctionNode::JsMethod: + return Node::JS; } return Node::DontCare; } @@ -4066,19 +4037,19 @@ bool FunctionNode::changeMetaness(Metaness from, Metaness to) if (metaness_ == from) { metaness_ = to; switch (to) { - case QmlSignal: - case QmlSignalHandler: - case QmlMethod: - setGenus(Node::QML); - break; - case JsSignal: - case JsSignalHandler: - case JsMethod: - setGenus(Node::JS); - break; - default: - setGenus(Node::CPP); - break; + case QmlSignal: + case QmlSignalHandler: + case QmlMethod: + setGenus(Node::QML); + break; + case JsSignal: + case JsSignalHandler: + case JsMethod: + setGenus(Node::JS); + break; + default: + setGenus(Node::CPP); + break; } return true; } @@ -4157,20 +4128,20 @@ FunctionNode *FunctionNode::findPrimaryFunction() QString FunctionNode::kindString() const { switch (metaness_) { - case FunctionNode::QmlSignal: - return "QML signal"; - case FunctionNode::QmlSignalHandler: - return "QML signal handler"; - case FunctionNode::QmlMethod: - return "QML method"; - case FunctionNode::JsSignal: - return "JS signal"; - case FunctionNode::JsSignalHandler: - return "JS signal handler"; - case FunctionNode::JsMethod: - return "JS method"; - default: - return "function"; + case FunctionNode::QmlSignal: + return "QML signal"; + case FunctionNode::QmlSignalHandler: + return "QML signal handler"; + case FunctionNode::QmlMethod: + return "QML method"; + case FunctionNode::JsSignal: + return "JS signal"; + case FunctionNode::JsSignalHandler: + return "JS signal handler"; + case FunctionNode::JsMethod: + return "JS method"; + default: + return "function"; } } @@ -4283,9 +4254,9 @@ QString FunctionNode::signature(bool values, bool noReturnType) const */ PropertyNode::FunctionRole PropertyNode::role(const FunctionNode *fn) const { - for (int i=0; i<4; i++) { + for (int i = 0; i < 4; i++) { if (functions_[i].contains(const_cast<FunctionNode *>(fn))) - return (FunctionRole) i; + return (FunctionRole)i; } return Notifier; } @@ -4307,8 +4278,8 @@ Node *VariableNode::clone(Aggregate *parent) */ void FunctionNode::debug() const { - qDebug("QML METHOD %s returnType_ %s parentPath_ %s", - qPrintable(name()), qPrintable(returnType_), qPrintable(parentPath_.join(' '))); + qDebug("QML METHOD %s returnType_ %s parentPath_ %s", qPrintable(name()), + qPrintable(returnType_), qPrintable(parentPath_.join(' '))); } /*! @@ -4358,11 +4329,9 @@ bool FunctionNode::compare(const FunctionNode *fn) const bool FunctionNode::isIgnored() const { if (!hasDoc() && !hasSharedDoc()) { - if (name().startsWith(QLatin1String("qt_")) || - name() == QLatin1String("metaObject") || - name() == QLatin1String("tr") || - name() == QLatin1String("trUtf8") || - name() == QLatin1String("d_func")) { + if (name().startsWith(QLatin1String("qt_")) || name() == QLatin1String("metaObject") + || name() == QLatin1String("tr") || name() == QLatin1String("trUtf8") + || name() == QLatin1String("d_func")) { return true; } QString s = signature(false, false); @@ -4458,16 +4427,14 @@ QString PropertyNode::qualifiedDataType() const if (type_.contains(QLatin1Char('*')) || type_.contains(QLatin1Char('&'))) { // 'QWidget *' becomes 'QWidget *' const return type_ + " const"; - } - else { + } else { /* 'int' becomes 'const int' ('int const' is correct C++, but looks wrong) */ return "const " + type_; } - } - else { + } else { return type_; } } @@ -4554,7 +4521,6 @@ void QmlTypeNode::subclasses(const Node *base, NodeList &subs) } } - /*! If this QML type node has a base type node, return the fully qualified name of that QML @@ -4628,9 +4594,7 @@ QmlBasicTypeNode::QmlBasicTypeNode(Aggregate *parent, const QString &name, Node: /*! Constructor for the QML property node. */ -QmlPropertyNode::QmlPropertyNode(Aggregate *parent, - const QString &name, - const QString &type, +QmlPropertyNode::QmlPropertyNode(Aggregate *parent, const QString &name, const QString &type, bool attached) : Node(parent->isJsType() ? JsProperty : QmlProperty, parent, name), type_(type), @@ -4672,16 +4636,20 @@ bool QmlPropertyNode::isWritable() if (pn) return pn->isWritable(); else - defLocation().warning(tr("No Q_PROPERTY for QML property %1::%2::%3 " - "in C++ class documented as QML type: " - "(property not found in the C++ class or its base classes)") - .arg(logicalModuleName()).arg(qmlTypeName()).arg(name())); - } - else + defLocation().warning( + tr("No Q_PROPERTY for QML property %1::%2::%3 " + "in C++ class documented as QML type: " + "(property not found in the C++ class or its base classes)") + .arg(logicalModuleName()) + .arg(qmlTypeName()) + .arg(name())); + } else defLocation().warning(tr("No Q_PROPERTY for QML property %1::%2::%3 " "in C++ class documented as QML type: " "(C++ class not specified or not found).") - .arg(logicalModuleName()).arg(qmlTypeName()).arg(name())); + .arg(logicalModuleName()) + .arg(qmlTypeName()) + .arg(name())); } } return true; @@ -4729,8 +4697,7 @@ PropertyNode *QmlPropertyNode::findCorrespondingCppProperty() */ return (pn2 ? pn2 : pn); } - } - else + } else return pn; } } @@ -4767,8 +4734,7 @@ PropertyNode *QmlPropertyNode::findCorrespondingCppProperty() appends this node to that Tree's proxy list so it will be easy to find later. */ -ProxyNode::ProxyNode(Aggregate *parent, const QString &name) - : Aggregate(Node::Proxy, parent, name) +ProxyNode::ProxyNode(Aggregate *parent, const QString &name) : Aggregate(Node::Proxy, parent, name) { tree()->appendProxy(this); } @@ -4841,7 +4807,7 @@ bool CollectionNode::hasClasses() const Loads \a out with all this collection node's members that are namespace nodes. */ -void CollectionNode::getMemberNamespaces(NodeMap& out) +void CollectionNode::getMemberNamespaces(NodeMap &out) { out.clear(); for (const auto &member : qAsConst(members_)) { @@ -4854,7 +4820,7 @@ void CollectionNode::getMemberNamespaces(NodeMap& out) Loads \a out with all this collection node's members that are class nodes. */ -void CollectionNode::getMemberClasses(NodeMap& out) const +void CollectionNode::getMemberClasses(NodeMap &out) const { out.clear(); for (const auto &i : qAsConst(members_)) { @@ -4944,7 +4910,6 @@ Node *SharedCommentNode::clone(Aggregate *parent) return scn; } - /*! Sets the related nonmember flag in this node and in each node in the shared comment's collective. diff --git a/src/qdoc/node.h b/src/qdoc/node.h index 6594df921..5a97d194a 100644 --- a/src/qdoc/node.h +++ b/src/qdoc/node.h @@ -124,12 +124,7 @@ public: ThreadSafe }; - enum LinkType : unsigned char { - StartLink, - NextLink, - PreviousLink, - ContentsLink - }; + enum LinkType : unsigned char { StartLink, NextLink, PreviousLink, ContentsLink }; enum PageType : unsigned char { NoPageType, @@ -144,13 +139,9 @@ public: OnBeyondZebra }; - enum FlagValue { - FlagValueDefault = -1, - FlagValueFalse = 0, - FlagValueTrue = 1 - }; + enum FlagValue { FlagValueDefault = -1, FlagValueFalse = 0, FlagValueTrue = 1 }; - virtual ~Node() { } + virtual ~Node() {} virtual Node *clone(Aggregate *) { return nullptr; } // currently only FunctionNode virtual Tree *tree() const; Aggregate *root() const; @@ -178,7 +169,8 @@ public: bool isEnumType() const { return nodeType_ == Enum; } bool isExample() const { return nodeType_ == Example; } bool isExternalPage() const { return nodeType_ == ExternalPage; } - bool isFunction(Genus g = DontCare) const { + bool isFunction(Genus g = DontCare) const + { return (nodeType_ != Function ? false : (genus() == g ? true : g == DontCare)); } bool isGroup() const { return nodeType_ == Group; } @@ -215,7 +207,10 @@ public: virtual bool isAbstract() const { return false; } virtual bool isAggregate() const { return false; } // means "can have children" - virtual bool isFirstClassAggregate() const { return false; } // Aggregate but not proxy or prop group" + virtual bool isFirstClassAggregate() const + { + return false; + } // Aggregate but not proxy or prop group" virtual bool isAlias() const { return false; } virtual bool isAttached() const { return false; } virtual bool isClassNode() const { return false; } @@ -237,7 +232,7 @@ public: QString plainFullName(const Node *relative = nullptr) const; QString plainSignature() const; QString fullName(const Node *relative = nullptr) const; - virtual QString signature(bool , bool ) const { return plainName(); } + virtual QString signature(bool, bool) const { return plainName(); } const QString &fileNameBase() const { return fileNameBase_; } bool hasFileNameBase() const { return !fileNameBase_.isEmpty(); } @@ -246,7 +241,8 @@ public: void setAccess(Access t) { access_ = t; } void setLocation(const Location &t); void setDoc(const Doc &doc, bool replace = false); - void setStatus(Status t) { + void setStatus(Status t) + { if (status_ == Obsolete && t == Deprecated) return; status_ = t; @@ -261,20 +257,20 @@ public: void setIndexNodeFlag(bool isIndexNode = true) { indexNodeFlag_ = isIndexNode; } void setHadDoc() { hadDoc_ = true; } virtual void setRelatedNonmember(bool b) { relatedNonmember_ = b; } - virtual void setOutputFileName(const QString &) { } - virtual void addMember(Node *) { } + virtual void setOutputFileName(const QString &) {} + virtual void addMember(Node *) {} virtual bool hasMembers() const { return false; } virtual bool hasNamespaces() const { return false; } virtual bool hasClasses() const { return false; } - virtual void setAbstract(bool ) { } - virtual void setWrapper() { } - virtual void getMemberNamespaces(NodeMap &) { } - virtual void getMemberClasses(NodeMap &) const { } - virtual void setDataType(const QString &) { } + virtual void setAbstract(bool) {} + virtual void setWrapper() {} + virtual void getMemberNamespaces(NodeMap &) {} + virtual void getMemberClasses(NodeMap &) const {} + virtual void setDataType(const QString &) {} virtual bool wasSeen() const { return false; } - virtual void appendGroupName(const QString &) { } + virtual void appendGroupName(const QString &) {} virtual QString element() const { return QString(); } - virtual void setNoAutoList(bool ) { } + virtual void setNoAutoList(bool) {} virtual bool docMustBeGenerated() const { return false; } virtual QString title() const { return name(); } @@ -283,9 +279,13 @@ public: virtual bool setTitle(const QString &) { return false; } virtual bool setSubtitle(const QString &) { return false; } - void markInternal() { setAccess(Private); setStatus(Internal); } - virtual void markDefault() { } - virtual void markReadOnly(bool ) { } + void markInternal() + { + setAccess(Private); + setStatus(Internal); + } + virtual void markDefault() {} + virtual void markReadOnly(bool) {} bool match(const QVector<int> &types) const; Aggregate *parent() const { return parent_; } @@ -295,19 +295,22 @@ public: virtual QString nameForLists() const { return name_; } virtual QString outputFileName() const { return QString(); } virtual QString obsoleteLink() const { return QString(); } - virtual void setObsoleteLink(const QString &) { } - virtual void setQtVariable(const QString &) { } + virtual void setObsoleteLink(const QString &) {} + virtual void setQtVariable(const QString &) {} virtual QString qtVariable() const { return QString(); } virtual bool hasTag(const QString &) const { return false; } - const QMap<LinkType, QPair<QString,QString> > &links() const { return linkMap_; } + const QMap<LinkType, QPair<QString, QString>> &links() const { return linkMap_; } void setLink(LinkType linkType, const QString &link, const QString &desc); Access access() const { return access_; } QString accessString() const; const Location &declLocation() const { return declLocation_; } const Location &defLocation() const { return defLocation_; } - const Location &location() const { return (defLocation_.isEmpty() ? declLocation_ : defLocation_); } + const Location &location() const + { + return (defLocation_.isEmpty() ? declLocation_ : defLocation_); + } const Doc &doc() const { return doc_; } bool isInAPI() const { return !isPrivate() && !isInternal() && hasDoc(); } bool hasDoc() const { return (hadDoc_ || !doc_.isEmpty()); } @@ -319,26 +322,26 @@ public: QString templateStuff() const { return templateStuff_; } const QString &reconstitutedBrief() const { return reconstitutedBrief_; } QString nodeSubtypeString() const; - virtual void addPageKeywords(const QString &) { } + virtual void addPageKeywords(const QString &) {} bool isSharingComment() const { return (sharedCommentNode_ != nullptr); } bool hasSharedDoc() const; void setSharedCommentNode(SharedCommentNode *t) { sharedCommentNode_ = t; } SharedCommentNode *sharedCommentNode() { return sharedCommentNode_; } - //QString guid() const; + // QString guid() const; QString extractClassName(const QString &string) const; virtual QString qmlTypeName() const { return name_; } virtual QString qmlFullBaseName() const { return QString(); } virtual QString logicalModuleName() const { return QString(); } virtual QString logicalModuleVersion() const { return QString(); } virtual QString logicalModuleIdentifier() const { return QString(); } - virtual void setLogicalModuleInfo(const QString &) { } - virtual void setLogicalModuleInfo(const QStringList &) { } + virtual void setLogicalModuleInfo(const QString &) {} + virtual void setLogicalModuleInfo(const QStringList &) {} virtual CollectionNode *logicalModule() const { return nullptr; } - virtual void setQmlModule(CollectionNode *) { } + virtual void setQmlModule(CollectionNode *) {} virtual ClassNode *classNode() { return nullptr; } - virtual void setClassNode(ClassNode *) { } + virtual void setClassNode(ClassNode *) {} QmlTypeNode *qmlTypeNode(); ClassNode *declarativeCppNode(); const QString &outputSubdirectory() const { return outSubDir_; } @@ -379,29 +382,35 @@ private: Location declLocation_; Location defLocation_; Doc doc_; - QMap<LinkType, QPair<QString, QString> > linkMap_; + QMap<LinkType, QPair<QString, QString>> linkMap_; QString fileNameBase_; QString physicalModuleName_; QString url_; QString since_; QString templateStuff_; QString reconstitutedBrief_; - //mutable QString uuid_; + // mutable QString uuid_; QString outSubDir_; static QStringMap operators_; static int propertyGroupCount_; - static QMap<QString,Node::NodeType> goals_; + static QMap<QString, Node::NodeType> goals_; }; class PageNode : public Node { public: - PageNode(Aggregate *parent, const QString &name) : Node(Page, parent, name), - noAutoList_(false) { } - PageNode(NodeType type, Aggregate *parent, const QString &name) : Node(type, parent, name), - noAutoList_(false) { } - PageNode(Aggregate *parent, const QString &name, PageType ptype) : Node(Page, parent, name), - noAutoList_(false) { setPageType(ptype); } + PageNode(Aggregate *parent, const QString &name) : Node(Page, parent, name), noAutoList_(false) + { + } + PageNode(NodeType type, Aggregate *parent, const QString &name) + : Node(type, parent, name), noAutoList_(false) + { + } + PageNode(Aggregate *parent, const QString &name, PageType ptype) + : Node(Page, parent, name), noAutoList_(false) + { + setPageType(ptype); + } bool isPageNode() const override { return true; } bool isTextPageNode() const override { return !isAggregate(); } // PageNode but not Aggregate @@ -410,14 +419,18 @@ public: QString subtitle() const override { return subtitle_; } QString fullTitle() const override; bool setTitle(const QString &title) override; - bool setSubtitle(const QString &subtitle) override { subtitle_ = subtitle; return true; } + bool setSubtitle(const QString &subtitle) override + { + subtitle_ = subtitle; + return true; + } QString nameForLists() const override { return title(); } virtual QString imageFileName() const { return QString(); } - virtual void setImageFileName(const QString &) { } + virtual void setImageFileName(const QString &) {} bool noAutoList() const { return noAutoList_; } - void setNoAutoList(bool b) override { noAutoList_ = b; } + void setNoAutoList(bool b) override { noAutoList_ = b; } const QStringList &groupNames() const { return groupNames_; } void appendGroupName(const QString &t) override { groupNames_.append(t); } @@ -442,7 +455,8 @@ class ExternalPageNode : public PageNode { public: ExternalPageNode(Aggregate *parent, const QString &url) - : PageNode(Node::ExternalPage, parent, url) { + : PageNode(Node::ExternalPage, parent, url) + { setPageType(Node::ArticlePage); setUrl(url); } @@ -452,7 +466,7 @@ class Aggregate : public PageNode { public: Node *findChildNode(const QString &name, Node::Genus genus, int findFlags = 0) const; - Node *findNonfunctionChild(const QString &name, bool (Node:: *) () const); + Node *findNonfunctionChild(const QString &name, bool (Node::*)() const); void findChildren(const QString &name, NodeVector &nodes) const; FunctionNode *findFunctionChild(const QString &name, const Parameters ¶meters); FunctionNode *findFunctionChild(const FunctionNode *clone); @@ -499,7 +513,9 @@ public: protected: Aggregate(NodeType type, Aggregate *parent, const QString &name) - : PageNode(type, parent, name), functionCount_(0) { } + : PageNode(type, parent, name), functionCount_(0) + { + } ~Aggregate() override; void removeFunctionNode(FunctionNode *fn); @@ -535,8 +551,10 @@ public: class NamespaceNode : public Aggregate { public: - NamespaceNode(Aggregate *parent, const QString &name) : Aggregate(Namespace, parent, name), - seen_(false), tree_(nullptr), docNode_(nullptr) { } + NamespaceNode(Aggregate *parent, const QString &name) + : Aggregate(Namespace, parent, name), seen_(false), tree_(nullptr), docNode_(nullptr) + { + } ~NamespaceNode() override; Tree *tree() const override { return (parent() ? parent()->tree() : tree_); } @@ -567,13 +585,14 @@ private: struct RelatedClass { - RelatedClass() { } + RelatedClass() {} // constructor for resolved base class - RelatedClass(Node::Access access, ClassNode *node) - : access_(access), node_(node) { } + RelatedClass(Node::Access access, ClassNode *node) : access_(access), node_(node) {} // constructor for unresolved base class RelatedClass(Node::Access access, const QStringList &path, const QString &signature) - : access_(access), node_(nullptr), path_(path), signature_(signature) { } + : access_(access), node_(nullptr), path_(path), signature_(signature) + { + } QString accessString() const; bool isPrivate() const { return (access_ == Node::Private); } @@ -585,21 +604,23 @@ struct RelatedClass struct UsingClause { - UsingClause() { } - UsingClause(const QString &signature) : node_(nullptr), signature_(signature) { } + UsingClause() {} + UsingClause(const QString &signature) : node_(nullptr), signature_(signature) {} const QString &signature() const { return signature_; } const Node *node() { return node_; } void setNode(const Node *n) { node_ = n; } const Node *node_; - QString signature_; + QString signature_; }; class ClassNode : public Aggregate { public: - ClassNode(NodeType type, Aggregate *parent, const QString &name) : Aggregate(type, parent, name), - abstract_(false), wrapper_(false), qmlelement(nullptr) { } + ClassNode(NodeType type, Aggregate *parent, const QString &name) + : Aggregate(type, parent, name), abstract_(false), wrapper_(false), qmlelement(nullptr) + { + } bool isFirstClassAggregate() const override { return true; } bool isClassNode() const override { return true; } bool isRelatableType() const override { return true; } @@ -658,9 +679,20 @@ public: bool isRelatableType() const override { return true; } QString title() const override { return (title_.isEmpty() ? name() : title_); } QString subtitle() const override { return subtitle_; } - QString fullTitle() const override { return (title_.isEmpty() ? name() : name() + " - " + title_); } - bool setTitle(const QString &title) override { title_ = title; return true; } - bool setSubtitle(const QString &subtitle) override { subtitle_ = subtitle; return true; } + QString fullTitle() const override + { + return (title_.isEmpty() ? name() : name() + " - " + title_); + } + bool setTitle(const QString &title) override + { + title_ = title; + return true; + } + bool setSubtitle(const QString &subtitle) override + { + subtitle_ = subtitle; + return true; + } QString nameForLists() const override { return title(); } bool hasDocumentedChildren() const; @@ -672,8 +704,7 @@ private: class ExampleNode : public PageNode { public: - ExampleNode(Aggregate *parent, const QString &name) - : PageNode(Node::Example, parent, name) { } + ExampleNode(Aggregate *parent, const QString &name) : PageNode(Node::Example, parent, name) {} QString imageFileName() const override { return imageFileName_; } void setImageFileName(const QString &ifn) override { imageFileName_ = ifn; } const QStringList &files() const { return files_; } @@ -689,17 +720,18 @@ private: QStringList images_; }; -struct ImportRec { - QString name_; // module name - QString version_; // <major> . <minor> - QString importId_; // "as" name +struct ImportRec +{ + QString name_; // module name + QString version_; // <major> . <minor> + QString importId_; // "as" name QString importUri_; // subdirectory of module directory - ImportRec(const QString &name, - const QString &version, - const QString &importId, + ImportRec(const QString &name, const QString &version, const QString &importId, const QString &importUri) - : name_(name), version_(version), importId_(importId), importUri_(importUri) { } + : name_(name), version_(version), importId_(importId), importUri_(importUri) + { + } QString &name() { return name_; } QString &version() { return version_; } QString &importId() { return importId_; } @@ -714,7 +746,8 @@ class QmlTypeNode : public Aggregate public: QmlTypeNode(Aggregate *parent, const QString &name, NodeType type = QmlType); bool isFirstClassAggregate() const override { return true; } - bool isQtQuickNode() const override { + bool isQtQuickNode() const override + { return (logicalModuleName() == QLatin1String("QtQuick")); } ClassNode *classNode() override { return cnode_; } @@ -775,10 +808,7 @@ class QmlPropertyNode : public Node Q_DECLARE_TR_FUNCTIONS(QDoc::QmlPropertyNode) public: - QmlPropertyNode(Aggregate *parent, - const QString &name, - const QString &type, - bool attached); + QmlPropertyNode(Aggregate *parent, const QString &name, const QString &type, bool attached); void setDataType(const QString &dataType) override { type_ = dataType; } void setStored(bool stored) { stored_ = toFlagValue(stored); } @@ -787,24 +817,18 @@ public: const QString &dataType() const { return type_; } QString qualifiedDataType() const { return type_; } bool isReadOnlySet() const { return (readOnly_ != FlagValueDefault); } - bool isStored() const { return fromFlagValue(stored_,true); } - bool isDesignable() const { return fromFlagValue(designable_,false); } + bool isStored() const { return fromFlagValue(stored_, true); } + bool isDesignable() const { return fromFlagValue(designable_, false); } bool isWritable(); bool isDefault() const override { return isdefault_; } - bool isReadOnly() const override { return fromFlagValue(readOnly_,false); } + bool isReadOnly() const override { return fromFlagValue(readOnly_, false); } bool isAlias() const override { return isAlias_; } bool isAttached() const override { return attached_; } bool isQtQuickNode() const override { return parent()->isQtQuickNode(); } QString qmlTypeName() const override { return parent()->qmlTypeName(); } - QString logicalModuleName() const override { - return parent()->logicalModuleName(); - } - QString logicalModuleVersion() const override { - return parent()->logicalModuleVersion(); - } - QString logicalModuleIdentifier() const override { - return parent()->logicalModuleIdentifier(); - } + QString logicalModuleName() const override { return parent()->logicalModuleName(); } + QString logicalModuleVersion() const override { return parent()->logicalModuleVersion(); } + QString logicalModuleIdentifier() const override { return parent()->logicalModuleIdentifier(); } QString element() const override { return parent()->name(); } void markDefault() override { isdefault_ = true; } @@ -815,20 +839,19 @@ private: private: QString type_; - FlagValue stored_; - FlagValue designable_; - bool isAlias_; - bool isdefault_; - bool attached_; - FlagValue readOnly_; + FlagValue stored_; + FlagValue designable_; + bool isAlias_; + bool isdefault_; + bool attached_; + FlagValue readOnly_; }; class EnumItem { public: - EnumItem() { } - EnumItem(const QString &name, const QString &value) - : name_(name), value_(value) { } + EnumItem() {} + EnumItem(const QString &name, const QString &value) : name_(name), value_(value) {} const QString &name() const { return name_; } const QString &value() const { return value_; } @@ -841,7 +864,9 @@ private: class EnumNode : public Node { public: - EnumNode(Aggregate *parent, const QString &name) : Node(Enum, parent, name), flagsType_(nullptr) { } + EnumNode(Aggregate *parent, const QString &name) : Node(Enum, parent, name), flagsType_(nullptr) + { + } void addItem(const EnumItem &item); void setFlagsType(TypedefNode *typedeff); @@ -862,8 +887,10 @@ private: class TypedefNode : public Node { public: - TypedefNode(Aggregate *parent, const QString &name) : Node(Typedef, parent, name), - associatedEnum_(nullptr) { } + TypedefNode(Aggregate *parent, const QString &name) + : Node(Typedef, parent, name), associatedEnum_(nullptr) + { + } bool hasAssociatedEnum() const { return associatedEnum_ != nullptr; } const EnumNode *associatedEnum() const { return associatedEnum_; } @@ -881,7 +908,9 @@ class TypeAliasNode : public TypedefNode { public: TypeAliasNode(Aggregate *parent, const QString &name, const QString &aliasedType) - : TypedefNode(parent, name), aliasedType_(aliasedType) { } + : TypedefNode(parent, name), aliasedType_(aliasedType) + { + } QString aliasedType() { return aliasedType_; } Node *clone(Aggregate *parent) override; @@ -899,24 +928,30 @@ inline void EnumNode::setFlagsType(TypedefNode *t) class SharedCommentNode : public Node { public: - SharedCommentNode(Node *n) - : Node(Node::SharedComment, n->parent(), QString()) { + SharedCommentNode(Node *n) : Node(Node::SharedComment, n->parent(), QString()) + { collective_.reserve(1); append(n); } - SharedCommentNode(QmlTypeNode *parent, int count, QString &group) - : Node(Node::SharedComment, parent, group) { + SharedCommentNode(QmlTypeNode *parent, int count, QString &group) + : Node(Node::SharedComment, parent, group) + { collective_.reserve(count); } ~SharedCommentNode() override { collective_.clear(); } - bool isPropertyGroup() const override { - return !name().isEmpty() && - !collective_.isEmpty() && - (collective_.at(0)->isQmlProperty() || collective_.at(0)->isJsProperty()); + bool isPropertyGroup() const override + { + return !name().isEmpty() && !collective_.isEmpty() + && (collective_.at(0)->isQmlProperty() || collective_.at(0)->isJsProperty()); } int count() const { return collective_.size(); } - void append(Node *n) { collective_.append(n); n->setSharedCommentNode(this); setGenus(n->genus()); } + void append(Node *n) + { + collective_.append(n); + n->setSharedCommentNode(this); + setGenus(n->genus()); + } const QVector<Node *> &collective() const { return collective_; } void setOverloadFlags(); void setRelatedNonmember(bool b) override; @@ -937,13 +972,13 @@ public: Slot, Ctor, Dtor, - CCtor, // copy constructor - MCtor, // move-copy constructor + CCtor, // copy constructor + MCtor, // move-copy constructor MacroWithParams, MacroWithoutParams, Native, - CAssign, // copy-assignment operator - MAssign, // move-assignment operator + CAssign, // copy-assignment operator + MAssign, // move-assignment operator QmlSignal, QmlSignalHandler, QmlMethod, @@ -1005,7 +1040,8 @@ public: bool isQmlSignal() const { return (metaness_ == QmlSignal); } bool isQmlSignalHandler() const { return (metaness_ == QmlSignalHandler); } - bool isSpecialMemberFunction() const { + bool isSpecialMemberFunction() const + { return (isDtor() || isCCtor() || isMCtor() || isCAssign() || isMAssign()); } bool isNonvirtual() const { return (virtualness_ == NonVirtual); } @@ -1075,8 +1111,8 @@ private: bool const_ : 1; bool static_ : 1; - bool reimpFlag_: 1; - bool attached_: 1; + bool reimpFlag_ : 1; + bool attached_ : 1; bool overloadFlag_ : 1; bool isFinal_ : 1; bool isOverride_ : 1; @@ -1212,7 +1248,9 @@ class CollectionNode : public PageNode { public: CollectionNode(NodeType type, Aggregate *parent, const QString &name) - : PageNode(type, parent, name), seen_(false) { } + : PageNode(type, parent, name), seen_(false) + { + } bool isCollectionNode() const override { return true; } QString qtVariable() const override { return qtVariable_; } @@ -1227,10 +1265,12 @@ public: QString fullTitle() const override { return title(); } QString logicalModuleName() const override { return logicalModuleName_; } - QString logicalModuleVersion() const override { + QString logicalModuleVersion() const override + { return logicalModuleVersionMajor_ + QLatin1Char('.') + logicalModuleVersionMinor_; } - QString logicalModuleIdentifier() const override { + QString logicalModuleIdentifier() const override + { return logicalModuleName_ + logicalModuleVersionMajor_; } void setLogicalModuleInfo(const QString &arg) override; diff --git a/src/qdoc/openedlist.cpp b/src/qdoc/openedlist.cpp index a36e3b545..eed679e80 100644 --- a/src/qdoc/openedlist.cpp +++ b/src/qdoc/openedlist.cpp @@ -40,13 +40,9 @@ QT_BEGIN_NAMESPACE static const char roman[] = "m\2d\5c\2l\5x\2v\5i"; -OpenedList::OpenedList(ListStyle style) - : sty(style), ini(1), nex(0) -{ -} +OpenedList::OpenedList(ListStyle style) : sty(style), ini(1), nex(0) {} -OpenedList::OpenedList(const Location &location, const QString &hint) - : sty(Bullet), ini(1) +OpenedList::OpenedList(const Location &location, const QString &hint) : sty(Bullet), ini(1) { QRegExp hintSyntax("(\\W*)([0-9]+|[A-Z]+|[a-z]+)(\\W*)"); diff --git a/src/qdoc/openedlist.h b/src/qdoc/openedlist.h index 6c4cea6c0..604eabb6f 100644 --- a/src/qdoc/openedlist.h +++ b/src/qdoc/openedlist.h @@ -44,11 +44,9 @@ class OpenedList Q_DECLARE_TR_FUNCTIONS(QDoc::OpenedList) public: - enum ListStyle { Bullet, Tag, Value, Numeric, UpperAlpha, LowerAlpha, - UpperRoman, LowerRoman }; + enum ListStyle { Bullet, Tag, Value, Numeric, UpperAlpha, LowerAlpha, UpperRoman, LowerRoman }; - OpenedList() - : sty(Bullet), ini(1), nex(0) { } + OpenedList() : sty(Bullet), ini(1), nex(0) {} OpenedList(ListStyle style); OpenedList(const Location &location, const QString &hint); diff --git a/src/qdoc/parameters.cpp b/src/qdoc/parameters.cpp index 96a591a2a..7dfe018f6 100644 --- a/src/qdoc/parameters.cpp +++ b/src/qdoc/parameters.cpp @@ -83,8 +83,7 @@ QString Parameter::signature(bool includeValue) const of its parameters. */ -Parameters::Parameters() - : valid_(true), privateSignal_(false), tok_(0), tokenizer_(nullptr) +Parameters::Parameters() : valid_(true), privateSignal_(false), tok_(0), tokenizer_(nullptr) { // nothing. } @@ -152,14 +151,11 @@ void Parameters::matchTemplateAngles(CodeChunk &type) do { if (tok_ == Tok_LeftAngle) { leftAngleDepth++; - } - else if (tok_ == Tok_RightAngle) { + } else if (tok_ == Tok_RightAngle) { leftAngleDepth--; - } - else if (tok_ == Tok_LeftParen || tok_ == Tok_LeftBrace) { + } else if (tok_ == Tok_LeftParen || tok_ == Tok_LeftBrace) { ++parenAndBraceDepth; - } - else if (tok_ == Tok_RightParen || tok_ == Tok_RightBrace) { + } else if (tok_ == Tok_RightParen || tok_ == Tok_RightBrace) { if (--parenAndBraceDepth < 0) return; } @@ -198,8 +194,8 @@ bool Parameters::matchTypeAndName(CodeChunk &type, QString &name, bool qProp) while (match(Tok_const) || match(Tok_volatile)) type.append(previousLexeme()); QString pending; - while (tok_ == Tok_signed || tok_ == Tok_int || tok_ == Tok_unsigned || - tok_ == Tok_short || tok_ == Tok_long || tok_ == Tok_int64) { + while (tok_ == Tok_signed || tok_ == Tok_int || tok_ == Tok_unsigned + || tok_ == Tok_short || tok_ == Tok_long || tok_ == Tok_int64) { if (tok_ == Tok_signed) pending = lexeme(); else { @@ -229,25 +225,22 @@ bool Parameters::matchTypeAndName(CodeChunk &type, QString &name, bool qProp) with the real one used in Qt Creator. Is it still needed? mws 11/12/2018 */ - if (lexeme() == "(" && - ((previousLexeme() == "QT_PREPEND_NAMESPACE") || (previousLexeme() == "NS"))) { + if (lexeme() == "(" + && ((previousLexeme() == "QT_PREPEND_NAMESPACE") + || (previousLexeme() == "NS"))) { readToken(); readToken(); type.append(previousLexeme()); readToken(); - } - else + } else type.append(previousLexeme()); - } - else if (match(Tok_void) || match(Tok_int) || match(Tok_char) || - match(Tok_double) || match(Tok_Ellipsis)) { + } else if (match(Tok_void) || match(Tok_int) || match(Tok_char) || match(Tok_double) + || match(Tok_Ellipsis)) { type.append(previousLexeme()); - } - else { + } else { return false; } - } - else if (match(Tok_int) || match(Tok_char) || match(Tok_double)) { + } else if (match(Tok_int) || match(Tok_char) || match(Tok_double)) { type.append(previousLexeme()); } @@ -262,8 +255,8 @@ bool Parameters::matchTypeAndName(CodeChunk &type, QString &name, bool qProp) break; } - while (match(Tok_Ampersand) || match(Tok_Aster) || match(Tok_const) || - match(Tok_Caret) || match(Tok_Ellipsis)) + while (match(Tok_Ampersand) || match(Tok_Aster) || match(Tok_const) || match(Tok_Caret) + || match(Tok_Ellipsis)) type.append(previousLexeme()); if (match(Tok_LeftParenAster)) { @@ -296,8 +289,7 @@ bool Parameters::matchTypeAndName(CodeChunk &type, QString &name, bool qProp) if (!match(Tok_RightParen)) return false; type.append(previousLexeme()); - } - else { + } else { /* The common case: Look for an optional identifier, then for some array brackets. @@ -306,8 +298,7 @@ bool Parameters::matchTypeAndName(CodeChunk &type, QString &name, bool qProp) if (match(Tok_Ident)) { name = previousLexeme(); - } - else if (match(Tok_Comment)) { + } else if (match(Tok_Comment)) { /* A neat hack: Commented-out parameter names are recognized by qdoc. It's impossible to illustrate @@ -318,8 +309,7 @@ bool Parameters::matchTypeAndName(CodeChunk &type, QString &name, bool qProp) */ if (varComment_.exactMatch(previousLexeme())) name = varComment_.cap(1); - } - else if (match(Tok_LeftParen)) { + } else if (match(Tok_LeftParen)) { name = "("; while (tok_ != Tok_RightParen && tok_ != Tok_Eoi) { name.append(lexeme()); @@ -336,17 +326,15 @@ bool Parameters::matchTypeAndName(CodeChunk &type, QString &name, bool qProp) name.append("]"); readToken(); } - } - else if (qProp && (match(Tok_default) || match(Tok_final) || match(Tok_override))) { + } else if (qProp && (match(Tok_default) || match(Tok_final) || match(Tok_override))) { // Hack to make 'default', 'final' and 'override' work again in Q_PROPERTY name = previousLexeme(); } if (tok_ == Tok_LeftBracket) { int bracketDepth0 = tokenizer_->bracketDepth(); - while ((tokenizer_->bracketDepth() >= bracketDepth0 && - tok_ != Tok_Eoi) || - tok_ == Tok_RightBracket) { + while ((tokenizer_->bracketDepth() >= bracketDepth0 && tok_ != Tok_Eoi) + || tok_ == Tok_RightBracket) { type.append(lexeme()); readToken(); } @@ -377,9 +365,8 @@ bool Parameters::matchParameter() if (match(Tok_Equal)) { chunk.clear(); int pdepth = tokenizer_->parenDepth(); - while (tokenizer_->parenDepth() >= pdepth && - (tok_ != Tok_Comma || (tokenizer_->parenDepth() > pdepth)) && - tok_ != Tok_Eoi) { + while (tokenizer_->parenDepth() >= pdepth + && (tok_ != Tok_Comma || (tokenizer_->parenDepth() > pdepth)) && tok_ != Tok_Eoi) { chunk.append(lexeme()); readToken(); } diff --git a/src/qdoc/parameters.h b/src/qdoc/parameters.h index 7e72d1689..e049fed51 100644 --- a/src/qdoc/parameters.h +++ b/src/qdoc/parameters.h @@ -43,10 +43,11 @@ class Parameter { public: Parameter() {} - Parameter(const QString &type, - const QString &name = QString(), + Parameter(const QString &type, const QString &name = QString(), const QString &defaultValue = QString()) - : type_(type), name_(name), defaultValue_(defaultValue) { } + : type_(type), name_(name), defaultValue_(defaultValue) + { + } void setName(const QString &name) { name_ = name; } bool hasType() const { return !type_.isEmpty(); } @@ -55,12 +56,18 @@ public: const QString &defaultValue() const { return defaultValue_; } void setDefaultValue(const QString &t) { defaultValue_ = t; } - void set(const QString &type, const QString &name) { - type_ = type; name_ = name; defaultValue_.clear(); + void set(const QString &type, const QString &name) + { + type_ = type; + name_ = name; + defaultValue_.clear(); } - void set(const QString &type, const QString &name, const QString &defaultValue) { - type_ = type; name_ = name; defaultValue_ = defaultValue; + void set(const QString &type, const QString &name, const QString &defaultValue) + { + type_ = type; + name_ = name; + defaultValue_ = defaultValue; } QString signature(bool includeValue = false) const; @@ -79,7 +86,12 @@ public: Parameters(); Parameters(const QString &signature); - void clear() { parameters_.clear(); privateSignal_ = false; valid_ = true; } + void clear() + { + parameters_.clear(); + privateSignal_ = false; + valid_ = true; + } const ParameterVector ¶meters() const { return parameters_; } bool isPrivateSignal() const { return privateSignal_; } bool isEmpty() const { return parameters_.isEmpty(); } diff --git a/src/qdoc/puredocparser.cpp b/src/qdoc/puredocparser.cpp index 6ba46a20e..ea3757747 100644 --- a/src/qdoc/puredocparser.cpp +++ b/src/qdoc/puredocparser.cpp @@ -44,7 +44,10 @@ PureDocParser *PureDocParser::pureParser_ = nullptr; */ QStringList PureDocParser::sourceFileNameFilter() { - return QStringList() << "*.qdoc" << "*.qtx" << "*.qtt" << "*.js"; + return QStringList() << "*.qdoc" + << "*.qtx" + << "*.qtt" + << "*.js"; } /*! @@ -102,7 +105,8 @@ bool PureDocParser::processQdocComments() if (topics.isEmpty()) { doc.location().warning(tr("This qdoc comment contains no topic command " "(e.g., '\\%1', '\\%2').") - .arg(COMMAND_MODULE).arg(COMMAND_PAGE)); + .arg(COMMAND_MODULE) + .arg(COMMAND_PAGE)); continue; } if (hasTooManyTopics(doc)) @@ -114,8 +118,7 @@ bool PureDocParser::processQdocComments() processTopicArgs(doc, topic, nodes, docs); processMetaCommands(nodes, docs); - } - else { + } else { tok_ = tokenizer_->getToken(); } } diff --git a/src/qdoc/qdoccommandlineparser.cpp b/src/qdoc/qdoccommandlineparser.cpp index 33009c512..3bd01fae5 100644 --- a/src/qdoc/qdoccommandlineparser.cpp +++ b/src/qdoc/qdoccommandlineparser.cpp @@ -41,7 +41,8 @@ QDocCommandLineParser::QDocCommandLineParser() dependsOption(QStringList() << QStringLiteral("depends")), highlightingOption(QStringList() << QStringLiteral("highlighting")), showInternalOption(QStringList() << QStringLiteral("showinternal")), - redirectDocumentationToDevNullOption(QStringList() << QStringLiteral("redirect-documentation-to-dev-null")), + redirectDocumentationToDevNullOption(QStringList() + << QStringLiteral("redirect-documentation-to-dev-null")), noExamplesOption(QStringList() << QStringLiteral("no-examples")), indexDirOption(QStringList() << QStringLiteral("indexdir")), installDirOption(QStringList() << QStringLiteral("installdir")), @@ -57,8 +58,10 @@ QDocCommandLineParser::QDocCommandLineParser() singleExecOption(QStringList() << QStringLiteral("single-exec")), writeQaPagesOption(QStringList() << QStringLiteral("write-qa-pages")), includePathOption("I", "Add dir to the include path for header files.", "path"), - includePathSystemOption("isystem", "Add dir to the system include path for header files.", "path"), - frameworkOption("F", "Add macOS framework to the include path for header files.", "framework"), + includePathSystemOption("isystem", "Add dir to the system include path for header files.", + "path"), + frameworkOption("F", "Add macOS framework to the include path for header files.", + "framework"), timestampsOption(QStringList() << QStringLiteral("timestamps")) { setApplicationDescription(QCoreApplication::translate("qdoc", "Qt documentation generator")); @@ -69,7 +72,8 @@ QDocCommandLineParser::QDocCommandLineParser() addPositionalArgument("file1.qdocconf ...", QCoreApplication::translate("qdoc", "Input files")); - defineOption.setDescription(QCoreApplication::translate("qdoc", "Define the argument as a macro while parsing sources")); + defineOption.setDescription(QCoreApplication::translate( + "qdoc", "Define the argument as a macro while parsing sources")); defineOption.setValueName(QStringLiteral("macro[=def]")); addOption(defineOption); @@ -77,56 +81,74 @@ QDocCommandLineParser::QDocCommandLineParser() dependsOption.setValueName(QStringLiteral("module")); addOption(dependsOption); - highlightingOption.setDescription(QCoreApplication::translate("qdoc", "Turn on syntax highlighting (makes qdoc run slower)")); + highlightingOption.setDescription(QCoreApplication::translate( + "qdoc", "Turn on syntax highlighting (makes qdoc run slower)")); addOption(highlightingOption); - showInternalOption.setDescription(QCoreApplication::translate("qdoc", "Include content marked internal")); + showInternalOption.setDescription( + QCoreApplication::translate("qdoc", "Include content marked internal")); addOption(showInternalOption); - redirectDocumentationToDevNullOption.setDescription(QCoreApplication::translate("qdoc", "Save all documentation content to /dev/null. Useful if someone is interested in qdoc errors only.")); + redirectDocumentationToDevNullOption.setDescription( + QCoreApplication::translate("qdoc", + "Save all documentation content to /dev/null. Useful if " + "someone is interested in qdoc errors only.")); addOption(redirectDocumentationToDevNullOption); - noExamplesOption.setDescription(QCoreApplication::translate("qdoc", "Do not generate documentation for examples")); + noExamplesOption.setDescription( + QCoreApplication::translate("qdoc", "Do not generate documentation for examples")); addOption(noExamplesOption); - indexDirOption.setDescription(QCoreApplication::translate("qdoc", "Specify a directory where QDoc should search for index files to load")); + indexDirOption.setDescription(QCoreApplication::translate( + "qdoc", "Specify a directory where QDoc should search for index files to load")); indexDirOption.setValueName(QStringLiteral("dir")); addOption(indexDirOption); - installDirOption.setDescription(QCoreApplication::translate("qdoc", "Specify the directory where the output will be after running \"make install\"")); + installDirOption.setDescription(QCoreApplication::translate( + "qdoc", + "Specify the directory where the output will be after running \"make install\"")); installDirOption.setValueName(QStringLiteral("dir")); addOption(installDirOption); - obsoleteLinksOption.setDescription(QCoreApplication::translate("qdoc", "Report links from obsolete items to non-obsolete items")); + obsoleteLinksOption.setDescription(QCoreApplication::translate( + "qdoc", "Report links from obsolete items to non-obsolete items")); addOption(obsoleteLinksOption); - outputDirOption.setDescription(QCoreApplication::translate("qdoc", "Specify output directory, overrides setting in qdocconf file")); + outputDirOption.setDescription(QCoreApplication::translate( + "qdoc", "Specify output directory, overrides setting in qdocconf file")); outputDirOption.setValueName(QStringLiteral("dir")); addOption(outputDirOption); - outputFormatOption.setDescription(QCoreApplication::translate("qdoc", "Specify output format, overrides setting in qdocconf file")); + outputFormatOption.setDescription(QCoreApplication::translate( + "qdoc", "Specify output format, overrides setting in qdocconf file")); outputFormatOption.setValueName(QStringLiteral("format")); addOption(outputFormatOption); - noLinkErrorsOption.setDescription(QCoreApplication::translate("qdoc", "Do not print link errors (i.e. missing targets)")); + noLinkErrorsOption.setDescription( + QCoreApplication::translate("qdoc", "Do not print link errors (i.e. missing targets)")); addOption(noLinkErrorsOption); - autoLinkErrorsOption.setDescription(QCoreApplication::translate("qdoc", "Show errors when automatic linking fails")); + autoLinkErrorsOption.setDescription( + QCoreApplication::translate("qdoc", "Show errors when automatic linking fails")); addOption(autoLinkErrorsOption); debugOption.setDescription(QCoreApplication::translate("qdoc", "Enable debug output")); addOption(debugOption); - prepareOption.setDescription(QCoreApplication::translate("qdoc", "Run qdoc only to generate an index file, not the docs")); + prepareOption.setDescription(QCoreApplication::translate( + "qdoc", "Run qdoc only to generate an index file, not the docs")); addOption(prepareOption); - generateOption.setDescription(QCoreApplication::translate("qdoc", "Run qdoc to read the index files and generate the docs")); + generateOption.setDescription(QCoreApplication::translate( + "qdoc", "Run qdoc to read the index files and generate the docs")); addOption(generateOption); - logProgressOption.setDescription(QCoreApplication::translate("qdoc", "Log progress on stderr.")); + logProgressOption.setDescription( + QCoreApplication::translate("qdoc", "Log progress on stderr.")); addOption(logProgressOption); - singleExecOption.setDescription(QCoreApplication::translate("qdoc", "Run qdoc once over all the qdoc conf files.")); + singleExecOption.setDescription( + QCoreApplication::translate("qdoc", "Run qdoc once over all the qdoc conf files.")); addOption(singleExecOption); writeQaPagesOption.setDescription(QCoreApplication::translate("qdoc", "Write QA pages.")); @@ -140,7 +162,8 @@ QDocCommandLineParser::QDocCommandLineParser() frameworkOption.setFlags(QCommandLineOption::ShortOptionStyle); addOption(frameworkOption); - timestampsOption.setDescription(QCoreApplication::translate("qdoc", "Timestamp each qdoc log line.")); + timestampsOption.setDescription( + QCoreApplication::translate("qdoc", "Timestamp each qdoc log line.")); addOption(timestampsOption); } diff --git a/src/qdoc/qdocdatabase.cpp b/src/qdoc/qdocdatabase.cpp index 5c4acdbf1..be257b4b8 100644 --- a/src/qdoc/qdocdatabase.cpp +++ b/src/qdoc/qdocdatabase.cpp @@ -88,7 +88,7 @@ bool QDocDatabase::debug = false; */ QDocForest::~QDocForest() { - for (int i=0; i<searchOrder_.size(); ++i) + for (int i = 0; i < searchOrder_.size(); ++i) delete searchOrder_.at(i); forest_.clear(); searchOrder_.clear(); @@ -217,7 +217,7 @@ void QDocForest::setSearchOrder(const QStringList &t) Note that this loop also inserts the primary tree into the forrest. That is a requirement. */ - for (int i=0; i<searchOrder_.size(); ++i) { + for (int i = 0; i < searchOrder_.size(); ++i) { if (!forest_.contains(moduleNames_.at(i))) { forest_.insert(moduleNames_.at(i), searchOrder_.at(i)); } @@ -309,10 +309,8 @@ void QDocForest::newPrimaryTree(const QString &module) to 0, the starting point for each index tree is the root of the index tree. */ -const Node *QDocForest::findNodeForTarget(QStringList &targetPath, - const Node *relative, - Node::Genus genus, - QString &ref) +const Node *QDocForest::findNodeForTarget(QStringList &targetPath, const Node *relative, + Node::Genus genus, QString &ref) { int flags = SearchBaseClasses | SearchEnumValues; @@ -351,7 +349,7 @@ void QDocForest::printLinkCounts(const QString &project) if (it.value() != module) depends += QLatin1Char(' ') + it.value(); int pad = 30 - line.length(); - for (int k=0; k<pad; ++k) + for (int k = 0; k < pad; ++k) line += QLatin1Char(' '); line += "%1"; Location::null.report(line.arg(-(it.key()))); @@ -394,8 +392,7 @@ QString QDocForest::getLinkCounts(QStringList &strings, QVector<int> &counts) C++ function or a QML function. */ const FunctionNode *QDocForest::findFunctionNode(const QStringList &path, - const Parameters ¶meters, - const Node *relative, + const Parameters ¶meters, const Node *relative, Node::Genus genus) { for (const auto *tree : searchOrder()) { @@ -443,8 +440,7 @@ NodeMultiMapMap QDocDatabase::newSinceMaps_; modules sequentially in a loop. Each source file for each module is read exactly once. */ -QDocDatabase::QDocDatabase() - : showInternal_(false), singleExec_(false), forest_(this) +QDocDatabase::QDocDatabase() : showInternal_(false), singleExec_(false), forest_(this) { // nothing } @@ -466,10 +462,10 @@ QDocDatabase::~QDocDatabase() QDocDatabase *QDocDatabase::qdocDB() { if (qdocDB_ == nullptr) { - qdocDB_ = new QDocDatabase; - initializeDB(); + qdocDB_ = new QDocDatabase; + initializeDB(); } - return qdocDB_; + return qdocDB_; } /*! @@ -833,7 +829,7 @@ QmlTypeNode *QDocDatabase::findQmlType(const ImportRec &import, const QString &n qmName = import.name_; else qmName = import.importUri_; - for (int i=0; i<dotSplit.size(); ++i) { + for (int i = 0; i < dotSplit.size(); ++i) { QString qualifiedName = qmName + "::" + dotSplit[i]; QmlTypeNode *qcn = forest_.lookupQmlType(qualifiedName); if (qcn) @@ -873,7 +869,7 @@ void QDocDatabase::processForest() mode, each tree is analyzed in turn, and its classes and types are added to the appropriate node maps. */ -void QDocDatabase::processForest(void (QDocDatabase::*func) (Aggregate*)) +void QDocDatabase::processForest(void (QDocDatabase::*func)(Aggregate *)) { Tree *t = forest_.firstTree(); while (t) { @@ -1104,7 +1100,8 @@ const NodeMap &QDocDatabase::getSinceMap(const QString &key) documentation. These tasks create required data structures and resolve links. */ -void QDocDatabase::resolveStuff() { +void QDocDatabase::resolveStuff() +{ if (Generator::dualExec() || Generator::preparing()) { primaryTree()->resolveBaseClasses(primaryTreeRoot()); primaryTree()->resolvePropertyOverriddenFromPtrs(primaryTreeRoot()); @@ -1122,7 +1119,7 @@ void QDocDatabase::resolveStuff() { primaryTree()->resolveBaseClasses(primaryTreeRoot()); primaryTree()->resolvePropertyOverriddenFromPtrs(primaryTreeRoot()); primaryTreeRoot()->resolveQmlInheritance(); - //primaryTree()->resolveTargets(primaryTreeRoot()); + // primaryTree()->resolveTargets(primaryTreeRoot()); primaryTree()->resolveCppToQmlLinks(); primaryTree()->resolveUsingClauses(); } @@ -1191,8 +1188,8 @@ void QDocDatabase::resolveNamespaces() for (auto *node : namespaces) { NamespaceNode *NS = static_cast<NamespaceNode *>(node); if (NS->hadDoc() && NS != ns) { - ns->doc().location().warning(tr("Namespace %1 documented more than once") - .arg(NS->name())); + ns->doc().location().warning( + tr("Namespace %1 documented more than once").arg(NS->name())); NS->doc().location().warning(tr("...also seen here")); } } @@ -1223,8 +1220,8 @@ void QDocDatabase::resolveNamespaces() for (auto *node : namespaces) { auto *nameSpaceNode = static_cast<NamespaceNode *>(node); if (nameSpaceNode != ns) { - for (auto it = nameSpaceNode->constBegin(); - it != nameSpaceNode->constEnd(); ++it) { + for (auto it = nameSpaceNode->constBegin(); it != nameSpaceNode->constEnd(); + ++it) { Node *N = *it; if (N && N->isPublic() && !N->isInternal()) ns->includeChild(N); @@ -1270,7 +1267,6 @@ void QDocDatabase::resolveProxies() } } - /*! Finds the function node for the qualified function path in \a target and returns a pointer to it. The \a target is a @@ -1284,8 +1280,7 @@ void QDocDatabase::resolveProxies() The entire forest is searched, but the first match is accepted. */ -const FunctionNode *QDocDatabase::findFunctionNode(const QString &target, - const Node *relative, +const FunctionNode *QDocDatabase::findFunctionNode(const QString &target, const Node *relative, Node::Genus genus) { QString signature; @@ -1368,7 +1363,7 @@ void QDocDatabase::readIndexes(const QStringList &indexFiles) { QStringList filesToRead; for (const QString &file : indexFiles) { - QString fn = file.mid(file.lastIndexOf(QChar('/'))+1); + QString fn = file.mid(file.lastIndexOf(QChar('/')) + 1); if (!isLoaded(fn)) filesToRead << file; else @@ -1382,9 +1377,10 @@ void QDocDatabase::readIndexes(const QStringList &indexFiles) index file is generated with the parameters \a url and \a title, using the generator \a g. */ -void QDocDatabase::generateIndex(const QString &fileName, const QString &url, const QString &title, Generator *g) +void QDocDatabase::generateIndex(const QString &fileName, const QString &url, const QString &title, + Generator *g) { - QString t = fileName.mid(fileName.lastIndexOf(QChar('/'))+1); + QString t = fileName.mid(fileName.lastIndexOf(QChar('/')) + 1); primaryTree()->setIndexFileName(t); QDocIndexFiles::qdocIndexFiles()->generateIndex(fileName, url, title, g); QDocIndexFiles::destroyQDocIndexFiles(); @@ -1400,7 +1396,7 @@ void QDocDatabase::generateIndex(const QString &fileName, const QString &url, co This function only searches in the current primary tree. */ -Node *QDocDatabase::findNodeInOpenNamespace(QStringList &path, bool (Node::*isMatch) () const) +Node *QDocDatabase::findNodeInOpenNamespace(QStringList &path, bool (Node::*isMatch)() const) { if (path.isEmpty()) return nullptr; @@ -1459,9 +1455,10 @@ void QDocDatabase::mergeCollections(Node::NodeType type, CNMap &cnm, const Node for (CollectionNode *value : values) { if (value != n) { // Allow multiple (major) versions of QML/JS modules - if ((n->isQmlModule() || n->isJsModule()) && - n->logicalModuleIdentifier() != value->logicalModuleIdentifier()) { - if (value->wasSeen() && value != relative && !value->members().isEmpty()) + if ((n->isQmlModule() || n->isJsModule()) + && n->logicalModuleIdentifier() != value->logicalModuleIdentifier()) { + if (value->wasSeen() && value != relative + && !value->members().isEmpty()) cnm.insert(value->fullTitle().toLower(), value); continue; } @@ -1495,8 +1492,8 @@ void QDocDatabase::mergeCollections(CollectionNode *c) for (auto *tree : searchOrder()) { CollectionNode *cn = tree->getCollection(c->name(), c->nodeType()); if (cn && cn != c) { - if ((cn->isQmlModule() || cn->isJsModule()) && - cn->logicalModuleIdentifier() != c->logicalModuleIdentifier()) + if ((cn->isQmlModule() || cn->isJsModule()) + && cn->logicalModuleIdentifier() != c->logicalModuleIdentifier()) continue; for (auto *node : cn->members()) c->addMember(node); @@ -1524,13 +1521,13 @@ const Node *QDocDatabase::findNodeForAtom(const Atom *a, const Node *relative, Q Tree *domain = nullptr; Node::Genus genus = Node::DontCare; // Reserved for future use - //Node::NodeType goal = Node::NoType; + // Node::NodeType goal = Node::NoType; if (atom->isLinkAtom()) { domain = atom->domain(); genus = atom->genus(); // Reserved for future use - //goal = atom->goal(); + // goal = atom->goal(); } if (first.isEmpty()) @@ -1563,8 +1560,7 @@ const Node *QDocDatabase::findNodeForAtom(const Atom *a, const Node *relative, Q relative = nullptr; return domain->findNodeForTarget(nodePath, target, relative, flags, genus, ref); } - } - else { + } else { if (first.endsWith(".html")) node = findNodeByNameAndType(QStringList(first), &Node::isPageNode); else if (first.endsWith(QChar(')'))) diff --git a/src/qdoc/qdocdatabase.h b/src/qdoc/qdocdatabase.h index 1ff3aff15..dd5d886e6 100644 --- a/src/qdoc/qdocdatabase.h +++ b/src/qdoc/qdocdatabase.h @@ -56,8 +56,7 @@ class QDocForest { private: friend class QDocDatabase; - QDocForest(QDocDatabase *qdb) - : qdb_(qdb), primaryTree_(nullptr), currentIndex_(0) { } + QDocForest(QDocDatabase *qdb) : qdb_(qdb), primaryTree_(nullptr), currentIndex_(0) {} ~QDocForest(); NamespaceNode *firstRoot(); @@ -66,16 +65,15 @@ private: Tree *nextTree(); Tree *primaryTree() { return primaryTree_; } Tree *findTree(const QString &t) { return forest_.value(t); } - QStringList keys() { - return forest_.keys(); - } + QStringList keys() { return forest_.keys(); } NamespaceNode *primaryTreeRoot() { return (primaryTree_ ? primaryTree_->root() : nullptr); } bool isEmpty() { return searchOrder().isEmpty(); } bool done() { return (currentIndex_ >= searchOrder().size()); } const QVector<Tree *> &searchOrder(); const QVector<Tree *> &indexSearchOrder(); void setSearchOrder(const QStringList &t); - bool isLoaded(const QString &fn) { + bool isLoaded(const QString &fn) + { for (const auto *tree : searchOrder()) { if (fn == tree->indexFileName()) return true; @@ -83,10 +81,9 @@ private: return false; } - const Node *findNode(const QStringList &path, - const Node *relative, - int findFlags, - Node::Genus genus) { + const Node *findNode(const QStringList &path, const Node *relative, int findFlags, + Node::Genus genus) + { for (const auto *tree : searchOrder()) { const Node *n = tree->findNode(path, relative, findFlags, genus); if (n) @@ -96,7 +93,8 @@ private: return nullptr; } - Node *findNodeByNameAndType(const QStringList &path, bool (Node::*isMatch) () const) { + Node *findNodeByNameAndType(const QStringList &path, bool (Node::*isMatch)() const) + { for (const auto *tree : searchOrder()) { Node *n = tree->findNodeByNameAndType(path, isMatch); if (n) @@ -105,7 +103,8 @@ private: return nullptr; } - ClassNode *findClassNode(const QStringList &path) { + ClassNode *findClassNode(const QStringList &path) + { for (const auto *tree : searchOrder()) { ClassNode *n = tree->findClassNode(path); if (n) @@ -114,7 +113,8 @@ private: return nullptr; } - Node *findNodeForInclude(const QStringList &path) { + Node *findNodeForInclude(const QStringList &path) + { for (const auto *tree : searchOrder()) { Node *n = tree->findNodeForInclude(path); if (n) @@ -123,13 +123,9 @@ private: return nullptr; } - const FunctionNode *findFunctionNode(const QStringList &path, - const Parameters ¶meters, - const Node *relative, - Node::Genus genus); - const Node *findNodeForTarget(QStringList &targetPath, - const Node *relative, - Node::Genus genus, + const FunctionNode *findFunctionNode(const QStringList &path, const Parameters ¶meters, + const Node *relative, Node::Genus genus); + const Node *findNodeForTarget(QStringList &targetPath, const Node *relative, Node::Genus genus, QString &ref); const Node *findTypeNode(const QStringList &path, const Node *relative, Node::Genus genus) @@ -228,16 +224,20 @@ public: CollectionNode *addQmlModule(const QString &name) { return primaryTree()->addQmlModule(name); } CollectionNode *addJsModule(const QString &name) { return primaryTree()->addJsModule(name); } - CollectionNode *addToGroup(const QString &name, Node *node) { + CollectionNode *addToGroup(const QString &name, Node *node) + { return primaryTree()->addToGroup(name, node); } - CollectionNode *addToModule(const QString &name, Node *node) { + CollectionNode *addToModule(const QString &name, Node *node) + { return primaryTree()->addToModule(name, node); } - CollectionNode *addToQmlModule(const QString &name, Node *node) { + CollectionNode *addToQmlModule(const QString &name, Node *node) + { return primaryTree()->addToQmlModule(name, node); } - CollectionNode *addToJsModule(const QString &name, Node *node) { + CollectionNode *addToJsModule(const QString &name, Node *node) + { return primaryTree()->addToJsModule(name, node); } @@ -246,7 +246,7 @@ public: QmlTypeNode *findQmlType(const QString &name); QmlTypeNode *findQmlType(const QString &qmid, const QString &name); - QmlTypeNode *findQmlType(const ImportRec& import, const QString &name); + QmlTypeNode *findQmlType(const ImportRec &import, const QString &name); Aggregate *findQmlBasicType(const QString &qmid, const QString &name); static NodeMultiMap &obsoleteClasses() { return obsoleteClasses_; } @@ -293,19 +293,20 @@ public: Many of these will be either eliminated or replaced. ********************************************************************/ void resolveStuff(); - void insertTarget(const QString &name, - const QString &title, - TargetRec::TargetType type, - Node *node, - int priority) { + void insertTarget(const QString &name, const QString &title, TargetRec::TargetType type, + Node *node, int priority) + { primaryTree()->insertTarget(name, title, type, node, priority); } /******************************************************************* The functions declared below are called for the current tree only. ********************************************************************/ - Aggregate *findRelatesNode(const QStringList &path) { return primaryTree()->findRelatesNode(path); } - Node *findNodeInOpenNamespace(QStringList &path, bool (Node::*) () const); + Aggregate *findRelatesNode(const QStringList &path) + { + return primaryTree()->findRelatesNode(path); + } + Node *findNodeInOpenNamespace(QStringList &path, bool (Node::*)() const); /*******************************************************************/ /***************************************************************************** @@ -319,40 +320,45 @@ public: ********************************************************************/ ClassNode *findClassNode(const QStringList &path) { return forest_.findClassNode(path); } Node *findNodeForInclude(const QStringList &path) { return forest_.findNodeForInclude(path); } - const FunctionNode *findFunctionNode(const QString &target, const Node *relative, Node::Genus genus); + const FunctionNode *findFunctionNode(const QString &target, const Node *relative, + Node::Genus genus); const Node *findTypeNode(const QString &type, const Node *relative, Node::Genus genus); const Node *findNodeForTarget(const QString &target, const Node *relative); - const PageNode *findPageNodeByTitle(const QString &title) { + const PageNode *findPageNodeByTitle(const QString &title) + { return forest_.findPageNodeByTitle(title); } - Node *findNodeByNameAndType(const QStringList &path, bool (Node::*isMatch) () const) { + Node *findNodeByNameAndType(const QStringList &path, bool (Node::*isMatch)() const) + { return forest_.findNodeByNameAndType(path, isMatch); } - const CollectionNode *getCollectionNode(const QString &name, Node::NodeType type) { + const CollectionNode *getCollectionNode(const QString &name, Node::NodeType type) + { return forest_.getCollectionNode(name, type); } - FunctionNode *findFunctionNodeForTag(QString tag) { return primaryTree()->findFunctionNodeForTag(tag); } + FunctionNode *findFunctionNodeForTag(QString tag) + { + return primaryTree()->findFunctionNodeForTag(tag); + } FunctionNode *findMacroNode(const QString &t) { return primaryTree()->findMacroNode(t); } private: - const Node *findNodeForTarget(QStringList &targetPath, - const Node *relative, - Node::Genus genus, - QString &ref) { + const Node *findNodeForTarget(QStringList &targetPath, const Node *relative, Node::Genus genus, + QString &ref) + { return forest_.findNodeForTarget(targetPath, relative, genus, ref); } - const FunctionNode *findFunctionNode(const QStringList &path, - const Parameters ¶meters, - const Node *relative, - Node::Genus genus) { + const FunctionNode *findFunctionNode(const QStringList &path, const Parameters ¶meters, + const Node *relative, Node::Genus genus) + { return forest_.findFunctionNode(path, parameters, relative, genus); } /*******************************************************************/ public: - void addPropertyFunction(PropertyNode *property, - const QString &funcName, - PropertyNode::FunctionRole funcRole) { + void addPropertyFunction(PropertyNode *property, const QString &funcName, + PropertyNode::FunctionRole funcRole) + { primaryTree()->addPropertyFunction(property, funcName, funcRole); } @@ -361,7 +367,8 @@ public: void generateTagFile(const QString &name, Generator *g); void readIndexes(const QStringList &indexFiles); - void generateIndex(const QString &fileName, const QString &url, const QString &title, Generator *g); + void generateIndex(const QString &fileName, const QString &url, const QString &title, + Generator *g); void clearOpenNamespaces() { openNamespaces_.clear(); } void insertOpenNamespace(const QString &path) { openNamespaces_.insert(path); } @@ -370,7 +377,7 @@ public: void processForest(); // Try to make this function private. - QDocForest& forest() { return forest_; } + QDocForest &forest() { return forest_; } NamespaceNode *primaryTreeRoot() { return forest_.primaryTreeRoot(); } void newPrimaryTree(const QString &module) { forest_.newPrimaryTree(module); } void setPrimaryTree(const QString &t) { forest_.setPrimaryTree(t); } @@ -385,17 +392,16 @@ public: void incrementLinkCount(const Node *t) { t->tree()->incrementLinkCount(); } void clearLinkCounts() { forest_.clearLinkCounts(); } void printLinkCounts(const QString &t) { forest_.printLinkCounts(t); } - QString getLinkCounts(QStringList &strings, QVector<int> &counts) { + QString getLinkCounts(QStringList &strings, QVector<int> &counts) + { return forest_.getLinkCounts(strings, counts); } - QString getNewLinkTarget(const Node *locNode, - const Node *t, - const QString &fileName, - QString &text, - bool broken = false) { + QString getNewLinkTarget(const Node *locNode, const Node *t, const QString &fileName, + QString &text, bool broken = false) + { return primaryTree()->getNewLinkTarget(locNode, t, fileName, text, broken); } - TargetList* getTargetList(const QString &t) { return primaryTree()->getTargetList(t); } + TargetList *getTargetList(const QString &t) { return primaryTree()->getTargetList(t); } QStringList getTargetListKeys() { return primaryTree()->getTargetListKeys(); } QStringList keys() { return forest_.keys(); } void resolveNamespaces(); @@ -405,20 +411,19 @@ public: private: friend class Tree; - const Node *findNode(const QStringList &path, - const Node *relative, - int findFlags, - Node::Genus genus) { + const Node *findNode(const QStringList &path, const Node *relative, int findFlags, + Node::Genus genus) + { return forest_.findNode(path, relative, findFlags, genus); } - void processForest(void (QDocDatabase::*) (Aggregate*)); + void processForest(void (QDocDatabase::*)(Aggregate *)); bool isLoaded(const QString &t) { return forest_.isLoaded(t); } static void initializeDB(); private: QDocDatabase(); - QDocDatabase(QDocDatabase const &) : showInternal_(false), forest_(this) { } - QDocDatabase& operator=(QDocDatabase const &); + QDocDatabase(QDocDatabase const &) : showInternal_(false), forest_(this) {} + QDocDatabase &operator=(QDocDatabase const &); public: static bool debug; diff --git a/src/qdoc/qdocindexfiles.cpp b/src/qdoc/qdocindexfiles.cpp index 022d658b1..1b247fe24 100644 --- a/src/qdoc/qdocindexfiles.cpp +++ b/src/qdoc/qdocindexfiles.cpp @@ -61,13 +61,12 @@ static IndexSectionWriter *post_ = nullptr; This class handles qdoc index files. */ -QDocIndexFiles* QDocIndexFiles::qdocIndexFiles_ = nullptr; +QDocIndexFiles *QDocIndexFiles::qdocIndexFiles_ = nullptr; /*! Constructs the singleton QDocIndexFiles. */ -QDocIndexFiles::QDocIndexFiles() - : gen_(nullptr) +QDocIndexFiles::QDocIndexFiles() : gen_(nullptr) { qdb_ = QDocDatabase::qdocDB(); } @@ -85,11 +84,11 @@ QDocIndexFiles::~QDocIndexFiles() Creates the singleton. Allows only one instance of the class to be created. Returns a pointer to the singleton. */ -QDocIndexFiles* QDocIndexFiles::qdocIndexFiles() +QDocIndexFiles *QDocIndexFiles::qdocIndexFiles() { - if (qdocIndexFiles_ == nullptr) - qdocIndexFiles_ = new QDocIndexFiles; - return qdocIndexFiles_; + if (qdocIndexFiles_ == nullptr) + qdocIndexFiles_ = new QDocIndexFiles; + return qdocIndexFiles_; } /*! @@ -144,11 +143,10 @@ void QDocIndexFiles::readIndexFile(const QString &path) QString indexUrl; if (Config::installDir.isEmpty()) { indexUrl = attrs.value(QLatin1String("url")).toString(); - } - else { + } else { // Use a fake directory, since we will copy the output to a sub directory of // installDir when using "make install". This is just for a proper relative path. - //QDir installDir(path.section('/', 0, -3) + "/outputdir"); + // QDir installDir(path.section('/', 0, -3) + "/outputdir"); QDir installDir(path.section('/', 0, -3) + '/' + Generator::outputSubdir()); indexUrl = installDir.relativeFilePath(path).section('/', 0, -2); } @@ -180,8 +178,7 @@ void QDocIndexFiles::readIndexFile(const QString &path) Read a <section> element from the index file and create the appropriate node(s). */ -void QDocIndexFiles::readIndexSection(QXmlStreamReader& reader, - Node *current, +void QDocIndexFiles::readIndexSection(QXmlStreamReader &reader, Node *current, const QString &indexUrl) { QXmlStreamAttributes attributes = reader.attributes(); @@ -211,8 +208,8 @@ void QDocIndexFiles::readIndexSection(QXmlStreamReader& reader, location = Location(indexUrl + QLatin1Char('/') + name.toLower() + ".html"); else if (!indexUrl.isNull()) location = Location(name.toLower() + ".html"); - } else if (elementName == QLatin1String("class") || elementName == QLatin1String("struct") || - elementName == QLatin1String("union")) { + } else if (elementName == QLatin1String("class") || elementName == QLatin1String("struct") + || elementName == QLatin1String("union")) { Node::NodeType type = Node::Class; if (elementName == QLatin1String("class")) type = Node::Class; @@ -224,7 +221,8 @@ void QDocIndexFiles::readIndexSection(QXmlStreamReader& reader, if (attributes.hasAttribute(QLatin1String("bases"))) { QString bases = attributes.value(QLatin1String("bases")).toString(); if (!bases.isEmpty()) - basesList_.append(QPair<ClassNode *, QString>(static_cast<ClassNode *>(node), bases)); + basesList_.append( + QPair<ClassNode *, QString>(static_cast<ClassNode *>(node), bases)); } if (!indexUrl.isEmpty()) location = Location(indexUrl + QLatin1Char('/') + name.toLower() + ".html"); @@ -397,8 +395,7 @@ void QDocIndexFiles::readIndexSection(QXmlStreamReader& reader, if (subtype == QDocAttrFile) { en->appendFile(name); goto done; - } - else if (subtype == QDocAttrImage) { + } else if (subtype == QDocAttrImage) { en->appendImage(name); goto done; } @@ -434,7 +431,8 @@ void QDocIndexFiles::readIndexSection(QXmlStreamReader& reader, QXmlStreamAttributes childAttributes = reader.attributes(); if (reader.name() == QLatin1String("value")) { - EnumItem item(childAttributes.value(QLatin1String("name")).toString(), childAttributes.value(QLatin1String("value")).toString()); + EnumItem item(childAttributes.value(QLatin1String("name")).toString(), + childAttributes.value(QLatin1String("value")).toString()); enumNode->addItem(item); } else if (reader.name() == QLatin1String("keyword")) { insertTarget(TargetRec::Keyword, childAttributes, enumNode); @@ -520,7 +518,7 @@ void QDocIndexFiles::readIndexSection(QXmlStreamReader& reader, node = fn; if (!indexUrl.isEmpty()) - location = Location(indexUrl + QLatin1Char('/') + parent->name().toLower() + ".html"); + location = Location(indexUrl + QLatin1Char('/') + parent->name().toLower() + ".html"); else if (!indexUrl.isNull()) location = Location(parent->name().toLower() + ".html"); @@ -561,7 +559,8 @@ void QDocIndexFiles::readIndexSection(QXmlStreamReader& reader, else node->setAccess(Node::Public); if (attributes.hasAttribute(QLatin1String("related"))) - node->setRelatedNonmember(attributes.value(QLatin1String("related")) == QLatin1String("true")); + node->setRelatedNonmember(attributes.value(QLatin1String("related")) + == QLatin1String("true")); if (attributes.hasAttribute(QLatin1String("threadsafety"))) { QString threadSafety = attributes.value(QLatin1String("threadsafety")).toString(); @@ -573,8 +572,7 @@ void QDocIndexFiles::readIndexSection(QXmlStreamReader& reader, node->setThreadSafeness(Node::ThreadSafe); else node->setThreadSafeness(Node::UnspecifiedSafeness); - } - else + } else node->setThreadSafeness(Node::UnspecifiedSafeness); QString status = attributes.value(QLatin1String("status")).toString(); @@ -647,7 +645,7 @@ void QDocIndexFiles::readIndexSection(QXmlStreamReader& reader, } } - done: +done: while (!reader.isEndElement()) { if (reader.readNext() == QXmlStreamReader::Invalid) { break; @@ -656,8 +654,7 @@ void QDocIndexFiles::readIndexSection(QXmlStreamReader& reader, } void QDocIndexFiles::insertTarget(TargetRec::TargetType type, - const QXmlStreamAttributes &attributes, - Node *node) + const QXmlStreamAttributes &attributes, Node *node) { int priority; switch (type) { @@ -768,7 +765,8 @@ static const QString getThreadSafenessString(Node::ThreadSafeness t) \note Function nodes are processed in generateFunctionSection() */ -bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter &writer, Node *node, IndexSectionWriter *post) +bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter &writer, Node *node, + IndexSectionWriter *post) { if (gen_ == nullptr) gen_ = Generator::currentGenerator(); @@ -913,8 +911,7 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter &writer, Node *node, if (fullName != objName) writer.writeAttribute("fullname", fullName); href = gen_->fullDocumentLocation(node); - } - else + } else href = node->name(); if (node->isQmlNode() || node->isJsNode()) { Aggregate *p = node->parent(); @@ -951,274 +948,247 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter &writer, Node *node, switch (node->nodeType()) { case Node::Class: case Node::Struct: - case Node::Union: - { - // Classes contain information about their base classes. - const ClassNode *classNode = static_cast<const ClassNode *>(node); - const QVector<RelatedClass> bases = classNode->baseClasses(); - QSet<QString> baseStrings; - for (const auto &related : bases) { - ClassNode *n = related.node_; - if (n) - baseStrings.insert(n->fullName()); - else if (!related.path_.isEmpty()) - baseStrings.insert(related.path_.join(QLatin1String("::"))); - } - if (!baseStrings.isEmpty()) - { - QStringList baseStringsAsList = baseStrings.values(); - baseStringsAsList.sort(); - writer.writeAttribute("bases", baseStringsAsList.join(QLatin1Char(','))); - } - if (!node->physicalModuleName().isEmpty()) - writer.writeAttribute("module", node->physicalModuleName()); - if (!classNode->groupNames().isEmpty()) - writer.writeAttribute("groups", classNode->groupNames().join(QLatin1Char(','))); - if (!brief.isEmpty()) - writer.writeAttribute("brief", brief); - } - break; - case Node::HeaderFile: - { - const HeaderNode *hn = static_cast<const HeaderNode *>(node); - if (!hn->physicalModuleName().isEmpty()) - writer.writeAttribute("module", hn->physicalModuleName()); - if (!hn->groupNames().isEmpty()) - writer.writeAttribute("groups", hn->groupNames().join(QLatin1Char(','))); - if (!brief.isEmpty()) - writer.writeAttribute("brief", brief); - writer.writeAttribute("title", hn->title()); - writer.writeAttribute("fulltitle", hn->fullTitle()); - writer.writeAttribute("subtitle", hn->subtitle()); + case Node::Union: { + // Classes contain information about their base classes. + const ClassNode *classNode = static_cast<const ClassNode *>(node); + const QVector<RelatedClass> bases = classNode->baseClasses(); + QSet<QString> baseStrings; + for (const auto &related : bases) { + ClassNode *n = related.node_; + if (n) + baseStrings.insert(n->fullName()); + else if (!related.path_.isEmpty()) + baseStrings.insert(related.path_.join(QLatin1String("::"))); } - break; - case Node::Namespace: - { - const NamespaceNode *ns = static_cast<const NamespaceNode *>(node); - if (!ns->physicalModuleName().isEmpty()) - writer.writeAttribute("module", ns->physicalModuleName()); - if (!ns->groupNames().isEmpty()) - writer.writeAttribute("groups", ns->groupNames().join(QLatin1Char(','))); - if (!brief.isEmpty()) - writer.writeAttribute("brief", brief); + if (!baseStrings.isEmpty()) { + QStringList baseStringsAsList = baseStrings.values(); + baseStringsAsList.sort(); + writer.writeAttribute("bases", baseStringsAsList.join(QLatin1Char(','))); } - break; + if (!node->physicalModuleName().isEmpty()) + writer.writeAttribute("module", node->physicalModuleName()); + if (!classNode->groupNames().isEmpty()) + writer.writeAttribute("groups", classNode->groupNames().join(QLatin1Char(','))); + if (!brief.isEmpty()) + writer.writeAttribute("brief", brief); + } break; + case Node::HeaderFile: { + const HeaderNode *hn = static_cast<const HeaderNode *>(node); + if (!hn->physicalModuleName().isEmpty()) + writer.writeAttribute("module", hn->physicalModuleName()); + if (!hn->groupNames().isEmpty()) + writer.writeAttribute("groups", hn->groupNames().join(QLatin1Char(','))); + if (!brief.isEmpty()) + writer.writeAttribute("brief", brief); + writer.writeAttribute("title", hn->title()); + writer.writeAttribute("fulltitle", hn->fullTitle()); + writer.writeAttribute("subtitle", hn->subtitle()); + } break; + case Node::Namespace: { + const NamespaceNode *ns = static_cast<const NamespaceNode *>(node); + if (!ns->physicalModuleName().isEmpty()) + writer.writeAttribute("module", ns->physicalModuleName()); + if (!ns->groupNames().isEmpty()) + writer.writeAttribute("groups", ns->groupNames().join(QLatin1Char(','))); + if (!brief.isEmpty()) + writer.writeAttribute("brief", brief); + } break; case Node::JsType: - case Node::QmlType: - { - const QmlTypeNode *qcn = static_cast<const QmlTypeNode *>(node); - writer.writeAttribute("title", qcn->title()); - writer.writeAttribute("fulltitle", qcn->fullTitle()); - writer.writeAttribute("subtitle", qcn->subtitle()); - if (!qcn->groupNames().isEmpty()) - writer.writeAttribute("groups", qcn->groupNames().join(QLatin1Char(','))); - if (!brief.isEmpty()) - writer.writeAttribute("brief", brief); - } - break; + case Node::QmlType: { + const QmlTypeNode *qcn = static_cast<const QmlTypeNode *>(node); + writer.writeAttribute("title", qcn->title()); + writer.writeAttribute("fulltitle", qcn->fullTitle()); + writer.writeAttribute("subtitle", qcn->subtitle()); + if (!qcn->groupNames().isEmpty()) + writer.writeAttribute("groups", qcn->groupNames().join(QLatin1Char(','))); + if (!brief.isEmpty()) + writer.writeAttribute("brief", brief); + } break; case Node::Page: case Node::Example: - case Node::ExternalPage: - { - /* - Page nodes (anything that generates a doc page) - no longer have a subtype. Some of the subtypes - (Example, External, and Header) have been promoted - to be node types. They have become subclasses of - PageNode or, in the case of Header, a subclass of - Aggregate. The processing for other subtypes that - have not (yet) been promoted to be node types is - determined by the PageType enum. - */ - bool writeModuleName = false; - if (node->isExample()) { - writer.writeAttribute("subtype", "example"); - writeModuleName = true; - } else if (node->isExternalPage()) { - writer.writeAttribute("subtype", "externalpage"); - } else { - if (node->pageType() == Node::AttributionPage) - writer.writeAttribute("subtype", "attribution"); - else - writer.writeAttribute("subtype", "page"); - writeModuleName = true; - } - const PageNode *pn = static_cast<const PageNode *>(node); - writer.writeAttribute("title", pn->title()); - writer.writeAttribute("fulltitle", pn->fullTitle()); - writer.writeAttribute("subtitle", pn->subtitle()); - if (!node->physicalModuleName().isEmpty() && writeModuleName) - writer.writeAttribute("module", node->physicalModuleName()); - if (!pn->groupNames().isEmpty()) - writer.writeAttribute("groups", pn->groupNames().join(QLatin1Char(','))); - if (!brief.isEmpty()) - writer.writeAttribute("brief", brief); + case Node::ExternalPage: { + /* + Page nodes (anything that generates a doc page) + no longer have a subtype. Some of the subtypes + (Example, External, and Header) have been promoted + to be node types. They have become subclasses of + PageNode or, in the case of Header, a subclass of + Aggregate. The processing for other subtypes that + have not (yet) been promoted to be node types is + determined by the PageType enum. + */ + bool writeModuleName = false; + if (node->isExample()) { + writer.writeAttribute("subtype", "example"); + writeModuleName = true; + } else if (node->isExternalPage()) { + writer.writeAttribute("subtype", "externalpage"); + } else { + if (node->pageType() == Node::AttributionPage) + writer.writeAttribute("subtype", "attribution"); + else + writer.writeAttribute("subtype", "page"); + writeModuleName = true; } - break; - case Node::Group: - { - const CollectionNode *cn = static_cast<const CollectionNode *>(node); - writer.writeAttribute("seen", cn->wasSeen() ? "true" : "false"); - writer.writeAttribute("title", cn->title()); - if (!cn->subtitle().isEmpty()) - writer.writeAttribute("subtitle", cn->subtitle()); - if (!cn->physicalModuleName().isEmpty()) - writer.writeAttribute("module", cn->physicalModuleName()); - if (!cn->groupNames().isEmpty()) - writer.writeAttribute("groups", cn->groupNames().join(QLatin1Char(','))); - /* - This is not read back in, so it probably - shouldn't be written out in the first place. - */ - if (!cn->members().isEmpty()) { - QStringList names; - const auto &members = cn->members(); - for (const Node *member : members) - names.append(member->name()); - writer.writeAttribute("members", names.join(QLatin1Char(','))); - } - if (!brief.isEmpty()) - writer.writeAttribute("brief", brief); + const PageNode *pn = static_cast<const PageNode *>(node); + writer.writeAttribute("title", pn->title()); + writer.writeAttribute("fulltitle", pn->fullTitle()); + writer.writeAttribute("subtitle", pn->subtitle()); + if (!node->physicalModuleName().isEmpty() && writeModuleName) + writer.writeAttribute("module", node->physicalModuleName()); + if (!pn->groupNames().isEmpty()) + writer.writeAttribute("groups", pn->groupNames().join(QLatin1Char(','))); + if (!brief.isEmpty()) + writer.writeAttribute("brief", brief); + } break; + case Node::Group: { + const CollectionNode *cn = static_cast<const CollectionNode *>(node); + writer.writeAttribute("seen", cn->wasSeen() ? "true" : "false"); + writer.writeAttribute("title", cn->title()); + if (!cn->subtitle().isEmpty()) + writer.writeAttribute("subtitle", cn->subtitle()); + if (!cn->physicalModuleName().isEmpty()) + writer.writeAttribute("module", cn->physicalModuleName()); + if (!cn->groupNames().isEmpty()) + writer.writeAttribute("groups", cn->groupNames().join(QLatin1Char(','))); + /* + This is not read back in, so it probably + shouldn't be written out in the first place. + */ + if (!cn->members().isEmpty()) { + QStringList names; + const auto &members = cn->members(); + for (const Node *member : members) + names.append(member->name()); + writer.writeAttribute("members", names.join(QLatin1Char(','))); } - break; - case Node::Module: - { - const CollectionNode *cn = static_cast<const CollectionNode *>(node); - writer.writeAttribute("seen", cn->wasSeen() ? "true" : "false"); - writer.writeAttribute("title", cn->title()); - if (!cn->subtitle().isEmpty()) - writer.writeAttribute("subtitle", cn->subtitle()); - if (!cn->physicalModuleName().isEmpty()) - writer.writeAttribute("module", cn->physicalModuleName()); - if (!cn->groupNames().isEmpty()) - writer.writeAttribute("groups", cn->groupNames().join(QLatin1Char(','))); - /* - This is not read back in, so it probably - shouldn't be written out in the first place. - */ - if (!cn->members().isEmpty()) { - QStringList names; - const auto &members = cn->members(); - for (const Node *member : members) - names.append(member->name()); - writer.writeAttribute("members", names.join(QLatin1Char(','))); - } - if (!brief.isEmpty()) - writer.writeAttribute("brief", brief); + if (!brief.isEmpty()) + writer.writeAttribute("brief", brief); + } break; + case Node::Module: { + const CollectionNode *cn = static_cast<const CollectionNode *>(node); + writer.writeAttribute("seen", cn->wasSeen() ? "true" : "false"); + writer.writeAttribute("title", cn->title()); + if (!cn->subtitle().isEmpty()) + writer.writeAttribute("subtitle", cn->subtitle()); + if (!cn->physicalModuleName().isEmpty()) + writer.writeAttribute("module", cn->physicalModuleName()); + if (!cn->groupNames().isEmpty()) + writer.writeAttribute("groups", cn->groupNames().join(QLatin1Char(','))); + /* + This is not read back in, so it probably + shouldn't be written out in the first place. + */ + if (!cn->members().isEmpty()) { + QStringList names; + const auto &members = cn->members(); + for (const Node *member : members) + names.append(member->name()); + writer.writeAttribute("members", names.join(QLatin1Char(','))); } - break; + if (!brief.isEmpty()) + writer.writeAttribute("brief", brief); + } break; case Node::JsModule: - case Node::QmlModule: - { - const CollectionNode *cn = static_cast<const CollectionNode *>(node); - writer.writeAttribute("seen", cn->wasSeen() ? "true" : "false"); - writer.writeAttribute("title", cn->title()); - if (!cn->subtitle().isEmpty()) - writer.writeAttribute("subtitle", cn->subtitle()); - if (!cn->physicalModuleName().isEmpty()) - writer.writeAttribute("module", cn->physicalModuleName()); - if (!cn->groupNames().isEmpty()) - writer.writeAttribute("groups", cn->groupNames().join(QLatin1Char(','))); - /* - This is not read back in, so it probably - shouldn't be written out in the first place. - */ - if (!cn->members().isEmpty()) { - QStringList names; - const auto &members = cn->members(); - for (const Node *member : members) - names.append(member->name()); - writer.writeAttribute("members", names.join(QLatin1Char(','))); - } - if (!brief.isEmpty()) - writer.writeAttribute("brief", brief); + case Node::QmlModule: { + const CollectionNode *cn = static_cast<const CollectionNode *>(node); + writer.writeAttribute("seen", cn->wasSeen() ? "true" : "false"); + writer.writeAttribute("title", cn->title()); + if (!cn->subtitle().isEmpty()) + writer.writeAttribute("subtitle", cn->subtitle()); + if (!cn->physicalModuleName().isEmpty()) + writer.writeAttribute("module", cn->physicalModuleName()); + if (!cn->groupNames().isEmpty()) + writer.writeAttribute("groups", cn->groupNames().join(QLatin1Char(','))); + /* + This is not read back in, so it probably + shouldn't be written out in the first place. + */ + if (!cn->members().isEmpty()) { + QStringList names; + const auto &members = cn->members(); + for (const Node *member : members) + names.append(member->name()); + writer.writeAttribute("members", names.join(QLatin1Char(','))); } - break; + if (!brief.isEmpty()) + writer.writeAttribute("brief", brief); + } break; case Node::JsProperty: - case Node::QmlProperty: - { - QmlPropertyNode *qpn = static_cast<QmlPropertyNode *>(node); - writer.writeAttribute("type", qpn->dataType()); - writer.writeAttribute("attached", qpn->isAttached() ? "true" : "false"); - writer.writeAttribute("writable", qpn->isWritable() ? "true" : "false"); - if (!brief.isEmpty()) - writer.writeAttribute("brief", brief); - } - break; - case Node::Property: - { - const PropertyNode *propertyNode = static_cast<const PropertyNode *>(node); - writer.writeAttribute("type", propertyNode->dataType()); - if (!brief.isEmpty()) - writer.writeAttribute("brief", brief); - const auto &getters = propertyNode->getters(); - for (const auto *fnNode : getters) { - if (fnNode) { - const FunctionNode *functionNode = static_cast<const FunctionNode *>(fnNode); - writer.writeStartElement("getter"); - writer.writeAttribute("name", functionNode->name()); - writer.writeEndElement(); // getter - } - } - const auto &setters = propertyNode->setters(); - for (const auto *fnNode : setters) { - if (fnNode) { - const FunctionNode *functionNode = static_cast<const FunctionNode *>(fnNode); - writer.writeStartElement("setter"); - writer.writeAttribute("name", functionNode->name()); - writer.writeEndElement(); // setter - } - } - const auto &resetters = propertyNode->resetters(); - for (const auto *fnNode : resetters) { - if (fnNode) { - const FunctionNode *functionNode = static_cast<const FunctionNode *>(fnNode); - writer.writeStartElement("resetter"); - writer.writeAttribute("name", functionNode->name()); - writer.writeEndElement(); // resetter - } + case Node::QmlProperty: { + QmlPropertyNode *qpn = static_cast<QmlPropertyNode *>(node); + writer.writeAttribute("type", qpn->dataType()); + writer.writeAttribute("attached", qpn->isAttached() ? "true" : "false"); + writer.writeAttribute("writable", qpn->isWritable() ? "true" : "false"); + if (!brief.isEmpty()) + writer.writeAttribute("brief", brief); + } break; + case Node::Property: { + const PropertyNode *propertyNode = static_cast<const PropertyNode *>(node); + writer.writeAttribute("type", propertyNode->dataType()); + if (!brief.isEmpty()) + writer.writeAttribute("brief", brief); + const auto &getters = propertyNode->getters(); + for (const auto *fnNode : getters) { + if (fnNode) { + const FunctionNode *functionNode = static_cast<const FunctionNode *>(fnNode); + writer.writeStartElement("getter"); + writer.writeAttribute("name", functionNode->name()); + writer.writeEndElement(); // getter } - const auto ¬ifiers = propertyNode->notifiers(); - for (const auto *fnNode : notifiers) { - if (fnNode) { - const FunctionNode *functionNode = static_cast<const FunctionNode *>(fnNode); - writer.writeStartElement("notifier"); - writer.writeAttribute("name", functionNode->name()); - writer.writeEndElement(); // notifier - } + } + const auto &setters = propertyNode->setters(); + for (const auto *fnNode : setters) { + if (fnNode) { + const FunctionNode *functionNode = static_cast<const FunctionNode *>(fnNode); + writer.writeStartElement("setter"); + writer.writeAttribute("name", functionNode->name()); + writer.writeEndElement(); // setter } } - break; - case Node::Variable: - { - const VariableNode *variableNode = static_cast<const VariableNode *>(node); - writer.writeAttribute("type", variableNode->dataType()); - writer.writeAttribute("static", variableNode->isStatic() ? "true" : "false"); - if (!brief.isEmpty()) - writer.writeAttribute("brief", brief); + const auto &resetters = propertyNode->resetters(); + for (const auto *fnNode : resetters) { + if (fnNode) { + const FunctionNode *functionNode = static_cast<const FunctionNode *>(fnNode); + writer.writeStartElement("resetter"); + writer.writeAttribute("name", functionNode->name()); + writer.writeEndElement(); // resetter + } } - break; - case Node::Enum: - { - const EnumNode *enumNode = static_cast<const EnumNode *>(node); - if (enumNode->flagsType()) - writer.writeAttribute("typedef",enumNode->flagsType()->fullDocumentName()); - const auto &items = enumNode->items(); - for (const auto &item : items) { - writer.writeStartElement("value"); - writer.writeAttribute("name", item.name()); - writer.writeAttribute("value", item.value()); - writer.writeEndElement(); // value + const auto ¬ifiers = propertyNode->notifiers(); + for (const auto *fnNode : notifiers) { + if (fnNode) { + const FunctionNode *functionNode = static_cast<const FunctionNode *>(fnNode); + writer.writeStartElement("notifier"); + writer.writeAttribute("name", functionNode->name()); + writer.writeEndElement(); // notifier } } - break; - case Node::Typedef: - { - const TypedefNode *typedefNode = static_cast<const TypedefNode *>(node); - if (typedefNode->associatedEnum()) - writer.writeAttribute("enum",typedefNode->associatedEnum()->fullDocumentName()); + } break; + case Node::Variable: { + const VariableNode *variableNode = static_cast<const VariableNode *>(node); + writer.writeAttribute("type", variableNode->dataType()); + writer.writeAttribute("static", variableNode->isStatic() ? "true" : "false"); + if (!brief.isEmpty()) + writer.writeAttribute("brief", brief); + } break; + case Node::Enum: { + const EnumNode *enumNode = static_cast<const EnumNode *>(node); + if (enumNode->flagsType()) + writer.writeAttribute("typedef", enumNode->flagsType()->fullDocumentName()); + const auto &items = enumNode->items(); + for (const auto &item : items) { + writer.writeStartElement("value"); + writer.writeAttribute("name", item.name()); + writer.writeAttribute("value", item.value()); + writer.writeEndElement(); // value } - break; + } break; + case Node::Typedef: { + const TypedefNode *typedefNode = static_cast<const TypedefNode *>(node); + if (typedefNode->associatedEnum()) + writer.writeAttribute("enum", typedefNode->associatedEnum()->fullDocumentName()); + } break; case Node::Function: // Now processed in generateFunctionSection() default: break; @@ -1243,7 +1213,7 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter &writer, Node *node, const auto &targets = node->doc().targets(); for (const Atom *target : targets) { QString title = target->string(); - QString name = Doc::canonicalTitle(title); + QString name = Doc::canonicalTitle(title); writer.writeStartElement("target"); if (!external) writer.writeAttribute("name", name); @@ -1258,7 +1228,7 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter &writer, Node *node, const auto &keywords = node->doc().keywords(); for (const Atom *keyword : keywords) { QString title = keyword->string(); - QString name = Doc::canonicalTitle(title); + QString name = Doc::canonicalTitle(title); writer.writeStartElement("keyword"); writer.writeAttribute("name", name); if (name != title) @@ -1344,7 +1314,7 @@ void QDocIndexFiles::generateFunctionSection(QXmlStreamWriter &writer, FunctionN if (!href.isEmpty()) writer.writeAttribute("href", href); if (fn->threadSafeness() != Node::UnspecifiedSafeness) - writer.writeAttribute("threadsafety", getThreadSafenessString(fn->threadSafeness())); + writer.writeAttribute("threadsafety", getThreadSafenessString(fn->threadSafeness())); writer.writeAttribute("status", getStatusString(fn->status())); writer.writeAttribute("access", getAccessString(fn->access())); @@ -1366,11 +1336,11 @@ void QDocIndexFiles::generateFunctionSection(QXmlStreamWriter &writer, FunctionN QString brief = fn->doc().trimmedBriefText(fn->name()).toString(); writer.writeAttribute("meta", fn->metanessString()); if (fn->isCppNode()) { - writer.writeAttribute("virtual", fn->virtualness()); - writer.writeAttribute("const", fn->isConst() ? "true" : "false"); - writer.writeAttribute("static", fn->isStatic() ? "true" : "false"); - writer.writeAttribute("final", fn->isFinal() ? "true" : "false"); - writer.writeAttribute("override", fn->isOverride() ? "true" : "false"); + writer.writeAttribute("virtual", fn->virtualness()); + writer.writeAttribute("const", fn->isConst() ? "true" : "false"); + writer.writeAttribute("static", fn->isStatic() ? "true" : "false"); + writer.writeAttribute("final", fn->isFinal() ? "true" : "false"); + writer.writeAttribute("override", fn->isOverride() ? "true" : "false"); /* This ensures that for functions that have overloads, the first function written is the one that is not an @@ -1391,7 +1361,8 @@ void QDocIndexFiles::generateFunctionSection(QXmlStreamWriter &writer, FunctionN associatedProperties << node->name(); } associatedProperties.sort(); - writer.writeAttribute("associated-property", associatedProperties.join(QLatin1Char(','))); + writer.writeAttribute("associated-property", + associatedProperties.join(QLatin1Char(','))); } writer.writeAttribute("type", fn->returnType()); if (!brief.isEmpty()) @@ -1464,14 +1435,15 @@ void QDocIndexFiles::generateFunctionSections(QXmlStreamWriter &writer, Aggregat Generate index sections for the child nodes of the given \a node using the \a writer specified. */ -void QDocIndexFiles::generateIndexSections(QXmlStreamWriter &writer, Node *node, IndexSectionWriter *post) +void QDocIndexFiles::generateIndexSections(QXmlStreamWriter &writer, Node *node, + IndexSectionWriter *post) { /* Note that groups, modules, and QML modules are written after all the other nodes. */ - if (node->isCollectionNode() || - node->isGroup() || node->isModule() || node->isQmlModule() || node->isJsModule()) + if (node->isCollectionNode() || node->isGroup() || node->isModule() || node->isQmlModule() + || node->isJsModule()) return; if (generateIndexSection(writer, node, post)) { @@ -1537,10 +1509,8 @@ void QDocIndexFiles::generateIndexSections(QXmlStreamWriter &writer, Node *node, \a g is used to get the Config object that contains the variables from the module's .qdocconf file. */ -void QDocIndexFiles::generateIndex(const QString &fileName, - const QString &url, - const QString &title, - Generator *g) +void QDocIndexFiles::generateIndex(const QString &fileName, const QString &url, + const QString &title, Generator *g) { QFile file(fileName); if (!file.open(QFile::WriteOnly | QFile::Text)) diff --git a/src/qdoc/qdocindexfiles.h b/src/qdoc/qdocindexfiles.h index 0e758049a..96e73a9ed 100644 --- a/src/qdoc/qdocindexfiles.h +++ b/src/qdoc/qdocindexfiles.h @@ -57,7 +57,7 @@ class QDocIndexFiles friend class WebXMLGenerator; // for using generateIndexSections() private: - static QDocIndexFiles* qdocIndexFiles(); + static QDocIndexFiles *qdocIndexFiles(); static void destroyQDocIndexFiles(); QDocIndexFiles(); @@ -66,21 +66,25 @@ private: void readIndexes(const QStringList &indexFiles); void readIndexFile(const QString &path); void readIndexSection(QXmlStreamReader &reader, Node *current, const QString &indexUrl); - void insertTarget(TargetRec::TargetType type, const QXmlStreamAttributes &attributes, Node *node); + void insertTarget(TargetRec::TargetType type, const QXmlStreamAttributes &attributes, + Node *node); void resolveIndex(); - void generateIndex(const QString &fileName, const QString &url, const QString &title, Generator *g); + void generateIndex(const QString &fileName, const QString &url, const QString &title, + Generator *g); void generateFunctionSection(QXmlStreamWriter &writer, FunctionNode *fn); void generateFunctionSections(QXmlStreamWriter &writer, Aggregate *aggregate); - bool generateIndexSection(QXmlStreamWriter &writer, Node *node, IndexSectionWriter *post = nullptr); - void generateIndexSections(QXmlStreamWriter &writer, Node *node, IndexSectionWriter *post = nullptr); + bool generateIndexSection(QXmlStreamWriter &writer, Node *node, + IndexSectionWriter *post = nullptr); + void generateIndexSections(QXmlStreamWriter &writer, Node *node, + IndexSectionWriter *post = nullptr); private: - static QDocIndexFiles* qdocIndexFiles_; + static QDocIndexFiles *qdocIndexFiles_; QDocDatabase *qdb_; Generator *gen_; QString project_; - QVector<QPair<ClassNode *, QString> > basesList_; + QVector<QPair<ClassNode *, QString>> basesList_; }; QT_END_NAMESPACE diff --git a/src/qdoc/qdoctagfiles.cpp b/src/qdoc/qdoctagfiles.cpp index cd4e9e0e5..8d97ce48a 100644 --- a/src/qdoc/qdoctagfiles.cpp +++ b/src/qdoc/qdoctagfiles.cpp @@ -74,9 +74,9 @@ QDocTagFiles::~QDocTagFiles() */ QDocTagFiles *QDocTagFiles::qdocTagFiles() { - if (qdocTagFiles_ == nullptr) - qdocTagFiles_ = new QDocTagFiles; - return qdocTagFiles_; + if (qdocTagFiles_ == nullptr) + qdocTagFiles_ = new QDocTagFiles; + return qdocTagFiles_; } /*! @@ -243,85 +243,80 @@ void QDocTagFiles::generateTagFileMembers(QXmlStreamWriter &writer, const Aggreg writer.writeCharacters(node->fullDocumentName()); writer.writeEndElement(); break; - case Node::Function: - { - /* - Function nodes contain information about - the type of function being described. - */ - - const FunctionNode *functionNode = static_cast<const FunctionNode *>(node); - writer.writeAttribute("protection", access); - writer.writeAttribute("virtualness", functionNode->virtualness()); - writer.writeAttribute("static", functionNode->isStatic() ? "yes" : "no"); - - if (functionNode->isNonvirtual()) - writer.writeTextElement("type", functionNode->returnType()); - else - writer.writeTextElement("type", "virtual " + functionNode->returnType()); - - writer.writeTextElement("name", objName); - QStringList pieces = gen_->fullDocumentLocation(node, false).split(QLatin1Char('#')); - writer.writeTextElement("anchorfile", pieces[0]); - writer.writeTextElement("anchor", pieces[1]); - QString signature = functionNode->signature(false, false); - signature = signature.mid(signature.indexOf(QChar('('))).trimmed(); - if (functionNode->isConst()) - signature += " const"; - if (functionNode->isFinal()) - signature += " final"; - if (functionNode->isOverride()) - signature += " override"; - if (functionNode->isPureVirtual()) - signature += " = 0"; - writer.writeTextElement("arglist", signature); - } + case Node::Function: { + /* + Function nodes contain information about + the type of function being described. + */ + + const FunctionNode *functionNode = static_cast<const FunctionNode *>(node); + writer.writeAttribute("protection", access); + writer.writeAttribute("virtualness", functionNode->virtualness()); + writer.writeAttribute("static", functionNode->isStatic() ? "yes" : "no"); + + if (functionNode->isNonvirtual()) + writer.writeTextElement("type", functionNode->returnType()); + else + writer.writeTextElement("type", "virtual " + functionNode->returnType()); + + writer.writeTextElement("name", objName); + QStringList pieces = gen_->fullDocumentLocation(node, false).split(QLatin1Char('#')); + writer.writeTextElement("anchorfile", pieces[0]); + writer.writeTextElement("anchor", pieces[1]); + QString signature = functionNode->signature(false, false); + signature = signature.mid(signature.indexOf(QChar('('))).trimmed(); + if (functionNode->isConst()) + signature += " const"; + if (functionNode->isFinal()) + signature += " final"; + if (functionNode->isOverride()) + signature += " override"; + if (functionNode->isPureVirtual()) + signature += " = 0"; + writer.writeTextElement("arglist", signature); + } writer.writeEndElement(); // member break; - case Node::Property: - { - const PropertyNode *propertyNode = static_cast<const PropertyNode *>(node); - writer.writeAttribute("type", propertyNode->dataType()); - writer.writeTextElement("name", objName); - QStringList pieces = gen_->fullDocumentLocation(node, false).split(QLatin1Char('#')); - writer.writeTextElement("anchorfile", pieces[0]); - writer.writeTextElement("anchor", pieces[1]); - writer.writeTextElement("arglist", QString()); - } + case Node::Property: { + const PropertyNode *propertyNode = static_cast<const PropertyNode *>(node); + writer.writeAttribute("type", propertyNode->dataType()); + writer.writeTextElement("name", objName); + QStringList pieces = gen_->fullDocumentLocation(node, false).split(QLatin1Char('#')); + writer.writeTextElement("anchorfile", pieces[0]); + writer.writeTextElement("anchor", pieces[1]); + writer.writeTextElement("arglist", QString()); + } writer.writeEndElement(); // member break; - case Node::Enum: - { - const EnumNode *enumNode = static_cast<const EnumNode *>(node); - writer.writeTextElement("name", objName); - QStringList pieces = gen_->fullDocumentLocation(node, false).split(QLatin1Char('#')); - writer.writeTextElement("anchor", pieces[1]); - writer.writeTextElement("arglist", QString()); - writer.writeEndElement(); // member + case Node::Enum: { + const EnumNode *enumNode = static_cast<const EnumNode *>(node); + writer.writeTextElement("name", objName); + QStringList pieces = gen_->fullDocumentLocation(node, false).split(QLatin1Char('#')); + writer.writeTextElement("anchor", pieces[1]); + writer.writeTextElement("arglist", QString()); + writer.writeEndElement(); // member - for (int i = 0; i < enumNode->items().size(); ++i) { - EnumItem item = enumNode->items().value(i); - writer.writeStartElement("member"); - writer.writeAttribute("name", item.name()); - writer.writeTextElement("anchor", pieces[1]); - writer.writeTextElement("arglist", QString()); - writer.writeEndElement(); // member - } - } - break; - case Node::Typedef: - { - const TypedefNode *typedefNode = static_cast<const TypedefNode *>(node); - if (typedefNode->associatedEnum()) - writer.writeAttribute("type", typedefNode->associatedEnum()->fullDocumentName()); - else - writer.writeAttribute("type", QString()); - writer.writeTextElement("name", objName); - QStringList pieces = gen_->fullDocumentLocation(node, false).split(QLatin1Char('#')); - writer.writeTextElement("anchorfile", pieces[0]); + for (int i = 0; i < enumNode->items().size(); ++i) { + EnumItem item = enumNode->items().value(i); + writer.writeStartElement("member"); + writer.writeAttribute("name", item.name()); writer.writeTextElement("anchor", pieces[1]); writer.writeTextElement("arglist", QString()); + writer.writeEndElement(); // member } + } break; + case Node::Typedef: { + const TypedefNode *typedefNode = static_cast<const TypedefNode *>(node); + if (typedefNode->associatedEnum()) + writer.writeAttribute("type", typedefNode->associatedEnum()->fullDocumentName()); + else + writer.writeAttribute("type", QString()); + writer.writeTextElement("name", objName); + QStringList pieces = gen_->fullDocumentLocation(node, false).split(QLatin1Char('#')); + writer.writeTextElement("anchorfile", pieces[0]); + writer.writeTextElement("anchor", pieces[1]); + writer.writeTextElement("arglist", QString()); + } writer.writeEndElement(); // member break; @@ -343,12 +338,10 @@ void QDocTagFiles::generateTagFile(const QString &fileName, Generator *g) // If no path was specified or it doesn't exist, // default to the output directory if (fileInfo.fileName() == fileName || !fileInfo.dir().exists()) - file.setFileName(gen_->outputDir() + QLatin1Char('/') + - fileInfo.fileName()); + file.setFileName(gen_->outputDir() + QLatin1Char('/') + fileInfo.fileName()); if (!file.open(QFile::WriteOnly | QFile::Text)) { - Location::null.warning( - QString("Failed to open %1 for writing.").arg(file.fileName())); + Location::null.warning(QString("Failed to open %1 for writing.").arg(file.fileName())); return; } diff --git a/src/qdoc/qmlcodemarker.cpp b/src/qdoc/qmlcodemarker.cpp index 719fc710b..4ecfb6475 100644 --- a/src/qdoc/qmlcodemarker.cpp +++ b/src/qdoc/qmlcodemarker.cpp @@ -40,22 +40,18 @@ #include "generator.h" #ifndef QT_NO_DECLARATIVE -#include <private/qqmljsast_p.h> -#include <private/qqmljsastfwd_p.h> -#include <private/qqmljsengine_p.h> -#include <private/qqmljslexer_p.h> -#include <private/qqmljsparser_p.h> +# include <private/qqmljsast_p.h> +# include <private/qqmljsastfwd_p.h> +# include <private/qqmljsengine_p.h> +# include <private/qqmljslexer_p.h> +# include <private/qqmljsparser_p.h> #endif QT_BEGIN_NAMESPACE -QmlCodeMarker::QmlCodeMarker() -{ -} +QmlCodeMarker::QmlCodeMarker() {} -QmlCodeMarker::~QmlCodeMarker() -{ -} +QmlCodeMarker::~QmlCodeMarker() {} /*! Returns \c true if the \a code is recognized by the parser. @@ -103,8 +99,7 @@ Atom::AtomType QmlCodeMarker::atomType() const return Atom::Qml; } -QString QmlCodeMarker::markedUpCode(const QString &code, - const Node *relative, +QString QmlCodeMarker::markedUpCode(const QString &code, const Node *relative, const Location &location) { return addMarkUp(code, relative, location); @@ -127,8 +122,7 @@ QString QmlCodeMarker::markedUpFullName(const Node *node, const Node *relative) { if (node->name().isEmpty()) { return "global"; - } - else { + } else { QString fullName; for (;;) { fullName.prepend(markedUpName(node)); @@ -155,16 +149,14 @@ QString QmlCodeMarker::markedUpIncludes(const QStringList &includes) QString QmlCodeMarker::functionBeginRegExp(const QString &funcName) { return QLatin1Char('^') + QRegExp::escape("function " + funcName) + QLatin1Char('$'); - } -QString QmlCodeMarker::functionEndRegExp(const QString &/* funcName */) +QString QmlCodeMarker::functionEndRegExp(const QString & /* funcName */) { return "^\\}$"; } -QString QmlCodeMarker::addMarkUp(const QString &code, - const Node * /* relative */, +QString QmlCodeMarker::addMarkUp(const QString &code, const Node * /* relative */, const Location &location) { #ifndef QT_NO_DECLARATIVE @@ -185,14 +177,15 @@ QString QmlCodeMarker::addMarkUp(const QString &code, QmlMarkupVisitor visitor(code, pragmas, &engine); QQmlJS::AST::Node::accept(ast, &visitor); if (visitor.hasError()) { - location.warning(location.fileName() + - tr("Unable to analyze QML snippet. The output is incomplete.")); + location.warning(location.fileName() + + tr("Unable to analyze QML snippet. The output is incomplete.")); } output = visitor.markedUpCode(); } else { - location.warning(tr("Unable to parse QML snippet: \"%1\" at line %2, column %3").arg( - parser.errorMessage()).arg(parser.errorLineNumber()).arg( - parser.errorColumnNumber())); + location.warning(tr("Unable to parse QML snippet: \"%1\" at line %2, column %3") + .arg(parser.errorMessage()) + .arg(parser.errorLineNumber()) + .arg(parser.errorColumnNumber())); output = protect(code); } @@ -253,9 +246,7 @@ QVector<QQmlJS::AST::SourceLocation> QmlCodeMarker::extractPragmas(QString &scri token = l.lex(); } replaceWithSpace(script, startOffset, endOffset - startOffset); - removed.append(QQmlJS::AST::SourceLocation(startOffset, - endOffset - startOffset, - startLine, + removed.append(QQmlJS::AST::SourceLocation(startOffset, endOffset - startOffset, startLine, startColumn)); } return removed; diff --git a/src/qdoc/qmlcodemarker.h b/src/qdoc/qmlcodemarker.h index 81194cb36..c3435e840 100644 --- a/src/qdoc/qmlcodemarker.h +++ b/src/qdoc/qmlcodemarker.h @@ -36,7 +36,7 @@ #include "cppcodemarker.h" #ifndef QT_NO_DECLARATIVE -#include <private/qqmljsastfwd_p.h> +# include <private/qqmljsastfwd_p.h> #endif QT_BEGIN_NAMESPACE @@ -53,8 +53,7 @@ public: bool recognizeExtension(const QString &ext) override; bool recognizeLanguage(const QString &language) override; Atom::AtomType atomType() const override; - virtual QString markedUpCode(const QString &code, - const Node *relative, + virtual QString markedUpCode(const QString &code, const Node *relative, const Location &location) override; QString markedUpName(const Node *node) override; @@ -69,8 +68,7 @@ public: #endif private: - QString addMarkUp(const QString &code, const Node *relative, - const Location &location); + QString addMarkUp(const QString &code, const Node *relative, const Location &location); }; QT_END_NAMESPACE diff --git a/src/qdoc/qmlcodeparser.cpp b/src/qdoc/qmlcodeparser.cpp index 1b8688f00..06ce5e1a5 100644 --- a/src/qdoc/qmlcodeparser.cpp +++ b/src/qdoc/qmlcodeparser.cpp @@ -37,8 +37,8 @@ #include "qmlvisitor.h" #ifndef QT_NO_DECLARATIVE -#include <private/qqmljsast_p.h> -#include <private/qqmljsastvisitor_p.h> +# include <private/qqmljsast_p.h> +# include <private/qqmljsastvisitor_p.h> #endif #include <qdebug.h> @@ -49,8 +49,7 @@ QT_BEGIN_NAMESPACE */ QmlCodeParser::QmlCodeParser() #ifndef QT_NO_DECLARATIVE - : lexer(nullptr), - parser(nullptr) + : lexer(nullptr), parser(nullptr) #endif { } @@ -58,9 +57,7 @@ QmlCodeParser::QmlCodeParser() /*! Destroys the QML code parser. */ -QmlCodeParser::~QmlCodeParser() -{ -} +QmlCodeParser::~QmlCodeParser() {} /*! Initializes the code parser base class. The \a config argument @@ -136,10 +133,7 @@ void QmlCodeParser::parseSourceFile(const Location &location, const QString &fil if (parser->parse()) { QQmlJS::AST::UiProgram *ast = parser->ast(); - QmlDocVisitor visitor(filePath, - newCode, - &engine, - topicCommands() + commonMetaCommands(), + QmlDocVisitor visitor(filePath, newCode, &engine, topicCommands() + commonMetaCommands(), topicCommands()); QQmlJS::AST::Node::accept(ast, &visitor); if (visitor.hasError()) { @@ -150,12 +144,12 @@ void QmlCodeParser::parseSourceFile(const Location &location, const QString &fil const auto &messages = parser->diagnosticMessages(); for (const auto &msg : messages) { qDebug().nospace() << qPrintable(filePath) << ':' -#if Q_QML_PRIVATE_API_VERSION < 5 +# if Q_QML_PRIVATE_API_VERSION < 5 << msg.loc.startLine << ": QML syntax error at col " << msg.loc.startColumn -#else +# else << msg.line << ": QML syntax error at col " << msg.column -#endif +# endif << ": " << qPrintable(msg.message); } currentFile_.clear(); @@ -171,26 +165,14 @@ static QSet<QString> topicCommands_; const QSet<QString> &QmlCodeParser::topicCommands() { if (topicCommands_.isEmpty()) { - topicCommands_ << COMMAND_VARIABLE - << COMMAND_QMLCLASS - << COMMAND_QMLTYPE - << COMMAND_QMLPROPERTY - << COMMAND_QMLPROPERTYGROUP // mws 13/03/2019 - << COMMAND_QMLATTACHEDPROPERTY - << COMMAND_QMLSIGNAL - << COMMAND_QMLATTACHEDSIGNAL - << COMMAND_QMLMETHOD - << COMMAND_QMLATTACHEDMETHOD - << COMMAND_QMLBASICTYPE - << COMMAND_JSTYPE - << COMMAND_JSPROPERTY - << COMMAND_JSPROPERTYGROUP // mws 13/03/2019 - << COMMAND_JSATTACHEDPROPERTY - << COMMAND_JSSIGNAL - << COMMAND_JSATTACHEDSIGNAL - << COMMAND_JSMETHOD - << COMMAND_JSATTACHEDMETHOD - << COMMAND_JSBASICTYPE; + topicCommands_ << COMMAND_VARIABLE << COMMAND_QMLCLASS << COMMAND_QMLTYPE + << COMMAND_QMLPROPERTY << COMMAND_QMLPROPERTYGROUP // mws 13/03/2019 + << COMMAND_QMLATTACHEDPROPERTY << COMMAND_QMLSIGNAL + << COMMAND_QMLATTACHEDSIGNAL << COMMAND_QMLMETHOD + << COMMAND_QMLATTACHEDMETHOD << COMMAND_QMLBASICTYPE << COMMAND_JSTYPE + << COMMAND_JSPROPERTY << COMMAND_JSPROPERTYGROUP // mws 13/03/2019 + << COMMAND_JSATTACHEDPROPERTY << COMMAND_JSSIGNAL << COMMAND_JSATTACHEDSIGNAL + << COMMAND_JSMETHOD << COMMAND_JSATTACHEDMETHOD << COMMAND_JSBASICTYPE; } return topicCommands_; } @@ -235,15 +217,13 @@ void QmlCodeParser::extractPragmas(QString &script) token = l.lex(); - if (token != QQmlJSGrammar::T_IDENTIFIER || - l.tokenStartLine() != startLine || - script.mid(l.tokenOffset(), l.tokenLength()) != pragma) + if (token != QQmlJSGrammar::T_IDENTIFIER || l.tokenStartLine() != startLine + || script.mid(l.tokenOffset(), l.tokenLength()) != pragma) return; token = l.lex(); - if (token != QQmlJSGrammar::T_IDENTIFIER || - l.tokenStartLine() != startLine) + if (token != QQmlJSGrammar::T_IDENTIFIER || l.tokenStartLine() != startLine) return; QString pragmaValue = script.mid(l.tokenOffset(), l.tokenLength()); diff --git a/src/qdoc/qmlcodeparser.h b/src/qdoc/qmlcodeparser.h index 85923137b..f639f2115 100644 --- a/src/qdoc/qmlcodeparser.h +++ b/src/qdoc/qmlcodeparser.h @@ -38,9 +38,9 @@ #include <QtCore/qset.h> #ifndef QT_NO_DECLARATIVE -#include <private/qqmljsengine_p.h> -#include <private/qqmljslexer_p.h> -#include <private/qqmljsparser_p.h> +# include <private/qqmljsengine_p.h> +# include <private/qqmljslexer_p.h> +# include <private/qqmljsparser_p.h> #endif QT_BEGIN_NAMESPACE diff --git a/src/qdoc/qmlmarkupvisitor.cpp b/src/qdoc/qmlmarkupvisitor.cpp index dbcdf8aa5..434fe76bc 100644 --- a/src/qdoc/qmlmarkupvisitor.cpp +++ b/src/qdoc/qmlmarkupvisitor.cpp @@ -32,9 +32,9 @@ #include <QtCore/qstringlist.h> #ifndef QT_NO_DECLARATIVE -#include <private/qqmljsast_p.h> -#include <private/qqmljsastfwd_p.h> -#include <private/qqmljsengine_p.h> +# include <private/qqmljsast_p.h> +# include <private/qqmljsastfwd_p.h> +# include <private/qqmljsengine_p.h> #endif QT_BEGIN_NAMESPACE @@ -79,15 +79,13 @@ QmlMarkupVisitor::QmlMarkupVisitor(const QString &source, } } -QmlMarkupVisitor::~QmlMarkupVisitor() -{ -} +QmlMarkupVisitor::~QmlMarkupVisitor() {} // The protect() function is a copy of the one from CppCodeMarker. -static const QString samp = QLatin1String("&"); -static const QString slt = QLatin1String("<"); -static const QString sgt = QLatin1String(">"); +static const QString samp = QLatin1String("&"); +static const QString slt = QLatin1String("<"); +static const QString sgt = QLatin1String(">"); static const QString squot = QLatin1String("""); QString QmlMarkupVisitor::protect(const QString &str) @@ -98,11 +96,20 @@ QString QmlMarkupVisitor::protect(const QString &str) const QChar *data = str.constData(); for (int i = 0; i != n; ++i) { switch (data[i].unicode()) { - case '&': marked += samp; break; - case '<': marked += slt; break; - case '>': marked += sgt; break; - case '"': marked += squot; break; - default : marked += data[i]; + case '&': + marked += samp; + break; + case '<': + marked += slt; + break; + case '>': + marked += sgt; + break; + case '"': + marked += squot; + break; + default: + marked += data[i]; } } return marked; @@ -179,9 +186,9 @@ void QmlMarkupVisitor::addExtra(quint32 start, quint32 finish) cursor = finish; } -void QmlMarkupVisitor::addMarkedUpToken( - QQmlJS::AST::SourceLocation &location, const QString &tagName, - const QHash<QString, QString> &attributes) +void QmlMarkupVisitor::addMarkedUpToken(QQmlJS::AST::SourceLocation &location, + const QString &tagName, + const QHash<QString, QString> &attributes) { if (!location.isValid()) return; @@ -260,7 +267,7 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::UiPublicMember *member) addVerbatim(member->propertyToken); addVerbatim(member->typeModifierToken); addMarkedUpToken(member->typeToken, QLatin1String("type")); - //addVerbatim(member->identifierToken); + // addVerbatim(member->identifierToken); QQmlJS::AST::Node::accept(member->parameters, this); } addVerbatim(member->semicolonToken); @@ -309,7 +316,7 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::UiArrayMemberList *list) { for (QQmlJS::AST::UiArrayMemberList *it = list; it; it = it->next) { QQmlJS::AST::Node::accept(it->member, this); - //addVerbatim(it->commaToken); + // addVerbatim(it->commaToken); } return false; } @@ -387,12 +394,11 @@ void QmlMarkupVisitor::endVisit(QQmlJS::AST::ObjectPattern *literal) addVerbatim(literal->rbraceToken); } - bool QmlMarkupVisitor::visit(QQmlJS::AST::PatternElementList *list) { for (QQmlJS::AST::PatternElementList *it = list; it; it = it->next) { QQmlJS::AST::Node::accept(it->element, this); - //addVerbatim(it->commaToken); + // addVerbatim(it->commaToken); } QQmlJS::AST::Node::accept(list->elision, this); return false; @@ -409,7 +415,7 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::PatternProperty *list) QQmlJS::AST::Node::accept(list->name, this); addVerbatim(list->colonToken, list->colonToken); QQmlJS::AST::Node::accept(list->initializer, this); - //addVerbatim(list->commaToken, list->commaToken); + // addVerbatim(list->commaToken, list->commaToken); return false; } @@ -559,7 +565,7 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::VariableStatement *statement) { addVerbatim(statement->declarationKindToken); QQmlJS::AST::Node::accept(statement->declarations, this); - //addVerbatim(statement->semicolonToken); + // addVerbatim(statement->semicolonToken); return false; } @@ -692,7 +698,6 @@ void QmlMarkupVisitor::endVisit(QQmlJS::AST::CaseBlock *block) addVerbatim(block->rbraceToken, block->rbraceToken); } - bool QmlMarkupVisitor::visit(QQmlJS::AST::SwitchStatement *statement) { addMarkedUpToken(statement->switchToken, QLatin1String("keyword")); @@ -788,9 +793,9 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::FunctionDeclaration *declaration) bool QmlMarkupVisitor::visit(QQmlJS::AST::FormalParameterList *list) { -// addVerbatim(list->commaToken); + // addVerbatim(list->commaToken); QQmlJS::AST::Node::accept(list->element, this); - //addMarkedUpToken(list->identifierToken, QLatin1String("name")); + // addMarkedUpToken(list->identifierToken, QLatin1String("name")); return false; } diff --git a/src/qdoc/qmlmarkupvisitor.h b/src/qdoc/qmlmarkupvisitor.h index a0e3f870b..c9a012ae8 100644 --- a/src/qdoc/qmlmarkupvisitor.h +++ b/src/qdoc/qmlmarkupvisitor.h @@ -35,8 +35,8 @@ #include <QtCore/qstring.h> #ifndef QT_NO_DECLARATIVE -#include <private/qqmljsastvisitor_p.h> -#include <private/qqmljsengine_p.h> +# include <private/qqmljsastvisitor_p.h> +# include <private/qqmljsengine_p.h> #endif QT_BEGIN_NAMESPACE @@ -45,13 +45,9 @@ QT_BEGIN_NAMESPACE class QmlMarkupVisitor : public QQmlJS::AST::Visitor { public: - enum ExtraType{ - Comment, - Pragma - }; + enum ExtraType { Comment, Pragma }; - QmlMarkupVisitor(const QString &code, - const QVector<QQmlJS::AST::SourceLocation> &pragmas, + QmlMarkupVisitor(const QString &code, const QVector<QQmlJS::AST::SourceLocation> &pragmas, QQmlJS::Engine *engine); virtual ~QmlMarkupVisitor(); @@ -148,8 +144,7 @@ protected: private: typedef QHash<QString, QString> StringHash; void addExtra(quint32 start, quint32 finish); - void addMarkedUpToken(QQmlJS::AST::SourceLocation &location, - const QString &text, + void addMarkedUpToken(QQmlJS::AST::SourceLocation &location, const QString &text, const StringHash &attributes = StringHash()); void addVerbatim(QQmlJS::AST::SourceLocation first, QQmlJS::AST::SourceLocation last = QQmlJS::AST::SourceLocation()); diff --git a/src/qdoc/qmlvisitor.cpp b/src/qdoc/qmlvisitor.cpp index 6eb924570..d2d32b393 100644 --- a/src/qdoc/qmlvisitor.cpp +++ b/src/qdoc/qmlvisitor.cpp @@ -40,9 +40,9 @@ #include <QtCore/qstringlist.h> #ifndef QT_NO_DECLARATIVE -#include <private/qqmljsast_p.h> -#include <private/qqmljsastfwd_p.h> -#include <private/qqmljsengine_p.h> +# include <private/qqmljsast_p.h> +# include <private/qqmljsastfwd_p.h> +# include <private/qqmljsengine_p.h> #endif QT_BEGIN_NAMESPACE @@ -51,11 +51,8 @@ QT_BEGIN_NAMESPACE /*! The constructor stores all the parameters in local data members. */ -QmlDocVisitor::QmlDocVisitor(const QString &filePath, - const QString &code, - QQmlJS::Engine *engine, - const QSet<QString> &commands, - const QSet<QString> &topics) +QmlDocVisitor::QmlDocVisitor(const QString &filePath, const QString &code, QQmlJS::Engine *engine, + const QSet<QString> &commands, const QSet<QString> &topics) : nestingLevel(0) { lastEndOffset = 0; @@ -88,12 +85,10 @@ QQmlJS::AST::SourceLocation QmlDocVisitor::precedingComment(quint32 offset) cons if (loc.begin() <= lastEndOffset) { // Return if we reach the end of the preceding structure. break; - } - else if (usedComments.contains(loc.begin())) { + } else if (usedComments.contains(loc.begin())) { // Return if we encounter a previously used comment. break; - } - else if (loc.begin() > lastEndOffset && loc.end() < offset) { + } else if (loc.begin() > lastEndOffset && loc.end() < offset) { // Only examine multiline comments in order to avoid snippet markers. if (document.at(loc.offset - 1) == QLatin1Char('*')) { QString comment = document.mid(loc.offset, loc.length); @@ -109,7 +104,7 @@ QQmlJS::AST::SourceLocation QmlDocVisitor::precedingComment(quint32 offset) cons class QmlSignatureParser { - public: +public: QmlSignatureParser(FunctionNode *func, const QString &signature, const Location &loc); void readToken() { tok_ = tokenizer_->getToken(); } QString lexeme() { return tokenizer_->lexeme(); } @@ -120,7 +115,7 @@ class QmlSignatureParser bool matchParameter(); bool matchFunctionDecl(); - private: +private: QString signature_; QStringList names_; QString funcName_; @@ -160,9 +155,10 @@ bool QmlDocVisitor::applyDocumentation(QQmlJS::AST::SourceLocation location, Nod node->setDoc(doc); nodes.append(node); if (topicsUsed.size() > 0) { - for (int i=0; i<topicsUsed.size(); ++i) { + for (int i = 0; i < topicsUsed.size(); ++i) { QString topic = topicsUsed.at(i).topic; - if (!topic.startsWith(QLatin1String("qml")) && !topic.startsWith(QLatin1String("js"))) + if (!topic.startsWith(QLatin1String("qml")) + && !topic.startsWith(QLatin1String("js"))) continue; // maybe a qdoc warning here? mws 18/07/18 QString args = topicsUsed.at(i).args; if (topic == COMMAND_JSTYPE) { @@ -173,8 +169,7 @@ bool QmlDocVisitor::applyDocumentation(QQmlJS::AST::SourceLocation location, Nod if (qpa.name_ == nodePassedIn->name()) { if (nodePassedIn->isAlias()) nodePassedIn->setDataType(qpa.type_); - } - else { + } else { bool isAttached = topic.contains(QLatin1String("attached")); QmlPropertyNode *n = parent->hasQmlProperty(qpa.name_, isAttached); if (n == nullptr) @@ -186,12 +181,12 @@ bool QmlDocVisitor::applyDocumentation(QQmlJS::AST::SourceLocation location, Nod n->markDefault(); if (isAttached) n->markReadOnly(0); - if ((topic == COMMAND_JSPROPERTY) || (topic == COMMAND_JSATTACHEDPROPERTY)) + if ((topic == COMMAND_JSPROPERTY) + || (topic == COMMAND_JSATTACHEDPROPERTY)) n->changeType(Node::QmlProperty, Node::JsProperty); nodes.append(n); } - } - else + } else qDebug() << " FAILED TO PARSE QML OR JS PROPERTY:" << topic << args; } else if (topic.endsWith(QLatin1String("method"))) { if (node->isFunction()) { @@ -203,7 +198,7 @@ bool QmlDocVisitor::applyDocumentation(QQmlJS::AST::SourceLocation location, Nod } } } - for (int i=0; i<nodes.size(); ++i) + for (int i = 0; i < nodes.size(); ++i) applyMetacommands(loc, nodes.at(i), doc); usedComments.insert(loc.offset); if (doc.isEmpty()) { @@ -217,7 +212,8 @@ bool QmlDocVisitor::applyDocumentation(QQmlJS::AST::SourceLocation location, Nod return false; } -QmlSignatureParser::QmlSignatureParser(FunctionNode *func, const QString &signature, const Location &loc) +QmlSignatureParser::QmlSignatureParser(FunctionNode *func, const QString &signature, + const Location &loc) : signature_(signature), func_(func), location_(loc) { QByteArray latin1 = signature.toLatin1(); @@ -256,11 +252,8 @@ bool QmlSignatureParser::matchTypeAndName(CodeChunk *type, QString *var) bool virgin = true; if (tok_ != Tok_Ident) { - while (match(Tok_signed) || - match(Tok_unsigned) || - match(Tok_short) || - match(Tok_long) || - match(Tok_int64)) { + while (match(Tok_signed) || match(Tok_unsigned) || match(Tok_short) || match(Tok_long) + || match(Tok_int64)) { type->append(previousLexeme()); virgin = false; } @@ -269,19 +262,12 @@ bool QmlSignatureParser::matchTypeAndName(CodeChunk *type, QString *var) if (virgin) { if (match(Tok_Ident)) { type->append(previousLexeme()); - } - else if (match(Tok_void) || - match(Tok_int) || - match(Tok_char) || - match(Tok_double) || - match(Tok_Ellipsis)) + } else if (match(Tok_void) || match(Tok_int) || match(Tok_char) || match(Tok_double) + || match(Tok_Ellipsis)) type->append(previousLexeme()); else return false; - } - else if (match(Tok_int) || - match(Tok_char) || - match(Tok_double)) { + } else if (match(Tok_int) || match(Tok_char) || match(Tok_double)) { type->append(previousLexeme()); } @@ -291,10 +277,7 @@ bool QmlSignatureParser::matchTypeAndName(CodeChunk *type, QString *var) break; } - while (match(Tok_Ampersand) || - match(Tok_Aster) || - match(Tok_const) || - match(Tok_Caret)) + while (match(Tok_Ampersand) || match(Tok_Aster) || match(Tok_const) || match(Tok_Caret)) type->append(previousLexeme()); /* @@ -308,8 +291,8 @@ bool QmlSignatureParser::matchTypeAndName(CodeChunk *type, QString *var) if (tok_ == Tok_LeftBracket) { int bracketDepth0 = tokenizer_->bracketDepth(); - while ((tokenizer_->bracketDepth() >= bracketDepth0 && tok_ != Tok_Eoi) || - tok_ == Tok_RightBracket) { + while ((tokenizer_->bracketDepth() >= bracketDepth0 && tok_ != Tok_Eoi) + || tok_ == Tok_RightBracket) { type->append(lexeme()); readToken(); } @@ -333,10 +316,9 @@ bool QmlSignatureParser::matchParameter() return false; if (match(Tok_Equal)) { int parenDepth0 = tokenizer_->parenDepth(); - while (tokenizer_->parenDepth() >= parenDepth0 && - (tok_ != Tok_Comma || - tokenizer_->parenDepth() > parenDepth0) && - tok_ != Tok_Eoi) { + while (tokenizer_->parenDepth() >= parenDepth0 + && (tok_ != Tok_Comma || tokenizer_->parenDepth() > parenDepth0) + && tok_ != Tok_Eoi) { defaultValue.append(lexeme()); readToken(); } @@ -405,9 +387,7 @@ bool QmlSignatureParser::matchFunctionDecl() are found, a qdoc warning is emitted and false is returned. */ -bool QmlDocVisitor::splitQmlPropertyArg(const Doc &doc, - const QString &arg, - QmlPropArgs& qpa) +bool QmlDocVisitor::splitQmlPropertyArg(const Doc &doc, const QString &arg, QmlPropArgs &qpa) { qpa.clear(); QStringList blankSplit = arg.split(QLatin1Char(' ')); @@ -419,20 +399,17 @@ bool QmlDocVisitor::splitQmlPropertyArg(const Doc &doc, qpa.component_ = colonSplit[1]; qpa.name_ = colonSplit[2]; return true; - } - else if (colonSplit.size() == 2) { + } else if (colonSplit.size() == 2) { qpa.component_ = colonSplit[0]; qpa.name_ = colonSplit[1]; return true; - } - else if (colonSplit.size() == 1) { + } else if (colonSplit.size() == 1) { qpa.name_ = colonSplit[0]; return true; } QString msg = "Unrecognizable QML module/component qualifier for " + arg; doc.location().warning(tr(msg.toLatin1().data())); - } - else { + } else { QString msg = "Missing property type for " + arg; doc.location().warning(tr(msg.toLatin1().data())); } @@ -442,9 +419,7 @@ bool QmlDocVisitor::splitQmlPropertyArg(const Doc &doc, /*! Applies the metacommands found in the comment. */ -void QmlDocVisitor::applyMetacommands(QQmlJS::AST::SourceLocation, - Node *node, - Doc &doc) +void QmlDocVisitor::applyMetacommands(QQmlJS::AST::SourceLocation, Node *node, Doc &doc) { QDocDatabase *qdb = QDocDatabase::qdocDB(); QSet<QString> metacommands = doc.metaCommandsUsed(); @@ -456,51 +431,38 @@ void QmlDocVisitor::applyMetacommands(QQmlJS::AST::SourceLocation, if (node->isQmlType() || node->isJsType()) { node->setAbstract(true); } - } - else if (command == COMMAND_DEPRECATED) { + } else if (command == COMMAND_DEPRECATED) { node->setStatus(Node::Obsolete); - } - else if ((command == COMMAND_INQMLMODULE) || (command == COMMAND_INJSMODULE)) { - qdb->addToQmlModule(args[0].first,node); - } - else if (command == COMMAND_QMLINHERITS) { + } else if ((command == COMMAND_INQMLMODULE) || (command == COMMAND_INJSMODULE)) { + qdb->addToQmlModule(args[0].first, node); + } else if (command == COMMAND_QMLINHERITS) { if (node->name() == args[0].first) doc.location().warning(tr("%1 tries to inherit itself").arg(args[0].first)); else if (node->isQmlType() || node->isJsType()) { QmlTypeNode *qmlType = static_cast<QmlTypeNode *>(node); qmlType->setQmlBaseName(args[0].first); } - } - else if (command == COMMAND_QMLDEFAULT) { + } else if (command == COMMAND_QMLDEFAULT) { node->markDefault(); - } - else if (command == COMMAND_QMLREADONLY) { + } else if (command == COMMAND_QMLREADONLY) { node->markReadOnly(1); - } - else if ((command == COMMAND_INGROUP) && !args.isEmpty()) { + } else if ((command == COMMAND_INGROUP) && !args.isEmpty()) { for (const auto &argument : args) QDocDatabase::qdocDB()->addToGroup(argument.first, node); - } - else if (command == COMMAND_INTERNAL) { + } else if (command == COMMAND_INTERNAL) { node->setStatus(Node::Internal); - } - else if (command == COMMAND_OBSOLETE) { + } else if (command == COMMAND_OBSOLETE) { node->setStatus(Node::Obsolete); - } - else if (command == COMMAND_PAGEKEYWORDS) { + } else if (command == COMMAND_PAGEKEYWORDS) { // Not done yet. Do we need this? - } - else if (command == COMMAND_PRELIMINARY) { + } else if (command == COMMAND_PRELIMINARY) { node->setStatus(Node::Preliminary); - } - else if (command == COMMAND_SINCE) { + } else if (command == COMMAND_SINCE) { QString arg = args[0].first; //.join(' '); node->setSince(arg); - } - else if (command == COMMAND_WRAPPER) { + } else if (command == COMMAND_WRAPPER) { node->setWrapper(); - } - else { + } else { doc.location().warning(tr("The \\%1 command is ignored in QML files").arg(command)); } } @@ -543,7 +505,7 @@ bool QmlDocVisitor::visit(QQmlJS::AST::UiObjectDefinition *definition) if (current->isNamespace()) { QmlTypeNode *component = nullptr; - Node *candidate = current ->findChildNode(name, Node::QML); + Node *candidate = current->findChildNode(name, Node::QML); if (candidate != nullptr) component = static_cast<QmlTypeNode *>(candidate); else @@ -577,7 +539,7 @@ bool QmlDocVisitor::visit(QQmlJS::AST::UiImport *import) { QString name = document.mid(import->fileNameToken.offset, import->fileNameToken.length); if (name[0] == '\"') - name = name.mid(1, name.length()-2); + name = name.mid(1, name.length() - 2); QString version = document.mid(import->versionToken.offset, import->versionToken.length); QString importId = document.mid(import->importIdToken.offset, import->importIdToken.length); QString importUri = getFullyQualifiedId(import->importUri); @@ -608,20 +570,18 @@ bool QmlDocVisitor::visit(QQmlJS::AST::UiArrayBinding *) return true; } -void QmlDocVisitor::endVisit(QQmlJS::AST::UiArrayBinding *) -{ -} +void QmlDocVisitor::endVisit(QQmlJS::AST::UiArrayBinding *) {} -template <typename T> +template<typename T> QString qualifiedIdToString(T node); -template <> +template<> QString qualifiedIdToString(QStringRef node) { return node.toString(); } -template <> +template<> QString qualifiedIdToString(QQmlJS::AST::UiQualifiedId *node) { QString s; @@ -647,8 +607,7 @@ bool QmlDocVisitor::visit(QQmlJS::AST::UiPublicMember *member) return true; } switch (member->type) { - case QQmlJS::AST::UiPublicMember::Signal: - { + case QQmlJS::AST::UiPublicMember::Signal: { if (current->isQmlType() || current->isJsType()) { QmlTypeNode *qmlType = static_cast<QmlTypeNode *>(current); if (qmlType) { @@ -668,8 +627,7 @@ bool QmlDocVisitor::visit(QQmlJS::AST::UiPublicMember *member) } break; } - case QQmlJS::AST::UiPublicMember::Property: - { + case QQmlJS::AST::UiPublicMember::Property: { QString type = qualifiedIdToString(member->memberType); QString name = member->name.toString(); if (current->isQmlType() || current->isJsType()) { @@ -697,7 +655,7 @@ bool QmlDocVisitor::visit(QQmlJS::AST::UiPublicMember *member) /*! End the visit of the \a member. */ -void QmlDocVisitor::endVisit(QQmlJS::AST::UiPublicMember* member) +void QmlDocVisitor::endVisit(QQmlJS::AST::UiPublicMember *member) { lastEndOffset = member->lastSourceLocation().end(); } @@ -711,7 +669,7 @@ bool QmlDocVisitor::visit(QQmlJS::AST::IdentifierPropertyName *) Begin the visit of the function declaration \a fd, but only if the nesting level is 1. */ -bool QmlDocVisitor::visit(QQmlJS::AST::FunctionDeclaration* fd) +bool QmlDocVisitor::visit(QQmlJS::AST::FunctionDeclaration *fd) { if (nestingLevel <= 1) { FunctionNode::Metaness metaness = FunctionNode::QmlMethod; @@ -738,7 +696,7 @@ bool QmlDocVisitor::visit(QQmlJS::AST::FunctionDeclaration* fd) /*! End the visit of the function declaration, \a fd. */ -void QmlDocVisitor::endVisit(QQmlJS::AST::FunctionDeclaration* fd) +void QmlDocVisitor::endVisit(QQmlJS::AST::FunctionDeclaration *fd) { lastEndOffset = fd->lastSourceLocation().end(); } @@ -752,22 +710,22 @@ void QmlDocVisitor::endVisit(QQmlJS::AST::FunctionDeclaration* fd) documentation, that discussion must take place in the comment for the signal. */ -bool QmlDocVisitor::visit(QQmlJS::AST::UiScriptBinding* ) +bool QmlDocVisitor::visit(QQmlJS::AST::UiScriptBinding *) { return true; } -void QmlDocVisitor::endVisit(QQmlJS::AST::UiScriptBinding* sb) +void QmlDocVisitor::endVisit(QQmlJS::AST::UiScriptBinding *sb) { lastEndOffset = sb->lastSourceLocation().end(); } -bool QmlDocVisitor::visit(QQmlJS::AST::UiQualifiedId* ) +bool QmlDocVisitor::visit(QQmlJS::AST::UiQualifiedId *) { return true; } -void QmlDocVisitor::endVisit(QQmlJS::AST::UiQualifiedId* ) +void QmlDocVisitor::endVisit(QQmlJS::AST::UiQualifiedId *) { // nothing. } diff --git a/src/qdoc/qmlvisitor.h b/src/qdoc/qmlvisitor.h index fae02c1e2..6c10c5258 100644 --- a/src/qdoc/qmlvisitor.h +++ b/src/qdoc/qmlvisitor.h @@ -34,8 +34,8 @@ #include <QtCore/qstring.h> #ifndef QT_NO_DECLARATIVE -#include <private/qqmljsastvisitor_p.h> -#include <private/qqmljsengine_p.h> +# include <private/qqmljsastvisitor_p.h> +# include <private/qqmljsengine_p.h> #endif QT_BEGIN_NAMESPACE @@ -47,7 +47,8 @@ struct QmlPropArgs QString component_; QString name_; - void clear() { + void clear() + { type_.clear(); module_.clear(); component_.clear(); @@ -61,11 +62,8 @@ class QmlDocVisitor : public QQmlJS::AST::Visitor Q_DECLARE_TR_FUNCTIONS(QDoc::QmlDocVisitor) public: - QmlDocVisitor(const QString &filePath, - const QString &code, - QQmlJS::Engine *engine, - const QSet<QString> &commands, - const QSet<QString> &topics); + QmlDocVisitor(const QString &filePath, const QString &code, QQmlJS::Engine *engine, + const QSet<QString> &commands, const QSet<QString> &topics); ~QmlDocVisitor() override; bool visit(QQmlJS::AST::UiImport *import) override; @@ -101,9 +99,7 @@ private: QQmlJS::AST::SourceLocation precedingComment(quint32 offset) const; bool applyDocumentation(QQmlJS::AST::SourceLocation location, Node *node); void applyMetacommands(QQmlJS::AST::SourceLocation location, Node *node, Doc &doc); - bool splitQmlPropertyArg(const Doc &doc, - const QString &arg, - QmlPropArgs& qpa); + bool splitQmlPropertyArg(const Doc &doc, const QString &arg, QmlPropArgs &qpa); QQmlJS::Engine *engine; quint32 lastEndOffset; diff --git a/src/qdoc/quoter.cpp b/src/qdoc/quoter.cpp index 7dd13233e..a313ab5c5 100644 --- a/src/qdoc/quoter.cpp +++ b/src/qdoc/quoter.cpp @@ -34,7 +34,7 @@ QT_BEGIN_NAMESPACE -QHash<QString,QString> Quoter::commentHash; +QHash<QString, QString> Quoter::commentHash; static void replaceMultipleNewlines(QString &s) { @@ -106,8 +106,7 @@ static void trimWhiteSpace(QString &str) str.resize(++j); } -Quoter::Quoter() - : silent(false) +Quoter::Quoter() : silent(false) { /* We're going to hard code these delimiters: * C++, Qt, Qt Script, Java: @@ -138,9 +137,8 @@ void Quoter::reset() codeLocation = Location::null; } -void Quoter::quoteFromFile(const QString &userFriendlyFilePath, - const QString &plainCode, - const QString &markedCode) +void Quoter::quoteFromFile(const QString &userFriendlyFilePath, const QString &plainCode, + const QString &markedCode) { silent = false; @@ -186,7 +184,7 @@ QString Quoter::quoteLine(const Location &docLocation, const QString &command, const QString &pattern) { if (plainLines.isEmpty()) { - failedAtEnd( docLocation, command ); + failedAtEnd(docLocation, command); return QString(); } @@ -200,8 +198,7 @@ QString Quoter::quoteLine(const Location &docLocation, const QString &command, if (!silent) { docLocation.warning(tr("Command '\\%1' failed").arg(command)); - codeLocation.warning(tr("Pattern '%1' didn't match here") - .arg(pattern)); + codeLocation.warning(tr("Pattern '%1' didn't match here").arg(pattern)); silent = true; } return QString(); @@ -249,8 +246,7 @@ QString Quoter::quoteSnippet(const Location &docLocation, const QString &identif return t; } -QString Quoter::quoteTo(const Location &docLocation, const QString &command, - const QString &pattern) +QString Quoter::quoteTo(const Location &docLocation, const QString &command, const QString &pattern) { QString t; QString comment = commentForCode(); @@ -298,21 +294,18 @@ QString Quoter::getLine(int unindent) return t; } -bool Quoter::match(const Location &docLocation, const QString &pattern0, - const QString &line) +bool Quoter::match(const Location &docLocation, const QString &pattern0, const QString &line) { QString str = line; while (str.endsWith(QLatin1Char('\n'))) str.truncate(str.length() - 1); QString pattern = pattern0; - if (pattern.startsWith(QLatin1Char('/')) - && pattern.endsWith(QLatin1Char('/')) - && pattern.length() > 2) { + if (pattern.startsWith(QLatin1Char('/')) && pattern.endsWith(QLatin1Char('/')) + && pattern.length() > 2) { QRegExp rx(pattern.mid(1, pattern.length() - 2)); if (!silent && !rx.isValid()) { - docLocation.warning(tr("Invalid regular expression '%1'") - .arg(rx.pattern())); + docLocation.warning(tr("Invalid regular expression '%1'").arg(rx.pattern())); silent = true; } return str.indexOf(rx) != -1; @@ -325,11 +318,12 @@ bool Quoter::match(const Location &docLocation, const QString &pattern0, void Quoter::failedAtEnd(const Location &docLocation, const QString &command) { if (!silent && !command.isEmpty()) { - if (codeLocation.filePath().isEmpty() ) { + if (codeLocation.filePath().isEmpty()) { docLocation.warning(tr("Unexpected '\\%1'").arg(command)); } else { docLocation.warning(tr("Command '\\%1' failed at end of file '%2'") - .arg(command).arg(codeLocation.filePath())); + .arg(command) + .arg(codeLocation.filePath())); } silent = true; } diff --git a/src/qdoc/quoter.h b/src/qdoc/quoter.h index 6dec63641..ed21828cf 100644 --- a/src/qdoc/quoter.h +++ b/src/qdoc/quoter.h @@ -48,14 +48,11 @@ public: Quoter(); void reset(); - void quoteFromFile(const QString &userFriendlyFileName, - const QString &plainCode, const QString &markedCode); - QString quoteLine(const Location &docLocation, const QString &command, - const QString &pattern); - QString quoteTo(const Location &docLocation, const QString &command, - const QString &pattern); - QString quoteUntil(const Location &docLocation, const QString &command, - const QString &pattern); + void quoteFromFile(const QString &userFriendlyFileName, const QString &plainCode, + const QString &markedCode); + QString quoteLine(const Location &docLocation, const QString &command, const QString &pattern); + QString quoteTo(const Location &docLocation, const QString &command, const QString &pattern); + QString quoteUntil(const Location &docLocation, const QString &command, const QString &pattern); QString quoteSnippet(const Location &docLocation, const QString &identifier); static QStringList splitLines(const QString &line); @@ -63,17 +60,15 @@ public: private: QString getLine(int unindent = 0); void failedAtEnd(const Location &docLocation, const QString &command); - bool match(const Location &docLocation, const QString &pattern, - const QString &line); + bool match(const Location &docLocation, const QString &pattern, const QString &line); QString commentForCode() const; - QString removeSpecialLines(const QString &line, const QString &comment, - int unindent = 0); + QString removeSpecialLines(const QString &line, const QString &comment, int unindent = 0); bool silent; QStringList plainLines; QStringList markedLines; Location codeLocation; - static QHash<QString,QString> commentHash; + static QHash<QString, QString> commentHash; }; QT_END_NAMESPACE diff --git a/src/qdoc/sections.cpp b/src/qdoc/sections.cpp index 7fd39bc4f..7d5bcf03f 100644 --- a/src/qdoc/sections.cpp +++ b/src/qdoc/sections.cpp @@ -38,17 +38,21 @@ QT_BEGIN_NAMESPACE -//Aggregate *Sections::aggregate_ = nullptr; +// Aggregate *Sections::aggregate_ = nullptr; static bool sectionsInitialized = false; QVector<Section> Sections::stdSummarySections_(7, Section(Section::Summary, Section::Active)); QVector<Section> Sections::stdDetailsSections_(7, Section(Section::Details, Section::Active)); -QVector<Section> Sections::stdCppClassSummarySections_(18, Section(Section::Summary, Section::Active)); -QVector<Section> Sections::stdCppClassDetailsSections_(6, Section(Section::Details, Section::Active)); +QVector<Section> Sections::stdCppClassSummarySections_(18, + Section(Section::Summary, Section::Active)); +QVector<Section> Sections::stdCppClassDetailsSections_(6, + Section(Section::Details, Section::Active)); QVector<Section> Sections::sinceSections_(15, Section(Section::Details, Section::Active)); QVector<Section> Sections::allMembers_(1, Section(Section::AllMembers, Section::Active)); -QVector<Section> Sections::stdQmlTypeSummarySections_(7, Section(Section::Summary, Section::Active)); -QVector<Section> Sections::stdQmlTypeDetailsSections_(7, Section(Section::Details, Section::Active)); +QVector<Section> Sections::stdQmlTypeSummarySections_(7, + Section(Section::Summary, Section::Active)); +QVector<Section> Sections::stdQmlTypeDetailsSections_(7, + Section(Section::Details, Section::Active)); /*! \class Section @@ -61,9 +65,9 @@ QVector<Section> Sections::stdQmlTypeDetailsSections_(7, Section(Section::Detail */ Section::Section(Style style, Status status) : style_(style), status_(status), aggregate_(nullptr) { - //members_.reserve(100); - //obsoleteMembers_.reserve(50); - //reimplementedMembers_.reserve(50); + // members_.reserve(100); + // obsoleteMembers_.reserve(50); + // reimplementedMembers_.reserve(50); } /*! @@ -88,7 +92,7 @@ void Section::clear() reimplementedMemberMap_.clear(); if (!classMapList_.isEmpty()) { for (int i = 0; i < classMapList_.size(); i++) { - ClassMap* cm = classMapList_[i]; + ClassMap *cm = classMapList_[i]; classMapList_[i] = nullptr; delete cm; } @@ -102,7 +106,7 @@ void Section::clear() inheritedMembers_.clear(); if (!classKeysNodesList_.isEmpty()) { for (int i = 0; i < classKeysNodesList_.size(); i++) { - ClassKeysNodes* ckn = classKeysNodesList_[i]; + ClassKeysNodes *ckn = classKeysNodesList_[i]; classKeysNodesList_[i] = nullptr; delete ckn; } @@ -133,7 +137,7 @@ QString Section::sortName(const Node *node, const QString *name) // we want 'qint8' to appear before 'qint16' if (numDigits > 0) { for (int i = 0; i < 4 - numDigits; ++i) - nodeName.insert(nodeName.size()-numDigits-1, QLatin1Char('0')); + nodeName.insert(nodeName.size() - numDigits - 1, QLatin1Char('0')); } if (node->isFunction()) { @@ -144,8 +148,7 @@ QString Section::sortName(const Node *node, const QString *name) sortNo = QLatin1String("C"); else if (fn->isDtor()) sortNo = QLatin1String("D"); - else if (nodeName.startsWith(QLatin1String("operator")) - && nodeName.length() > 8 + else if (nodeName.startsWith(QLatin1String("operator")) && nodeName.length() > 8 && !nodeName[8].isLetterOrNumber()) sortNo = QLatin1String("F"); else @@ -185,12 +188,11 @@ void Section::insert(Node *node) if (node->isPrivate() || node->isInternal()) { irrelevant = true; - } - else if (node->isFunction()) { + } else if (node->isFunction()) { FunctionNode *func = static_cast<FunctionNode *>(node); irrelevant = (inherited && (func->isSomeCtor() || func->isDtor())); - } - else if (node->isClassNode() || node->isEnumType() || node->isTypedef() || node->isVariable()) { + } else if (node->isClassNode() || node->isEnumType() || node->isTypedef() + || node->isVariable()) { irrelevant = (inherited && style_ != AllMembers); if (!irrelevant && style_ == Details && node->isTypedef()) { const TypedefNode *tdn = static_cast<const TypedefNode *>(node); @@ -211,7 +213,8 @@ void Section::insert(Node *node) memberMap_.insertMulti(key, node); } if (inherited && (node->parent()->isClassNode() || node->parent()->isNamespace())) { - if (inheritedMembers_.isEmpty() || inheritedMembers_.last().first != node->parent()) { + if (inheritedMembers_.isEmpty() + || inheritedMembers_.last().first != node->parent()) { QPair<Aggregate *, int> p(node->parent(), 0); inheritedMembers_.append(p); } @@ -284,8 +287,8 @@ void Section::reduce() obsoleteMembers_ = obsoleteMemberMap_.values().toVector(); reimplementedMembers_ = reimplementedMemberMap_.values().toVector(); for (int i = 0; i < classMapList_.size(); i++) { - ClassMap* cm = classMapList_[i]; - ClassKeysNodes* ckn = new ClassKeysNodes; + ClassMap *cm = classMapList_[i]; + ClassKeysNodes *ckn = new ClassKeysNodes; ckn->first = cm->first; ckn->second.second = cm->second.values().toVector(); ckn->second.first = cm->second.keys(); @@ -397,11 +400,9 @@ Sections::Sections(const NodeMultiMap &nsmap) : aggregate_(nullptr) sections[SinceGlobalFunctions].appendMember(node); else sections[SinceNamespaceFunctions].appendMember(node); - } - else + } else sections[SinceGlobalFunctions].appendMember(node); - } - else + } else sections[SinceGlobalFunctions].appendMember(node); } break; @@ -456,8 +457,7 @@ Sections::~Sections() break; } aggregate_ = nullptr; - } - else { + } else { clear(sinceSections()); } } @@ -467,7 +467,7 @@ Sections::~Sections() */ void Sections::initAggregate(SectionVector &v, Aggregate *aggregate) { - for (int i = 0; i< v.size(); ++i) + for (int i = 0; i < v.size(); ++i) v[i].setAggregate(aggregate); } @@ -499,7 +499,8 @@ void Sections::initSections() v[8].init("Protected Functions", "protected function", "protected functions"); v[9].init("Protected Slots", "protected slot", "protected slots"); v[10].init("Protected Variables", "protected type", "protected variables"); - v[11].init("Static Protected Members", "static protected member", "static protected members"); + v[11].init("Static Protected Members", "static protected member", + "static protected members"); v[12].init("Private Types", "private type", "private types"); v[13].init("Private Functions", "private function", "private functions"); v[14].init("Private Slots", "private slot", "private slots"); @@ -572,13 +573,13 @@ void Sections::initSections() { QVector<Section> &v = stdQmlTypeDetailsSections_; - v[0].init("Property Documentation","qmlprop","member","members"); - v[1].init("Attached Property Documentation","qmlattprop", "member","members"); - v[2].init("Signal Documentation","qmlsig","signal","signals"); - v[3].init("Signal Handler Documentation","qmlsighan","signal handler","signal handlers"); - v[4].init("Attached Signal Documentation","qmlattsig", "signal","signals"); - v[5].init("Method Documentation","qmlmeth","member","members"); - v[6].init("Attached Method Documentation","qmlattmeth", "member","members"); + v[0].init("Property Documentation", "qmlprop", "member", "members"); + v[1].init("Attached Property Documentation", "qmlattprop", "member", "members"); + v[2].init("Signal Documentation", "qmlsig", "signal", "signals"); + v[3].init("Signal Handler Documentation", "qmlsighan", "signal handler", "signal handlers"); + v[4].init("Attached Signal Documentation", "qmlattsig", "signal", "signals"); + v[5].init("Method Documentation", "qmlmeth", "member", "members"); + v[6].init("Attached Method Documentation", "qmlattmeth", "member", "members"); } } @@ -623,32 +624,31 @@ void Sections::stdRefPageSwitch(SectionVector &v, Node *n, Node *t) case Node::Typedef: v[StdTypes].insert(n); return; - case Node::Function: - { - FunctionNode *func = static_cast<FunctionNode *>(t); - if (func->isMacro()) - v[StdMacros].insert(n); - else - v[StdFunctions].insert(n); - } + case Node::Function: { + FunctionNode *func = static_cast<FunctionNode *>(t); + if (func->isMacro()) + v[StdMacros].insert(n); + else + v[StdFunctions].insert(n); + } return; - case Node::Variable: - { - const VariableNode *var = static_cast<const VariableNode *>(t); - if (!var->doc().isEmpty()) { - if (var->isStatic()) - v[StdStaticVariables].insert(n); - else - v[StdVariables].insert(n); - } + case Node::Variable: { + const VariableNode *var = static_cast<const VariableNode *>(t); + if (!var->doc().isEmpty()) { + if (var->isStatic()) + v[StdStaticVariables].insert(n); + else + v[StdVariables].insert(n); } + } return; - case Node::SharedComment: - { - SharedCommentNode *scn = static_cast<SharedCommentNode *>(t); - if (!scn->doc().isEmpty() && scn->collective().count()) - stdRefPageSwitch(v, scn, scn->collective().first()); // TODO: warn about mixed node types in collective? - } + case Node::SharedComment: { + SharedCommentNode *scn = static_cast<SharedCommentNode *>(t); + if (!scn->doc().isEmpty() && scn->collective().count()) + stdRefPageSwitch( + v, scn, + scn->collective().first()); // TODO: warn about mixed node types in collective? + } return; default: return; @@ -738,24 +738,20 @@ void Sections::distributeNodeInSummaryVector(SectionVector &sv, Node *n) sv[PrivateSlots].insert(fn); else sv[ProtectedSlots].insert(fn); - } - else if (fn->isSignal()) { + } else if (fn->isSignal()) { if (fn->isPublic()) sv[Signals].insert(fn); - } - else if (fn->isPublic()) { + } else if (fn->isPublic()) { if (fn->isStatic()) sv[StaticPublicMembers].insert(fn); else if (!sv[PublicFunctions].insertReimplementedMember(fn)) sv[PublicFunctions].insert(fn); - } - else if (fn->isPrivate()) { + } else if (fn->isPrivate()) { if (fn->isStatic()) sv[StaticPrivateMembers].insert(fn); else if (!sv[PrivateFunctions].insertReimplementedMember(fn)) sv[PrivateFunctions].insert(fn); - } - else { // protected + } else { // protected if (fn->isStatic()) sv[StaticProtectedMembers].insert(fn); else if (!sv[ProtectedFunctions].insertReimplementedMember(fn)) @@ -775,8 +771,7 @@ void Sections::distributeNodeInSummaryVector(SectionVector &sv, Node *n) sv[StaticPrivateMembers].insert(n); else sv[StaticProtectedMembers].insert(n); - } - else { + } else { if (n->isPublic()) sv[PublicVariables].insert(n); else if (!n->isPrivate()) @@ -810,7 +805,7 @@ void Sections::distributeNodeInDetailsVector(SectionVector &dv, Node *n) if (n->isSharingComment()) return; - // t is the reference node to be tested - typically it's this node (n), but for + // t is the reference node to be tested - typically it's this node (n), but for // shared comment nodes we need to distribute based on the nodes in its collective. Node *t = n; @@ -926,7 +921,7 @@ void Sections::distributeQmlNodeInSummaryVector(SectionVector &sv, Node *n, bool sv[QmlMethods].insert(fn); } } else if (n->isSharedCommentNode()) { - SharedCommentNode *scn = static_cast<SharedCommentNode*>(n); + SharedCommentNode *scn = static_cast<SharedCommentNode *>(n); if (scn->isPropertyGroup()) { sv[QmlProperties].insert(scn); } else { @@ -957,11 +952,9 @@ void Sections::buildStdCppClassRefPageSections() bool documentAll = true; if (aggregate_->parent() && !aggregate_->name().isEmpty() && !aggregate_->hasDoc()) documentAll = false; - for (auto it = aggregate_->constBegin(); it != aggregate_->constEnd();++it) { + for (auto it = aggregate_->constBegin(); it != aggregate_->constEnd(); ++it) { Node *n = *it; - if (!n->isPrivate() - && !n->isProperty() - && !n->isRelatedNonmember() + if (!n->isPrivate() && !n->isProperty() && !n->isRelatedNonmember() && !n->isSharedCommentNode()) allMembers.insert(n); if (!documentAll && !n->hasDoc()) @@ -983,14 +976,12 @@ void Sections::buildStdCppClassRefPageSections() ClassNode *cn = stack.pop(); for (auto it = cn->constBegin(); it != cn->constEnd(); ++it) { Node *n = *it; - if (!n->isPrivate() - && !n->isProperty() - && !n->isRelatedNonmember() + if (!n->isPrivate() && !n->isProperty() && !n->isRelatedNonmember() && !n->isSharedCommentNode()) allMembers.insert(n); if (!documentAll && !n->hasDoc()) continue; - //distributeNodeInSummaryVector(sv, n); Why was this here? mws 03/07/2019 + // distributeNodeInSummaryVector(sv, n); Why was this here? mws 03/07/2019 } pushBaseClasses(stack, cn); } @@ -999,14 +990,13 @@ void Sections::buildStdCppClassRefPageSections() allMembers.reduce(); } - /*! Build the section vectors for a standard reference page, when the aggregate node is a QML type. */ void Sections::buildStdQmlTypeRefPageSections() { - ClassMap* classMap = nullptr; + ClassMap *classMap = nullptr; SectionVector &summarySections = stdQmlTypeSummarySections(); SectionVector &detailsSections = stdQmlTypeDetailsSections(); Section &allMembers = allMembersSection(); @@ -1015,7 +1005,7 @@ void Sections::buildStdQmlTypeRefPageSections() while (true) { if (!qtn->isAbstract() || !classMap) classMap = allMembers.newClassMap(qtn); - for (auto it = qtn->constBegin(); it !=qtn->constEnd(); ++it) { + for (auto it = qtn->constBegin(); it != qtn->constEnd(); ++it) { Node *n = *it; if (n->isInternal()) continue; @@ -1028,8 +1018,7 @@ void Sections::buildStdQmlTypeRefPageSections() } if (qtn->qmlBaseNode() == qtn) { qDebug() << "qdoc internal error: circular type definition." - << "QML type" << qtn->name() - << "can't be its own base type"; + << "QML type" << qtn->name() << "can't be its own base type"; qtn = nullptr; break; } @@ -1052,8 +1041,7 @@ void Sections::buildStdQmlTypeRefPageSections() } if (qtn->qmlBaseNode() == qtn) { qDebug() << "qdoc internal error: circular type definition." - << "QML type" << qtn->name() - << "can't be its own base type"; + << "QML type" << qtn->name() << "can't be its own base type"; qtn = nullptr; break; } @@ -1070,7 +1058,8 @@ void Sections::buildStdQmlTypeRefPageSections() have not been modified. Otherwise, both vectors will contain pointers to the sections that contain obsolete members. */ -bool Sections::hasObsoleteMembers(SectionPtrVector *summary_spv, SectionPtrVector *details_spv) const +bool Sections::hasObsoleteMembers(SectionPtrVector *summary_spv, + SectionPtrVector *details_spv) const { const SectionVector *sections = nullptr; if (aggregate_->isClassNode()) @@ -1096,5 +1085,4 @@ bool Sections::hasObsoleteMembers(SectionPtrVector *summary_spv, SectionPtrVecto return !summary_spv->isEmpty(); } - QT_END_NAMESPACE diff --git a/src/qdoc/sections.h b/src/qdoc/sections.h index 9c1514c2d..90596b394 100644 --- a/src/qdoc/sections.h +++ b/src/qdoc/sections.h @@ -36,7 +36,7 @@ QT_BEGIN_NAMESPACE typedef QMultiMap<QString, Node *> MemberMap; // the string is the member signature -typedef QPair<const QmlTypeNode *, MemberMap> ClassMap; // the node is the QML type +typedef QPair<const QmlTypeNode *, MemberMap> ClassMap; // the node is the QML type typedef QVector<ClassMap *> ClassMapList; typedef QPair<QStringList, NodeVector> KeysAndNodes; @@ -50,27 +50,30 @@ public: enum Status { Obsolete, Active }; public: - Section() : style_(Details), status_(Active), aggregate_(nullptr) { } + Section() : style_(Details), status_(Active), aggregate_(nullptr) {} Section(Style style, Status status); ~Section(); - void init(const QString &title) { - title_ = title; - } - void init(const QString &singular, - const QString &plural) { - singular_ = singular; plural_ = plural; + void init(const QString &title) { title_ = title; } + void init(const QString &singular, const QString &plural) + { + singular_ = singular; + plural_ = plural; } - void init(const QString &title, - const QString &singular, - const QString &plural) { - title_ = title; divClass_.clear(); singular_= singular; plural_ = plural; + void init(const QString &title, const QString &singular, const QString &plural) + { + title_ = title; + divClass_.clear(); + singular_ = singular; + plural_ = plural; } - void init(const QString &title, - const QString &divClass, - const QString &singular, - const QString &plural) { - title_ = title; divClass_ = divClass; singular_= singular; plural_ = plural; + void init(const QString &title, const QString &divClass, const QString &singular, + const QString &plural) + { + title_ = title; + divClass_ = divClass; + singular_ = singular; + plural_ = plural; } void insert(Node *node); @@ -84,11 +87,10 @@ public: void clear(); void reduce(); - bool isEmpty() const { - return (memberMap_.isEmpty() && - inheritedMembers_.isEmpty() && - reimplementedMemberMap_.isEmpty() && - classMapList_.isEmpty()); + bool isEmpty() const + { + return (memberMap_.isEmpty() && inheritedMembers_.isEmpty() + && reimplementedMemberMap_.isEmpty() && classMapList_.isEmpty()); } Style style() const { return style_; } @@ -101,7 +103,7 @@ public: const QStringList &keys(Status t) const { return (t == Obsolete ? obsoleteKeys_ : keys_); } const NodeVector &members() const { return members_; } const NodeVector &reimplementedMembers() const { return reimplementedMembers_; } - const QVector<QPair<Aggregate*, int> > &inheritedMembers() const { return inheritedMembers_; } + const QVector<QPair<Aggregate *, int>> &inheritedMembers() const { return inheritedMembers_; } ClassKeysNodesList &classKeysNodesList() { return classKeysNodesList_; } const NodeVector &obsoleteMembers() const { return obsoleteMembers_; } void appendMembers(const NodeVector &nv) { members_.append(nv); } @@ -112,8 +114,8 @@ private: QString sortName(const Node *node, const QString *name = nullptr); private: - Style style_; - Status status_; + Style style_; + Status status_; QString title_; QString divClass_; QString singular_; @@ -125,7 +127,7 @@ private: NodeVector members_; NodeVector obsoleteMembers_; NodeVector reimplementedMembers_; - QVector<QPair<Aggregate *, int> > inheritedMembers_; + QVector<QPair<Aggregate *, int>> inheritedMembers_; ClassKeysNodesList classKeysNodesList_; QMultiMap<QString, Node *> memberMap_; @@ -247,7 +249,6 @@ private: static SectionVector stdQmlTypeDetailsSections_; static SectionVector sinceSections_; static SectionVector allMembers_; - }; QT_END_NAMESPACE diff --git a/src/qdoc/text.cpp b/src/qdoc/text.cpp index c80ef00e3..b3e3b4106 100644 --- a/src/qdoc/text.cpp +++ b/src/qdoc/text.cpp @@ -38,19 +38,14 @@ QT_BEGIN_NAMESPACE -Text::Text() - : first(nullptr), last(nullptr) -{ -} +Text::Text() : first(nullptr), last(nullptr) {} -Text::Text(const QString &str) - : first(nullptr), last(nullptr) +Text::Text(const QString &str) : first(nullptr), last(nullptr) { operator<<(str); } -Text::Text(const Text &text) - : first(nullptr), last(nullptr) +Text::Text(const Text &text) : first(nullptr), last(nullptr) { operator=(text); } @@ -79,22 +74,19 @@ Text &Text::operator<<(const QString &string) return operator<<(Atom(Atom::String, string)); } -Text &Text::operator<<(const Atom& atom) +Text &Text::operator<<(const Atom &atom) { if (atom.count() < 2) { if (first == nullptr) { first = new Atom(atom.type(), atom.string()); last = first; - } - else + } else last = new Atom(last, atom.type(), atom.string()); - } - else { + } else { if (first == nullptr) { first = new Atom(atom.type(), atom.string(), atom.string(1)); last = first; - } - else + } else last = new Atom(last, atom.type(), atom.string(), atom.string(1)); } return *this; @@ -110,8 +102,7 @@ Text &Text::operator<<(const LinkAtom &atom) if (first == nullptr) { first = new LinkAtom(atom); last = first; - } - else + } else last = new LinkAtom(last, atom); return *this; } @@ -164,9 +155,8 @@ QString Text::toString() const QString str; const Atom *atom = firstAtom(); while (atom != nullptr) { - if (atom->type() == Atom::String || - atom->type() == Atom::AutoLink || - atom->type() == Atom::C) + if (atom->type() == Atom::String || atom->type() == Atom::AutoLink + || atom->type() == Atom::C) str += atom->string(); atom = atom->next(); } @@ -180,9 +170,8 @@ bool Text::contains(const QString &str) const { const Atom *atom = firstAtom(); while (atom != nullptr) { - if (atom->type() == Atom::String || - atom->type() == Atom::AutoLink || - atom->type() == Atom::C) + if (atom->type() == Atom::String || atom->type() == Atom::AutoLink + || atom->type() == Atom::C) if (atom->string().contains(str, Qt::CaseInsensitive)) return true; atom = atom->next(); @@ -190,7 +179,8 @@ bool Text::contains(const QString &str) const return false; } -Text Text::subText(Atom::AtomType left, Atom::AtomType right, const Atom *from, bool inclusive) const +Text Text::subText(Atom::AtomType left, Atom::AtomType right, const Atom *from, + bool inclusive) const { const Atom *begin = from ? from : firstAtom(); const Atom *end; @@ -256,7 +246,8 @@ void Text::dump() const str.replace(QRegExp("[^\x20-\x7e]"), "?"); if (!str.isEmpty()) str = " \"" + str + QLatin1Char('"'); - fprintf(stderr, " %-15s%s\n", atom->typeString().toLatin1().data(), str.toLatin1().data()); + fprintf(stderr, " %-15s%s\n", atom->typeString().toLatin1().data(), + str.toLatin1().data()); atom = atom->next(); } } diff --git a/src/qdoc/text.h b/src/qdoc/text.h index 7c31fcde0..704a44968 100644 --- a/src/qdoc/text.h +++ b/src/qdoc/text.h @@ -51,7 +51,7 @@ public: Atom *lastAtom() { return last; } Text &operator<<(Atom::AtomType atomType); Text &operator<<(const QString &string); - Text &operator<<(const Atom& atom); + Text &operator<<(const Atom &atom); Text &operator<<(const LinkAtom &atom); Text &operator<<(const Text &text); void stripFirstAtom(); @@ -62,7 +62,8 @@ public: QString toString() const; const Atom *firstAtom() const { return first; } const Atom *lastAtom() const { return last; } - Text subText(Atom::AtomType left, Atom::AtomType right, const Atom *from = nullptr, bool inclusive = false) const; + Text subText(Atom::AtomType left, Atom::AtomType right, const Atom *from = nullptr, + bool inclusive = false) const; void dump() const; void clear(); @@ -72,23 +73,34 @@ public: static int compare(const Text &text1, const Text &text2); private: - Atom *first; Atom *last; }; inline bool operator==(const Text &text1, const Text &text2) -{ return Text::compare(text1, text2) == 0; } +{ + return Text::compare(text1, text2) == 0; +} inline bool operator!=(const Text &text1, const Text &text2) -{ return Text::compare(text1, text2) != 0; } +{ + return Text::compare(text1, text2) != 0; +} inline bool operator<(const Text &text1, const Text &text2) -{ return Text::compare(text1, text2) < 0; } +{ + return Text::compare(text1, text2) < 0; +} inline bool operator<=(const Text &text1, const Text &text2) -{ return Text::compare(text1, text2) <= 0; } +{ + return Text::compare(text1, text2) <= 0; +} inline bool operator>(const Text &text1, const Text &text2) -{ return Text::compare(text1, text2) > 0; } +{ + return Text::compare(text1, text2) > 0; +} inline bool operator>=(const Text &text1, const Text &text2) -{ return Text::compare(text1, text2) >= 0; } +{ + return Text::compare(text1, text2) >= 0; +} QT_END_NAMESPACE diff --git a/src/qdoc/tokenizer.cpp b/src/qdoc/tokenizer.cpp index af3837c3a..d15b6d318 100644 --- a/src/qdoc/tokenizer.cpp +++ b/src/qdoc/tokenizer.cpp @@ -42,42 +42,69 @@ QT_BEGIN_NAMESPACE -#define LANGUAGE_CPP "Cpp" +#define LANGUAGE_CPP "Cpp" /* qmake ignore Q_OBJECT */ /* Keep in sync with tokenizer.h. */ -static const char *kwords[] = { - "char", "class", "const", "double", "enum", "explicit", - "friend", "inline", "int", "long", "namespace", "operator", - "private", "protected", "public", "short", "signals", "signed", - "slots", "static", "struct", "template", "typedef", "typename", - "union", "unsigned", "using", "virtual", "void", "volatile", - "__int64", "default", "delete", "final", "override", - "Q_OBJECT", - "Q_OVERRIDE", - "Q_PROPERTY", - "Q_PRIVATE_PROPERTY", - "Q_DECLARE_SEQUENTIAL_ITERATOR", - "Q_DECLARE_MUTABLE_SEQUENTIAL_ITERATOR", - "Q_DECLARE_ASSOCIATIVE_ITERATOR", - "Q_DECLARE_MUTABLE_ASSOCIATIVE_ITERATOR", - "Q_DECLARE_FLAGS", - "Q_SIGNALS", - "Q_SLOTS", - "QT_COMPAT", - "QT_COMPAT_CONSTRUCTOR", - "QT_DEPRECATED", - "QT_MOC_COMPAT", - "QT_MODULE", - "QT3_SUPPORT", - "QT3_SUPPORT_CONSTRUCTOR", - "QT3_MOC_SUPPORT", - "QDOC_PROPERTY", - "QPrivateSignal" -}; +static const char *kwords[] = { "char", + "class", + "const", + "double", + "enum", + "explicit", + "friend", + "inline", + "int", + "long", + "namespace", + "operator", + "private", + "protected", + "public", + "short", + "signals", + "signed", + "slots", + "static", + "struct", + "template", + "typedef", + "typename", + "union", + "unsigned", + "using", + "virtual", + "void", + "volatile", + "__int64", + "default", + "delete", + "final", + "override", + "Q_OBJECT", + "Q_OVERRIDE", + "Q_PROPERTY", + "Q_PRIVATE_PROPERTY", + "Q_DECLARE_SEQUENTIAL_ITERATOR", + "Q_DECLARE_MUTABLE_SEQUENTIAL_ITERATOR", + "Q_DECLARE_ASSOCIATIVE_ITERATOR", + "Q_DECLARE_MUTABLE_ASSOCIATIVE_ITERATOR", + "Q_DECLARE_FLAGS", + "Q_SIGNALS", + "Q_SLOTS", + "QT_COMPAT", + "QT_COMPAT_CONSTRUCTOR", + "QT_DEPRECATED", + "QT_MOC_COMPAT", + "QT_MODULE", + "QT3_SUPPORT", + "QT3_SUPPORT_CONSTRUCTOR", + "QT3_MOC_SUPPORT", + "QDOC_PROPERTY", + "QPrivateSignal" }; static const int KwordHashTableSize = 4096; static int kwordHashTable[KwordHashTableSize]; @@ -102,8 +129,7 @@ static QTextCodec *sourceCodec = nullptr; */ static int hashKword(const char *s, int len) { - return (((uchar) s[0]) + (((uchar) s[2]) << 5) + - (((uchar) s[len - 1]) << 3)) % KwordHashTableSize; + return (((uchar)s[0]) + (((uchar)s[2]) << 5) + (((uchar)s[len - 1]) << 3)) % KwordHashTableSize; } static void insertKwordIntoHash(const char *s, int number) @@ -124,8 +150,7 @@ Tokenizer::Tokenizer(const Location &loc, QFile &in) start(loc); } -Tokenizer::Tokenizer(const Location &loc, const QByteArray &in) - : yyIn(in) +Tokenizer::Tokenizer(const Location &loc, const QByteArray &in) : yyIn(in) { init(); yyPos = 0; @@ -152,8 +177,7 @@ int Tokenizer::getToken() do { yyCh = getChar(); } while (isspace(yyCh)); - } - else if (isalpha(yyCh) || yyCh == '_') { + } else if (isalpha(yyCh) || yyCh == '_') { do { yyCh = getChar(); } while (isalnum(yyCh) || yyCh == '_'); @@ -163,8 +187,7 @@ int Tokenizer::getToken() int i = kwordHashTable[k]; if (i == 0) { return Tok_Ident; - } - else if (i == -1) { + } else if (i == -1) { if (!parsingMacro && ignoredTokensAndDirectives->contains(yyLex)) { if (ignoredTokensAndDirectives->value(yyLex)) { // it's a directive int parenDepth = 0; @@ -180,9 +203,8 @@ int Tokenizer::getToken() } break; } - } - else if (strcmp(yyLex, kwords[i - 1]) == 0) { - int ret = (int) Tok_FirstKeyword + i - 1; + } else if (strcmp(yyLex, kwords[i - 1]) == 0) { + int ret = (int)Tok_FirstKeyword + i - 1; if (ret != Tok_typename) return ret; break; @@ -191,15 +213,12 @@ int Tokenizer::getToken() if (++k == KwordHashTableSize) k = 0; } - } - else if (isdigit(yyCh)) { + } else if (isdigit(yyCh)) { do { yyCh = getChar(); - } while (isalnum(yyCh) || yyCh == '.' || yyCh == '+' || - yyCh == '-'); + } while (isalnum(yyCh) || yyCh == '.' || yyCh == '+' || yyCh == '-'); return Tok_Number; - } - else { + } else { switch (yyCh) { case '!': case '%': @@ -234,8 +253,7 @@ int Tokenizer::getToken() if (yyCh == '=') { yyCh = getChar(); return Tok_SomeOperator; - } - else { + } else { return Tok_Ampersand; } case '\'': @@ -255,8 +273,7 @@ int Tokenizer::getToken() if (yyCh == EOF) { yyTokLoc.warning(tr("Unterminated C++ character literal")); - } - else { + } else { yyCh = getChar(); return Tok_Number; } @@ -328,8 +345,7 @@ int Tokenizer::getToken() } else if (isdigit(yyCh)) { do { yyCh = getChar(); - } while (isalnum(yyCh) || yyCh == '.' || yyCh == '+' || - yyCh == '-'); + } while (isalnum(yyCh) || yyCh == '.' || yyCh == '+' || yyCh == '-'); return Tok_Number; } return Tok_SomeOperator; @@ -462,10 +478,11 @@ int Tokenizer::getToken() default: // ### We should really prevent qdoc from looking at snippet files rather than // ### suppress warnings when reading them. - if (yyNumPreprocessorSkipping == 0 && !(yyTokLoc.fileName().endsWith(".qdoc") || - yyTokLoc.fileName().endsWith(".js"))) { - yyTokLoc.warning(tr("Hostile character 0x%1 in C++ source") - .arg((uchar)yyCh, 1, 16)); + if (yyNumPreprocessorSkipping == 0 + && !(yyTokLoc.fileName().endsWith(".qdoc") + || yyTokLoc.fileName().endsWith(".js"))) { + yyTokLoc.warning( + tr("Hostile character 0x%1 in C++ source").arg((uchar)yyCh, 1, 16)); } yyCh = getChar(); } @@ -526,8 +543,8 @@ void Tokenizer::initialize(const Config &config) insertKwordIntoHash(tb.data(), -1); } - const QStringList directives = config.getStringList(LANGUAGE_CPP + Config::dot - + CONFIG_IGNOREDIRECTIVES); + const QStringList directives = + config.getStringList(LANGUAGE_CPP + Config::dot + CONFIG_IGNOREDIRECTIVES); for (const auto &directive : directives) { const QByteArray db = directive.toLatin1(); ignoredTokensAndDirectives->insert(db, true); @@ -558,8 +575,8 @@ void Tokenizer::terminate() void Tokenizer::init() { - yyLexBuf1 = new char[(int) yyLexBufSize]; - yyLexBuf2 = new char[(int) yyLexBufSize]; + yyLexBuf1 = new char[(int)yyLexBufSize]; + yyLexBuf2 = new char[(int)yyLexBufSize]; yyPrevLex = yyLexBuf1; yyPrevLex[0] = '\0'; yyLex = yyLexBuf2; @@ -754,11 +771,9 @@ bool Tokenizer::isTrue(const QString &condition) } } if (firstOr != -1) - return isTrue(condition.left(firstOr)) || - isTrue(condition.mid(firstOr + 2)); + return isTrue(condition.left(firstOr)) || isTrue(condition.mid(firstOr + 2)); if (firstAnd != -1) - return isTrue(condition.left(firstAnd)) && - isTrue(condition.mid(firstAnd + 2)); + return isTrue(condition.left(firstAnd)) && isTrue(condition.mid(firstAnd + 2)); QString t = condition.simplified(); if (t.isEmpty()) diff --git a/src/qdoc/tokenizer.h b/src/qdoc/tokenizer.h index 2f0c1937c..4f35090fe 100644 --- a/src/qdoc/tokenizer.h +++ b/src/qdoc/tokenizer.h @@ -49,30 +49,93 @@ QT_BEGIN_NAMESPACE tokenizer.cpp as well, and possibly adjust Tok_FirstKeyword and Tok_LastKeyword. */ -enum { Tok_Eoi, Tok_Ampersand, Tok_Aster, Tok_Caret, Tok_LeftParen, - Tok_RightParen, Tok_LeftParenAster, Tok_Equal, Tok_LeftBrace, - Tok_RightBrace, Tok_Semicolon, Tok_Colon, Tok_LeftAngle, - Tok_RightAngle, Tok_Comma, Tok_Ellipsis, Tok_Gulbrandsen, - Tok_LeftBracket, Tok_RightBracket, Tok_Tilde, Tok_SomeOperator, - Tok_Number, Tok_String, Tok_Doc, Tok_Comment, Tok_Ident, Tok_At, - Tok_char, Tok_class, Tok_const, Tok_double, Tok_enum, - Tok_explicit, Tok_friend, Tok_inline, Tok_int, Tok_long, - Tok_namespace, Tok_operator, Tok_private, Tok_protected, - Tok_public, Tok_short, Tok_signals, Tok_signed, Tok_slots, - Tok_static, Tok_struct, Tok_template, Tok_typedef, - Tok_typename, Tok_union, Tok_unsigned, Tok_using, Tok_virtual, - Tok_void, Tok_volatile, Tok_int64, Tok_default, Tok_delete, Tok_final, - Tok_override, - Tok_Q_OBJECT, Tok_Q_OVERRIDE, - Tok_Q_PROPERTY, Tok_Q_PRIVATE_PROPERTY, Tok_Q_DECLARE_SEQUENTIAL_ITERATOR, - Tok_Q_DECLARE_MUTABLE_SEQUENTIAL_ITERATOR, - Tok_Q_DECLARE_ASSOCIATIVE_ITERATOR, - Tok_Q_DECLARE_MUTABLE_ASSOCIATIVE_ITERATOR, - Tok_Q_DECLARE_FLAGS, Tok_Q_SIGNALS, Tok_Q_SLOTS, Tok_QT_COMPAT, - Tok_QT_COMPAT_CONSTRUCTOR, Tok_QT_DEPRECATED, Tok_QT_MOC_COMPAT, - Tok_QT_MODULE, Tok_QT3_SUPPORT, Tok_QT3_SUPPORT_CONSTRUCTOR, - Tok_QT3_MOC_SUPPORT, Tok_QDOC_PROPERTY, Tok_QPrivateSignal, - Tok_FirstKeyword = Tok_char, Tok_LastKeyword = Tok_QPrivateSignal }; +enum { + Tok_Eoi, + Tok_Ampersand, + Tok_Aster, + Tok_Caret, + Tok_LeftParen, + Tok_RightParen, + Tok_LeftParenAster, + Tok_Equal, + Tok_LeftBrace, + Tok_RightBrace, + Tok_Semicolon, + Tok_Colon, + Tok_LeftAngle, + Tok_RightAngle, + Tok_Comma, + Tok_Ellipsis, + Tok_Gulbrandsen, + Tok_LeftBracket, + Tok_RightBracket, + Tok_Tilde, + Tok_SomeOperator, + Tok_Number, + Tok_String, + Tok_Doc, + Tok_Comment, + Tok_Ident, + Tok_At, + Tok_char, + Tok_class, + Tok_const, + Tok_double, + Tok_enum, + Tok_explicit, + Tok_friend, + Tok_inline, + Tok_int, + Tok_long, + Tok_namespace, + Tok_operator, + Tok_private, + Tok_protected, + Tok_public, + Tok_short, + Tok_signals, + Tok_signed, + Tok_slots, + Tok_static, + Tok_struct, + Tok_template, + Tok_typedef, + Tok_typename, + Tok_union, + Tok_unsigned, + Tok_using, + Tok_virtual, + Tok_void, + Tok_volatile, + Tok_int64, + Tok_default, + Tok_delete, + Tok_final, + Tok_override, + Tok_Q_OBJECT, + Tok_Q_OVERRIDE, + Tok_Q_PROPERTY, + Tok_Q_PRIVATE_PROPERTY, + Tok_Q_DECLARE_SEQUENTIAL_ITERATOR, + Tok_Q_DECLARE_MUTABLE_SEQUENTIAL_ITERATOR, + Tok_Q_DECLARE_ASSOCIATIVE_ITERATOR, + Tok_Q_DECLARE_MUTABLE_ASSOCIATIVE_ITERATOR, + Tok_Q_DECLARE_FLAGS, + Tok_Q_SIGNALS, + Tok_Q_SLOTS, + Tok_QT_COMPAT, + Tok_QT_COMPAT_CONSTRUCTOR, + Tok_QT_DEPRECATED, + Tok_QT_MOC_COMPAT, + Tok_QT_MODULE, + Tok_QT3_SUPPORT, + Tok_QT3_SUPPORT_CONSTRUCTOR, + Tok_QT3_MOC_SUPPORT, + Tok_QDOC_PROPERTY, + Tok_QPrivateSignal, + Tok_FirstKeyword = Tok_char, + Tok_LastKeyword = Tok_QPrivateSignal +}; /* The Tokenizer class implements lexical analysis of C++ source @@ -120,17 +183,14 @@ private: */ enum { yyLexBufSize = 524288 }; - int getch() - { - return yyPos == yyIn.size() ? EOF : yyIn[yyPos++]; - } + int getch() { return yyPos == yyIn.size() ? EOF : yyIn[yyPos++]; } inline int getChar() { if (yyCh == EOF) return EOF; if (yyLexLen < yyLexBufSize - 1) { - yyLex[yyLexLen++] = (char) yyCh; + yyLex[yyLexLen++] = (char)yyCh; yyLex[yyLexLen] = '\0'; } yyCurLoc.advance(yyCh); diff --git a/src/qdoc/tree.cpp b/src/qdoc/tree.cpp index 6ff473bdc..718b16fc5 100644 --- a/src/qdoc/tree.cpp +++ b/src/qdoc/tree.cpp @@ -144,7 +144,8 @@ Node *Tree::findNodeForInclude(const QStringList &path) const Aggregate *Tree::findAggregate(const QString &name) { QStringList path = name.split(QLatin1String("::")); - return static_cast<Aggregate *>(findNodeRecursive(path, 0, const_cast<NamespaceNode *>(root()), &Node::isFirstClassAggregate)); + return static_cast<Aggregate *>(findNodeRecursive(path, 0, const_cast<NamespaceNode *>(root()), + &Node::isFirstClassAggregate)); } /*! @@ -217,8 +218,7 @@ Aggregate *Tree::findRelatesNode(const QStringList &path) Inserts function name \a funcName and function role \a funcRole into the property function map for the specified \a property. */ -void Tree::addPropertyFunction(PropertyNode *property, - const QString &funcName, +void Tree::addPropertyFunction(PropertyNode *property, const QString &funcName, PropertyNode::FunctionRole funcRole) { unresolvedPropertyMap[property].insert(funcRole, funcName); @@ -295,7 +295,7 @@ void Tree::resolvePropertyOverriddenFromPtrs(Aggregate *n) void Tree::resolveProperties() { for (auto propEntry = unresolvedPropertyMap.constBegin(); - propEntry != unresolvedPropertyMap.constEnd(); ++propEntry) { + propEntry != unresolvedPropertyMap.constEnd(); ++propEntry) { PropertyNode *property = propEntry.key(); Aggregate *parent = property->parent(); QString getterName = (*propEntry)[PropertyNode::Getter]; @@ -306,19 +306,15 @@ void Tree::resolveProperties() for (auto it = parent->constBegin(); it != parent->constEnd(); ++it) { if ((*it)->isFunction()) { FunctionNode *function = static_cast<FunctionNode *>(*it); - if (function->access() == property->access() && - (function->status() == property->status() || - function->doc().isEmpty())) { + if (function->access() == property->access() + && (function->status() == property->status() || function->doc().isEmpty())) { if (function->name() == getterName) { property->addFunction(function, PropertyNode::Getter); - } - else if (function->name() == setterName) { + } else if (function->name() == setterName) { property->addFunction(function, PropertyNode::Setter); - } - else if (function->name() == resetterName) { + } else if (function->name() == resetterName) { property->addFunction(function, PropertyNode::Resetter); - } - else if (function->name() == notifierName) { + } else if (function->name() == notifierName) { property->addSignal(function, PropertyNode::Notifier); } } @@ -327,7 +323,7 @@ void Tree::resolveProperties() } for (auto propEntry = unresolvedPropertyMap.constBegin(); - propEntry != unresolvedPropertyMap.constEnd(); ++propEntry) { + propEntry != unresolvedPropertyMap.constEnd(); ++propEntry) { PropertyNode *property = propEntry.key(); // redo it to set the property functions if (property->overriddenFrom()) @@ -422,7 +418,7 @@ ClassList Tree::allBaseClasses(const ClassNode *classNode) const search at the tree root. \a subtype is not used unless \a type is \c{Page}. */ -Node *Tree::findNodeByNameAndType(const QStringList &path, bool (Node::*isMatch) () const) const +Node *Tree::findNodeByNameAndType(const QStringList &path, bool (Node::*isMatch)() const) const { return findNodeRecursive(path, 0, root(), isMatch); } @@ -443,10 +439,8 @@ Node *Tree::findNodeByNameAndType(const QStringList &path, bool (Node::*isMatch) If the algorithm is successful, the pointer to the final node is returned. Otherwise 0 is returned. */ -Node *Tree::findNodeRecursive(const QStringList &path, - int pathIndex, - const Node *start, - bool (Node::*isMatch) () const) const +Node *Tree::findNodeRecursive(const QStringList &path, int pathIndex, const Node *start, + bool (Node::*isMatch)() const) const { if (start == nullptr || path.isEmpty()) return nullptr; @@ -460,13 +454,12 @@ Node *Tree::findNodeRecursive(const QStringList &path, if (node == nullptr) continue; if (node->name() == name) { - if (pathIndex+1 >= path.size()) { + if (pathIndex + 1 >= path.size()) { if ((node->*(isMatch))()) return node; continue; - } - else { // Search the children of n for the next name in the path. - node = findNodeRecursive(path, pathIndex+1, node, isMatch); + } else { // Search the children of n for the next name in the path. + node = findNodeRecursive(path, pathIndex + 1, node, isMatch); if (node != nullptr) return node; } @@ -488,11 +481,8 @@ Node *Tree::findNodeRecursive(const QStringList &path, If a matching node is found, \a ref is an output parameter that is set to the HTML reference to use for the link. */ -const Node *Tree::findNodeForTarget(const QStringList &path, - const QString &target, - const Node *start, - int flags, - Node::Genus genus, +const Node *Tree::findNodeForTarget(const QStringList &path, const QString &target, + const Node *start, int flags, Node::Genus genus, QString &ref) const { const Node *node = nullptr; @@ -533,8 +523,8 @@ const Node *Tree::findNodeForTarget(const QStringList &path, type node. */ int path_idx = 0; - if (((genus == Node::QML) || (genus == Node::DontCare)) && - (path.size() >= 2) && !path[0].isEmpty()) { + if (((genus == Node::QML) || (genus == Node::DontCare)) && (path.size() >= 2) + && !path[0].isEmpty()) { QmlTypeNode *qcn = lookupQmlType(QString(path[0] + "::" + path[1])); if (qcn) { current = qcn; @@ -544,8 +534,7 @@ const Node *Tree::findNodeForTarget(const QStringList &path, if (!ref.isEmpty()) return current; return nullptr; - } - else + } else return current; } path_idx = 2; @@ -554,7 +543,8 @@ const Node *Tree::findNodeForTarget(const QStringList &path, while (current != nullptr) { if (current->isAggregate()) { // Should this be isPageNode() ??? - const Node *node = matchPathAndTarget(path, path_idx, target, current, flags, genus, ref); + const Node *node = + matchPathAndTarget(path, path_idx, target, current, flags, genus, ref); if (node) return node; } @@ -584,12 +574,8 @@ const Node *Tree::findNodeForTarget(const QStringList &path, \a path is a not a fully-qualified name. \a node is most often the root of this Tree. */ -const Node *Tree::matchPathAndTarget(const QStringList &path, - int idx, - const QString &target, - const Node *node, - int flags, - Node::Genus genus, +const Node *Tree::matchPathAndTarget(const QStringList &path, int idx, const QString &target, + const Node *node, int flags, Node::Genus genus, QString &ref) const { /* @@ -621,21 +607,22 @@ const Node *Tree::matchPathAndTarget(const QStringList &path, } } if (target.isEmpty()) { - if ((idx) == (path.size()-1) && node->isAggregate() && (flags & SearchEnumValues)) { - const Node *t = static_cast<const Aggregate *>(node)->findEnumNodeForValue(path.at(idx)); + if ((idx) == (path.size() - 1) && node->isAggregate() && (flags & SearchEnumValues)) { + const Node *t = + static_cast<const Aggregate *>(node)->findEnumNodeForValue(path.at(idx)); if (t) return t; } } - if (((genus == Node::CPP) || (genus == Node::DontCare)) && - node->isClassNode() && (flags & SearchBaseClasses)) { + if (((genus == Node::CPP) || (genus == Node::DontCare)) && node->isClassNode() + && (flags & SearchBaseClasses)) { const ClassList bases = allBaseClasses(static_cast<const ClassNode *>(node)); for (const auto *base : bases) { const Node *t = matchPathAndTarget(path, idx, target, base, flags, genus, ref); - if (t && ! t->isPrivate()) + if (t && !t->isPrivate()) return t; if (target.isEmpty()) { - if ((idx) == (path.size()-1) && (flags & SearchEnumValues)) { + if ((idx) == (path.size() - 1) && (flags & SearchEnumValues)) { t = base->findEnumNodeForValue(path.at(idx)); if (t) return t; @@ -652,9 +639,7 @@ const Node *Tree::matchPathAndTarget(const QStringList &path, recursively if no match is found. The \a flags are used to restrict the search. */ -const Node *Tree::findNode(const QStringList &path, - const Node *start, - int flags, +const Node *Tree::findNode(const QStringList &path, const Node *start, int flags, Node::Genus genus) const { const Node *current = start; @@ -674,8 +659,8 @@ const Node *Tree::findNode(const QStringList &path, If the answer is yes, the reference identifies a QML type node. */ - if (((genus == Node::QML) || (genus == Node::DontCare)) && - (path.size() >= 2) && !path[0].isEmpty()) { + if (((genus == Node::QML) || (genus == Node::DontCare)) && (path.size() >= 2) + && !path[0].isEmpty()) { QmlTypeNode *qcn = lookupQmlType(QString(path[0] + "::" + path[1])); if (qcn != nullptr) { node = qcn; @@ -689,16 +674,18 @@ const Node *Tree::findNode(const QStringList &path, if (node == nullptr || !node->isAggregate()) break; - // Clear the TypesOnly flag until the last path segment, as e.g. namespaces are not types. - // We also ignore module nodes as they are not aggregates and thus have no children. + // Clear the TypesOnly flag until the last path segment, as e.g. namespaces are not + // types. We also ignore module nodes as they are not aggregates and thus have no + // children. int tmpFlags = (i < path.size() - 1) ? (flags & ~TypesOnly) | IgnoreModules : flags; - const Node *next = static_cast<const Aggregate *>(node)->findChildNode(path.at(i), genus, tmpFlags); - if ((next == nullptr) && (flags & SearchEnumValues) && i == path.size()-1) { + const Node *next = static_cast<const Aggregate *>(node)->findChildNode(path.at(i), + genus, tmpFlags); + if ((next == nullptr) && (flags & SearchEnumValues) && i == path.size() - 1) { next = static_cast<const Aggregate *>(node)->findEnumNodeForValue(path.at(i)); } - if ((next == nullptr) && ((genus == Node::CPP) || (genus == Node::DontCare)) && - node->isClassNode() && (flags & SearchBaseClasses)) { + if ((next == nullptr) && ((genus == Node::CPP) || (genus == Node::DontCare)) + && node->isClassNode() && (flags & SearchBaseClasses)) { const ClassList bases = allBaseClasses(static_cast<const ClassNode *>(node)); for (const auto *base : bases) { next = base->findChildNode(path.at(i), genus, tmpFlags); @@ -752,11 +739,8 @@ QString Tree::getRef(const QString &target, const Node *node) const the \a node, the \a priority. and a canonicalized form of the \a name, which is later used. */ -void Tree::insertTarget(const QString &name, - const QString &title, - TargetRec::TargetType type, - Node *node, - int priority) +void Tree::insertTarget(const QString &name, const QString &title, TargetRec::TargetType type, + Node *node, int priority) { TargetRec *target = new TargetRec(name, title, type, node, priority); nodesByTargetRef_.insert(name, target); @@ -838,8 +822,8 @@ void Tree::resolveTargets(Aggregate *root) This function searches for a \a target anchor node. If it finds one, it sets \a ref and returns the found node. */ -const Node* -Tree::findUnambiguousTarget(const QString &target, Node::Genus genus, QString &ref) const +const Node *Tree::findUnambiguousTarget(const QString &target, Node::Genus genus, + QString &ref) const { int numBestTargets = 0; TargetRec *bestTarget = nullptr; @@ -856,8 +840,7 @@ Tree::findUnambiguousTarget(const QString &target, Node::Genus genus, QString &r bestTargetList.clear(); bestTargetList.append(candidate); numBestTargets = 1; - } - else if (candidate->priority_ == bestTarget->priority_) { + } else if (candidate->priority_ == bestTarget->priority_) { bestTargetList.append(candidate); ++numBestTargets; } @@ -881,8 +864,7 @@ Tree::findUnambiguousTarget(const QString &target, Node::Genus genus, QString &r bestTargetList.clear(); bestTargetList.append(candidate); numBestTargets = 1; - } - else if (candidate->priority_ == bestTarget->priority_) { + } else if (candidate->priority_ == bestTarget->priority_) { bestTargetList.append(candidate); ++numBestTargets; } @@ -923,7 +905,8 @@ const PageNode *Tree::findPageNodeByTitle(const QString &title) const ++j; } if (j != pageNodesByTitle_.cend()) { - it.value()->location().warning("This page title exists in more than one file: " + title); + it.value()->location().warning("This page title exists in more than one file: " + + title); j.value()->location().warning("[It also exists here]"); } } @@ -1157,7 +1140,7 @@ CollectionNode *Tree::addToQmlModule(const QString &name, Node *node) node->setQmlModule(cn); if (node->isQmlType()) { QmlTypeNode *n = static_cast<QmlTypeNode *>(node); - for (int i=0; i<qmid.size(); ++i) { + for (int i = 0; i < qmid.size(); ++i) { QString key = qmid[i] + "::" + node->name(); insertQmlType(key, n); } @@ -1188,7 +1171,7 @@ CollectionNode *Tree::addToJsModule(const QString &name, Node *node) node->setQmlModule(cn); if (node->isJsType()) { QmlTypeNode *n = static_cast<QmlTypeNode *>(node); - for (int i=0; i<qmid.size(); ++i) { + for (int i = 0; i < qmid.size(); ++i) { QString key = qmid[i] + "::" + node->name(); insertQmlType(key, n); } @@ -1203,7 +1186,7 @@ CollectionNode *Tree::addToJsModule(const QString &name, Node *node) void Tree::insertQmlType(const QString &key, QmlTypeNode *n) { if (!qmlTypeMap_.contains(key)) - qmlTypeMap_.insert(key,n); + qmlTypeMap_.insert(key, n); } /*! @@ -1218,13 +1201,11 @@ void Tree::insertQmlType(const QString &key, QmlTypeNode *n) pointer to it is returned. Otherwise, nullis returned. If \a relative is ull, the search begins at the tree root. */ -const FunctionNode *Tree::findFunctionNode(const QStringList &path, - const Parameters ¶meters, - const Node *relative, - Node::Genus genus) const +const FunctionNode *Tree::findFunctionNode(const QStringList &path, const Parameters ¶meters, + const Node *relative, Node::Genus genus) const { - if (path.size() == 3 && !path[0].isEmpty() && - ((genus == Node::QML) || (genus == Node::DontCare))) { + if (path.size() == 3 && !path[0].isEmpty() + && ((genus == Node::QML) || (genus == Node::DontCare))) { QmlTypeNode *qcn = lookupQmlType(QString(path[0] + "::" + path[1])); if (qcn == nullptr) { QStringList p(path[1]); @@ -1307,11 +1288,8 @@ const FunctionNode *Tree::findFunctionNode(const QStringList &path, The node \a t */ -QString Tree::getNewLinkTarget(const Node *locNode, - const Node *t, - const QString &fileName, - QString &text, - bool broken) +QString Tree::getNewLinkTarget(const Node *locNode, const Node *t, const QString &fileName, + QString &text, bool broken) { QString physicalModuleName; if (t != nullptr && !broken) { @@ -1319,8 +1297,7 @@ QString Tree::getNewLinkTarget(const Node *locNode, if (tree != this) tree->incrementLinkCount(); physicalModuleName = tree->physicalModuleName(); - } - else + } else physicalModuleName = "broken"; incrementLinkCount(); QString target = QString("qa-target-%1").arg(-(linkCount())); @@ -1330,8 +1307,7 @@ QString Tree::getNewLinkTarget(const Node *locNode, if (it == targetListMap_->end()) { tList = new TargetList; it = targetListMap_->insert(physicalModuleName, tList); - } - else + } else tList = it.value(); tList->append(tloc); return target; diff --git a/src/qdoc/tree.h b/src/qdoc/tree.h index 0d56425dc..b7e4dce75 100644 --- a/src/qdoc/tree.h +++ b/src/qdoc/tree.h @@ -47,12 +47,10 @@ struct TargetRec public: enum TargetType { Unknown, Target, Keyword, Contents, Class, Function, Page, Subtitle }; - TargetRec(const QString &name, - const QString &title, - TargetRec::TargetType type, - Node *node, + TargetRec(const QString &name, const QString &title, TargetRec::TargetType type, Node *node, int priority) - : node_(node), ref_(name), title_(title), priority_(priority), type_(type) { + : node_(node), ref_(name), title_(title), priority_(priority), type_(type) + { // Discard the dedicated ref for keywords - they always // link to the top of the QDoc comment they appear in if (type == Keyword) @@ -72,8 +70,11 @@ public: struct TargetLoc { public: - TargetLoc(const Node *loc, const QString &t, const QString &fileName, const QString &text, bool broken) - : loc_(loc), target_(t), fileName_(fileName), text_(text), broken_(broken) { } + TargetLoc(const Node *loc, const QString &t, const QString &fileName, const QString &text, + bool broken) + : loc_(loc), target_(t), fileName_(fileName), text_(text), broken_(broken) + { + } const Node *loc_; QString target_; QString fileName_; @@ -119,52 +120,34 @@ private: // The rest of the class is private. Node *findNodeForInclude(const QStringList &path) const; ClassNode *findClassNode(const QStringList &path, const Node *start = nullptr) const; NamespaceNode *findNamespaceNode(const QStringList &path) const; - const FunctionNode *findFunctionNode(const QStringList &path, - const Parameters ¶meters, - const Node *relative, - Node::Genus genus) const; - Node *findNodeRecursive(const QStringList &path, - int pathIndex, - const Node *start, - bool (Node::*) () const) const; - const Node *findNodeForTarget(const QStringList &path, - const QString &target, - const Node *node, - int flags, - Node::Genus genus, - QString &ref) const; - const Node *matchPathAndTarget(const QStringList &path, - int idx, - const QString &target, - const Node *node, - int flags, - Node::Genus genus, + const FunctionNode *findFunctionNode(const QStringList &path, const Parameters ¶meters, + const Node *relative, Node::Genus genus) const; + Node *findNodeRecursive(const QStringList &path, int pathIndex, const Node *start, + bool (Node::*)() const) const; + const Node *findNodeForTarget(const QStringList &path, const QString &target, const Node *node, + int flags, Node::Genus genus, QString &ref) const; + const Node *matchPathAndTarget(const QStringList &path, int idx, const QString &target, + const Node *node, int flags, Node::Genus genus, QString &ref) const; - const Node *findNode(const QStringList &path, - const Node *relative, - int flags, + const Node *findNode(const QStringList &path, const Node *relative, int flags, Node::Genus genus) const; QmlTypeNode *findQmlTypeNode(const QStringList &path); - Node *findNodeByNameAndType(const QStringList &path, bool (Node::*isMatch) () const) const; + Node *findNodeByNameAndType(const QStringList &path, bool (Node::*isMatch)() const) const; Aggregate *findRelatesNode(const QStringList &path); QString getRef(const QString &target, const Node *node) const; - void insertTarget(const QString &name, - const QString &title, - TargetRec::TargetType type, - Node *node, - int priority); + void insertTarget(const QString &name, const QString &title, TargetRec::TargetType type, + Node *node, int priority); void resolveTargets(Aggregate *root); const Node *findUnambiguousTarget(const QString &target, Node::Genus genus, QString &ref) const; const PageNode *findPageNodeByTitle(const QString &title) const; - void addPropertyFunction(PropertyNode *property, - const QString &funcName, + void addPropertyFunction(PropertyNode *property, const QString &funcName, PropertyNode::FunctionRole funcRole); void resolveBaseClasses(Aggregate *n); - void resolveBaseClassesHelper(int pass, ClassNode* cn); + void resolveBaseClassesHelper(int pass, ClassNode *cn); void resolvePropertyOverriddenFromPtrs(Aggregate *n); void resolveProperties(); void resolveCppToQmlLinks(); @@ -187,8 +170,14 @@ private: // The rest of the class is private. CollectionNode *findGroup(const QString &name) { return findCollection(name, Node::Group); } CollectionNode *findModule(const QString &name) { return findCollection(name, Node::Module); } - CollectionNode *findQmlModule(const QString &name) { return findCollection(name, Node::QmlModule); } - CollectionNode *findJsModule(const QString &name) { return findCollection(name, Node::JsModule); } + CollectionNode *findQmlModule(const QString &name) + { + return findCollection(name, Node::QmlModule); + } + CollectionNode *findJsModule(const QString &name) + { + return findCollection(name, Node::JsModule); + } CollectionNode *addGroup(const QString &name) { return findGroup(name); } CollectionNode *addModule(const QString &name) { return findModule(name); } @@ -211,12 +200,9 @@ private: // The rest of the class is private. bool docsHaveBeenGenerated() const { return docsHaveBeenGenerated_; } void setTreeHasBeenAnalyzed() { treeHasBeenAnalyzed_ = true; } void setdocsHaveBeenGenerated() { docsHaveBeenGenerated_ = true; } - QString getNewLinkTarget(const Node *locNode, - const Node *t, - const QString &fileName, - QString &text, - bool broken); - TargetList* getTargetList(const QString &module); + QString getNewLinkTarget(const Node *locNode, const Node *t, const QString &fileName, + QString &text, bool broken); + TargetList *getTargetList(const QString &module); QStringList getTargetListKeys() { return targetListMap_->keys(); } FunctionNode *findFunctionNodeForTag(const QString &tag, Aggregate *parent = nullptr); FunctionNode *findMacroNode(const QString &t, const Aggregate *parent = nullptr); diff --git a/src/qdoc/utilities.cpp b/src/qdoc/utilities.cpp index 308bb2c66..5bcafe0a7 100644 --- a/src/qdoc/utilities.cpp +++ b/src/qdoc/utilities.cpp @@ -35,25 +35,25 @@ \brief This namespace holds QDoc-internal utility methods. */ namespace Utilities { - static inline void setDebugEnabled(bool value) - { - const_cast<QLoggingCategory &>(lcQdoc()).setEnabled(QtDebugMsg, value); - } +static inline void setDebugEnabled(bool value) +{ + const_cast<QLoggingCategory &>(lcQdoc()).setEnabled(QtDebugMsg, value); +} - void startDebugging(const QString &message) - { - setDebugEnabled(true); - qCDebug(lcQdoc, "START DEBUGGING: %ls", qUtf16Printable(message)); - } +void startDebugging(const QString &message) +{ + setDebugEnabled(true); + qCDebug(lcQdoc, "START DEBUGGING: %ls", qUtf16Printable(message)); +} - void stopDebugging(const QString &message) - { - qCDebug(lcQdoc, "STOP DEBUGGING: %ls", qUtf16Printable(message)); - setDebugEnabled(false); - } +void stopDebugging(const QString &message) +{ + qCDebug(lcQdoc, "STOP DEBUGGING: %ls", qUtf16Printable(message)); + setDebugEnabled(false); +} - bool debugging() - { - return lcQdoc().isEnabled(QtDebugMsg); - } +bool debugging() +{ + return lcQdoc().isEnabled(QtDebugMsg); +} } diff --git a/src/qdoc/utilities.h b/src/qdoc/utilities.h index da848795e..841099aea 100644 --- a/src/qdoc/utilities.h +++ b/src/qdoc/utilities.h @@ -31,11 +31,10 @@ #include <QtCore/qstring.h> -namespace Utilities -{ - void startDebugging(const QString &message); - void stopDebugging(const QString &message); - bool debugging(); +namespace Utilities { +void startDebugging(const QString &message); +void stopDebugging(const QString &message); +bool debugging(); }; #endif // UTILITIES_H diff --git a/src/qdoc/webxmlgenerator.cpp b/src/qdoc/webxmlgenerator.cpp index 330f3d474..c7312d418 100644 --- a/src/qdoc/webxmlgenerator.cpp +++ b/src/qdoc/webxmlgenerator.cpp @@ -41,7 +41,6 @@ QT_BEGIN_NAMESPACE static CodeMarker *marker_ = nullptr; - void WebXMLGenerator::initializeGenerator(const Config &config) { HtmlGenerator::initializeGenerator(config); @@ -71,9 +70,7 @@ QString WebXMLGenerator::fileExtension() const Some pages produce supplementary output while being generated, and that's handled here. */ -int WebXMLGenerator::generateAtom(const Atom *atom, - const Node *relative, - CodeMarker *marker) +int WebXMLGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMarker *marker) { if (supplement && currentWriter) addAtomElements(*currentWriter.data(), atom, relative, marker); @@ -120,9 +117,8 @@ void WebXMLGenerator::generatePageNode(PageNode *pn, CodeMarker * /* marker */) endSubPage(); } -void WebXMLGenerator::generateExampleFilePage(const Node *en, - const QString &file, - CodeMarker * /* marker */) +void WebXMLGenerator::generateExampleFilePage(const Node *en, const QString &file, + CodeMarker * /* marker */) { QByteArray data; QXmlStreamWriter writer(&data); @@ -140,9 +136,8 @@ void WebXMLGenerator::generateExampleFilePage(const Node *en, writer.writeAttribute("subtitle", file); writer.writeStartElement("description"); QString userFriendlyFilePath; // unused - writer.writeAttribute("path", Doc::resolveFile(en->doc().location(), - file, - &userFriendlyFilePath)); + writer.writeAttribute("path", + Doc::resolveFile(en->doc().location(), file, &userFriendlyFilePath)); writer.writeAttribute("line", "0"); writer.writeAttribute("column", "0"); @@ -151,14 +146,12 @@ void WebXMLGenerator::generateExampleFilePage(const Node *en, QString code = quoter.quoteTo(en->location(), QString(), QString()); writer.writeTextElement("code", trimmedTrailing(code, QString(), QString())); - writer.writeEndElement(); // description writer.writeEndElement(); // page writer.writeEndElement(); // document writer.writeEndElement(); // WebXML writer.writeEndDocument(); - out() << data; endFilePage(); } @@ -267,8 +260,7 @@ void WebXMLGenerator::generateDocumentation(Node *node) qdb_->mergeCollections(static_cast<CollectionNode *>(node)); generatePageNode(static_cast<PageNode *>(node), nullptr); } - } - else if (node->isTextPageNode()) + } else if (node->isTextPageNode()) generatePageNode(static_cast<PageNode *>(node), nullptr); // else if TODO: anything else? } @@ -276,16 +268,15 @@ void WebXMLGenerator::generateDocumentation(Node *node) if (node->isAggregate()) { Aggregate *aggregate = static_cast<Aggregate *>(node); for (auto c : aggregate->childNodes()) { - if ((c->isAggregate() || - c->isTextPageNode() || - c->isCollectionNode()) && !c->isPrivate()) + if ((c->isAggregate() || c->isTextPageNode() || c->isCollectionNode()) + && !c->isPrivate()) generateDocumentation(c); } } } -const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, - const Atom *atom, const Node *relative, CodeMarker *marker) +const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, const Atom *atom, + const Node *relative, CodeMarker *marker) { bool keepQuoting = false; @@ -293,13 +284,11 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, return nullptr; switch (atom->type()) { - case Atom::AnnotatedList: - { - const CollectionNode* cn = qdb_->getCollectionNode(atom->string(), Node::Group); + case Atom::AnnotatedList: { + const CollectionNode *cn = qdb_->getCollectionNode(atom->string(), Node::Group); if (cn) generateAnnotatedList(writer, relative, cn->members()); - } - break; + } break; case Atom::AutoLink: if (!inLink && !inSectionHeading) { const Node *node = nullptr; @@ -348,9 +337,8 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, const QVector<QStringRef> words = str.splitRef(' '); if (!words.isEmpty()) { const QStringRef &first(words.at(0)); - if (!(first == "contains" || first == "specifies" - || first == "describes" || first == "defines" - || first == "holds" || first == "determines")) + if (!(first == "contains" || first == "specifies" || first == "describes" + || first == "defines" || first == "holds" || first == "determines")) writer.writeCharacters(" holds "); else writer.writeCharacters(" "); @@ -378,7 +366,8 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, case Atom::Code: if (!hasQuotingInformation) - writer.writeTextElement("code", trimmedTrailing(plainCode(atom->string()), QString(), QString())); + writer.writeTextElement( + "code", trimmedTrailing(plainCode(atom->string()), QString(), QString())); else keepQuoting = true; break; @@ -386,22 +375,26 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, #ifdef QDOC_QML case Atom::Qml: if (!hasQuotingInformation) - writer.writeTextElement("qml", trimmedTrailing(plainCode(atom->string()), QString(), QString())); + writer.writeTextElement( + "qml", trimmedTrailing(plainCode(atom->string()), QString(), QString())); else keepQuoting = true; #endif case Atom::CodeBad: - writer.writeTextElement("badcode", trimmedTrailing(plainCode(atom->string()), QString(), QString())); + writer.writeTextElement("badcode", + trimmedTrailing(plainCode(atom->string()), QString(), QString())); break; case Atom::CodeNew: writer.writeTextElement("para", "you can rewrite it as"); - writer.writeTextElement("newcode", trimmedTrailing(plainCode(atom->string()), QString(), QString())); + writer.writeTextElement("newcode", + trimmedTrailing(plainCode(atom->string()), QString(), QString())); break; case Atom::CodeOld: writer.writeTextElement("para", "For example, if you have code like"); - writer.writeTextElement("oldcode", trimmedTrailing(plainCode(atom->string()), QString(), QString())); + writer.writeTextElement("oldcode", + trimmedTrailing(plainCode(atom->string()), QString(), QString())); break; case Atom::CodeQuoteArgument: @@ -424,25 +417,21 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, } break; - case Atom::ExampleFileLink: - { + case Atom::ExampleFileLink: { if (!inLink) { QString link = linkForExampleFile(atom->string(), relative); if (!link.isEmpty()) startLink(writer, atom, relative, link); } - } - break; + } break; - case Atom::ExampleImageLink: - { + case Atom::ExampleImageLink: { if (!inLink) { QString link = atom->string(); if (!link.isEmpty()) startLink(writer, atom, nullptr, "images/used-in-examples/" + link); } - } - break; + } break; case Atom::FootnoteLeft: writer.writeStartElement("footnote"); @@ -459,8 +448,7 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, writer.writeStartElement("raw"); writer.writeAttribute("format", atom->string()); break; - case Atom::FormattingLeft: - { + case Atom::FormattingLeft: { if (atom->string() == ATOM_FORMATTING_BOLD) writer.writeStartElement("bold"); else if (atom->string() == ATOM_FORMATTING_ITALIC) @@ -477,11 +465,9 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, writer.writeStartElement("argument"); else if (atom->string() == ATOM_FORMATTING_INDEX) writer.writeStartElement("index"); - } - break; + } break; - case Atom::FormattingRight: - { + case Atom::FormattingRight: { if (atom->string() == ATOM_FORMATTING_BOLD) writer.writeEndElement(); else if (atom->string() == ATOM_FORMATTING_ITALIC) @@ -565,8 +551,7 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, writer.writeAttribute("type", "enum"); else writer.writeAttribute("type", "definition"); - } - else { + } else { writer.writeAttribute("type", "ordered"); if (atom->string() == ATOM_LIST_UPPERALPHA) writer.writeAttribute("start", "A"); @@ -583,14 +568,12 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, case Atom::ListItemNumber: break; - case Atom::ListTagLeft: - { + case Atom::ListTagLeft: { writer.writeStartElement("definition"); - writer.writeTextElement("term", plainCode( - marker->markedUpEnumValue(atom->next()->string(), relative))); - } - break; + writer.writeTextElement( + "term", plainCode(marker->markedUpEnumValue(atom->next()->string(), relative))); + } break; case Atom::ListTagRight: writer.writeEndElement(); // definition @@ -650,14 +633,12 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, writer.writeEndElement(); // section break; - case Atom::SectionHeadingLeft: - { + case Atom::SectionHeadingLeft: { writer.writeStartElement("heading"); int unit = atom->string().toInt(); // + hOffset(relative) writer.writeAttribute("level", QString::number(unit)); inSectionHeading = true; - } - break; + } break; case Atom::SectionHeadingRight: writer.writeEndElement(); // heading @@ -671,7 +652,6 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, case Atom::SnippetCommand: if (quoting_) { writer.writeStartElement(atom->string()); - } break; @@ -722,8 +702,7 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, writer.writeEndElement(); // row break; - case Atom::TableItemLeft: - { + case Atom::TableItemLeft: { writer.writeStartElement("item"); QStringList spans = atom->string().split(","); if (spans.size() == 2) { @@ -732,8 +711,7 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, if (spans.at(1) != "1") writer.writeAttribute("rowspan", spans.at(1).trimmed()); } - } - break; + } break; case Atom::TableItemRight: writer.writeEndElement(); // item break; @@ -754,11 +732,10 @@ const Atom *WebXMLGenerator::addAtomElements(QXmlStreamWriter &writer, hasQuotingInformation = keepQuoting; return atom->next(); - } -void WebXMLGenerator::startLink(QXmlStreamWriter &writer, const Atom *atom, - const Node *node, const QString &link) +void WebXMLGenerator::startLink(QXmlStreamWriter &writer, const Atom *atom, const Node *node, + const QString &link) { QString fullName = link; if (node) @@ -776,8 +753,7 @@ void WebXMLGenerator::startLink(QXmlStreamWriter &writer, const Atom *atom, case Node::Enum: writer.writeAttribute("enum", fullName); break; - case Node::Example: - { + case Node::Example: { const ExampleNode *en = static_cast<const ExampleNode *>(node); QString fileTitle = exampleFileTitle(en, atom->string()); if (!fileTitle.isEmpty()) { @@ -785,17 +761,15 @@ void WebXMLGenerator::startLink(QXmlStreamWriter &writer, const Atom *atom, break; } } - Q_FALLTHROUGH(); + Q_FALLTHROUGH(); case Node::Page: writer.writeAttribute("page", fullName); break; - case Node::Property: - { + case Node::Property: { const PropertyNode *propertyNode = static_cast<const PropertyNode *>(node); if (propertyNode->getters().size() > 0) writer.writeAttribute("getter", propertyNode->getters().at(0)->fullName()); - } - break; + } break; default: break; } @@ -804,7 +778,8 @@ void WebXMLGenerator::startLink(QXmlStreamWriter &writer, const Atom *atom, } } -void WebXMLGenerator::endLink(QXmlStreamWriter &writer) { +void WebXMLGenerator::endLink(QXmlStreamWriter &writer) +{ if (inLink) { writer.writeEndElement(); // link inLink = false; @@ -855,14 +830,14 @@ void WebXMLGenerator::generateRelations(QXmlStreamWriter &writer, const Node *no } } -void WebXMLGenerator::generateAnnotatedList(QXmlStreamWriter &writer, - const Node *relative, const NodeMap &nodeMap) +void WebXMLGenerator::generateAnnotatedList(QXmlStreamWriter &writer, const Node *relative, + const NodeMap &nodeMap) { generateAnnotatedList(writer, relative, nodeMap.values()); } -void WebXMLGenerator::generateAnnotatedList(QXmlStreamWriter &writer, - const Node *relative, const NodeList &nodeList) +void WebXMLGenerator::generateAnnotatedList(QXmlStreamWriter &writer, const Node *relative, + const NodeList &nodeList) { writer.writeStartElement("table"); writer.writeAttribute("width", "100%"); diff --git a/src/qdoc/webxmlgenerator.h b/src/qdoc/webxmlgenerator.h index 565be82c9..71fd9df24 100644 --- a/src/qdoc/webxmlgenerator.h +++ b/src/qdoc/webxmlgenerator.h @@ -59,13 +59,14 @@ protected: QString fileExtension() const override; virtual const Atom *addAtomElements(QXmlStreamWriter &writer, const Atom *atom, - const Node *relative, CodeMarker *marker); + const Node *relative, CodeMarker *marker); virtual void generateIndexSections(QXmlStreamWriter &writer, Node *node); - private: - void generateAnnotatedList(QXmlStreamWriter &writer, const Node *relative, const NodeMap &nodeMap); - void generateAnnotatedList(QXmlStreamWriter &writer, const Node *relative, const NodeList &nodeList); + void generateAnnotatedList(QXmlStreamWriter &writer, const Node *relative, + const NodeMap &nodeMap); + void generateAnnotatedList(QXmlStreamWriter &writer, const Node *relative, + const NodeList &nodeList); void generateRelations(QXmlStreamWriter &writer, const Node *node); void startLink(QXmlStreamWriter &writer, const Atom *atom, const Node *node, const QString &link); diff --git a/src/qdoc/xmlgenerator.cpp b/src/qdoc/xmlgenerator.cpp index 05cd1b963..8b266ca18 100644 --- a/src/qdoc/xmlgenerator.cpp +++ b/src/qdoc/xmlgenerator.cpp @@ -40,10 +40,8 @@ QT_BEGIN_NAMESPACE */ bool XmlGenerator::hasBrief(const Node *node) { - return !(node->isQmlType() - || node->isPageNode() - || node->isCollectionNode() - || node->isJsType()); + return !(node->isQmlType() || node->isPageNode() || node->isCollectionNode() + || node->isJsType()); } /*! @@ -92,23 +90,19 @@ int XmlGenerator::hOffset(const Node *node) */ void XmlGenerator::rewritePropertyBrief(const Atom *atom, const Node *relative) { - if (relative->nodeType() == Node::Property || - relative->nodeType() == Node::Variable) { + if (relative->nodeType() == Node::Property || relative->nodeType() == Node::Variable) { atom = atom->next(); if (atom && atom->type() == Atom::String) { QString firstWord = - atom->string().toLower().section(' ', 0, 0, QString::SectionSkipEmpty); - if (firstWord == QLatin1String("the") - || firstWord == QLatin1String("a") - || firstWord == QLatin1String("an") - || firstWord == QLatin1String("whether") + atom->string().toLower().section(' ', 0, 0, QString::SectionSkipEmpty); + if (firstWord == QLatin1String("the") || firstWord == QLatin1String("a") + || firstWord == QLatin1String("an") || firstWord == QLatin1String("whether") || firstWord == QLatin1String("which")) { QString str = QLatin1String("This ") - + QLatin1String(relative->nodeType() == Node::Property ? - "property" : "variable") - + QLatin1String(" holds ") - + atom->string().left(1).toLower() - + atom->string().mid(1); + + QLatin1String(relative->nodeType() == Node::Property ? "property" + : "variable") + + QLatin1String(" holds ") + atom->string().left(1).toLower() + + atom->string().mid(1); const_cast<Atom *>(atom)->setString(str); } } @@ -140,7 +134,7 @@ void XmlGenerator::setImageFileName(const Node *relative, const QString &fileNam if (relative->isExample()) { const auto cen = static_cast<const ExampleNode *>(relative); if (cen->imageFileName().isEmpty()) { - auto *en = const_cast<ExampleNode*>(cen); + auto *en = const_cast<ExampleNode *>(cen); en->setImageFileName(fileName); } } @@ -250,8 +244,7 @@ QString XmlGenerator::refForNode(const Node *node) if (tdn->associatedEnum()) return refForNode(tdn->associatedEnum()); ref = node->name() + "-typedef"; - } - break; + } break; case Node::Function: { const auto fn = static_cast<const FunctionNode *>(node); switch (fn->metaness()) { @@ -279,8 +272,7 @@ QString XmlGenerator::refForNode(const Node *node) } break; } - } - break; + } break; case Node::JsProperty: case Node::QmlProperty: if (node->isAttached()) @@ -324,15 +316,14 @@ QString XmlGenerator::linkForNode(const Node *node, const Node *relative) return QString(); QString fn = fileName(node); - if (node && node->parent() - && (node->parent()->isQmlType() || node->parent()->isJsType()) + if (node && node->parent() && (node->parent()->isQmlType() || node->parent()->isJsType()) && node->parent()->isAbstract()) { if (Generator::qmlTypeContext()) { if (Generator::qmlTypeContext()->inherits(node->parent())) { fn = fileName(Generator::qmlTypeContext()); } else if (node->parent()->isInternal()) { - node->doc().location().warning( - tr("Cannot link to property in internal type '%1'").arg(node->parent()->name())); + node->doc().location().warning(tr("Cannot link to property in internal type '%1'") + .arg(node->parent()->name())); return QString(); } } @@ -356,8 +347,8 @@ QString XmlGenerator::linkForNode(const Node *node, const Node *relative) back down into the other subdirectory. */ if (node && relative && (node != relative)) { - if (useOutputSubdirs() && !node->isExternalPage() && - node->outputSubdirectory() != relative->outputSubdirectory()) { + if (useOutputSubdirs() && !node->isExternalPage() + && node->outputSubdirectory() != relative->outputSubdirectory()) { if (link.startsWith(QString(node->outputSubdirectory() + QLatin1Char('/')))) { link.prepend(QString("../")); } else { diff --git a/src/qdoc/xmlgenerator.h b/src/qdoc/xmlgenerator.h index 4bf1ca938..41744ff21 100644 --- a/src/qdoc/xmlgenerator.h +++ b/src/qdoc/xmlgenerator.h @@ -59,7 +59,7 @@ protected: QString refForNode(const Node *node); QString linkForNode(const Node *node, const Node *relative); QString getLink(const Atom *atom, const Node *relative, const Node **node); - QString getAutoLink(const Atom *atom, const Node *relative, const Node** node); + QString getAutoLink(const Atom *atom, const Node *relative, const Node **node); const QPair<QString, QString> anchorForNode(const Node *node); @@ -68,4 +68,4 @@ protected: QT_END_NAMESPACE -#endif //XMLGENERATOR_H +#endif // XMLGENERATOR_H diff --git a/src/qdoc/yyindent.cpp b/src/qdoc/yyindent.cpp index c78e132b6..581a97a3e 100644 --- a/src/qdoc/yyindent.cpp +++ b/src/qdoc/yyindent.cpp @@ -247,7 +247,7 @@ static QString trimmedCodeLine(const QString &t) /* Remove C++-style comments. */ - k = trimmed.indexOf( "//" ); + k = trimmed.indexOf("//"); if (k != -1) trimmed.truncate(k); @@ -309,10 +309,8 @@ static const bool *yyLeftBraceFollows = nullptr; Saves and restores the state of the global linizer. This enables backtracking. */ -#define YY_SAVE() \ - LinizerState savedState = *yyLinizerState -#define YY_RESTORE() \ - *yyLinizerState = savedState +#define YY_SAVE() LinizerState savedState = *yyLinizerState +#define YY_RESTORE() *yyLinizerState = savedState /* Advances to the previous line in yyProgram and update yyLine @@ -323,8 +321,7 @@ static bool readLine() { int k; - yyLinizerState->leftBraceFollows = - (firstNonWhiteSpace(yyLinizerState->line) == QChar('{')); + yyLinizerState->leftBraceFollows = (firstNonWhiteSpace(yyLinizerState->line) == QChar('{')); do { if (yyLinizerState->iter == yyProgram->constBegin()) { @@ -374,7 +371,7 @@ static bool readLine() Remove preprocessor directives. */ k = 0; - while (k < (int) yyLinizerState->line.length()) { + while (k < (int)yyLinizerState->line.length()) { QChar ch = yyLinizerState->line[k]; if (ch == QChar('#')) { yyLinizerState->line.clear(); @@ -397,8 +394,7 @@ static bool readLine() the other way around, as we are parsing backwards. */ yyLinizerState->braceDepth += - yyLinizerState->line.count('}') - - yyLinizerState->line.count('{'); + yyLinizerState->line.count('}') - yyLinizerState->line.count('{'); /* We use a dirty trick for @@ -413,8 +409,7 @@ static bool readLine() */ if (yyLinizerState->pendingRightBrace) yyLinizerState->braceDepth++; - yyLinizerState->pendingRightBrace = - (yyLinizerState->line.indexOf(*braceX) == 0); + yyLinizerState->pendingRightBrace = (yyLinizerState->line.indexOf(*braceX) == 0); if (yyLinizerState->pendingRightBrace) yyLinizerState->braceDepth--; } while (yyLinizerState->line.isEmpty()); @@ -502,7 +497,7 @@ static int indentWhenBottomLineStartsInCComment() */ int indent = columnForIndex(*yyLine, k); k += 2; - while (k < (int) yyLine->length()) { + while (k < (int)yyLine->length()) { if (!(*yyLine)[k].isSpace()) return columnForIndex(*yyLine, k); k++; @@ -623,14 +618,13 @@ static bool isUnfinishedLine() if (yyLine->isEmpty()) return false; - QChar lastCh = (*yyLine)[(int) yyLine->length() - 1]; + QChar lastCh = (*yyLine)[(int)yyLine->length() - 1]; if (QString("{};").indexOf(lastCh) == -1 && !yyLine->endsWith("...")) { /* It doesn't end with ';' or similar. If it's neither "Q_OBJECT" nor "if ( x )", it must be an unfinished line. */ - unf = (yyLine->indexOf("Q_OBJECT") == -1 && - !matchBracelessControlStatement()); + unf = (yyLine->indexOf("Q_OBJECT") == -1 && !matchBracelessControlStatement()); } else if (lastCh == QChar(';')) { if (lastParen(*yyLine) == QChar('(')) { /* @@ -639,8 +633,8 @@ static bool isUnfinishedLine() for ( int i = 1; i < 10; */ unf = true; - } else if (readLine() && yyLine->endsWith(QLatin1Char(';')) && - lastParen(*yyLine) == QChar('(')) { + } else if (readLine() && yyLine->endsWith(QLatin1Char(';')) + && lastParen(*yyLine) == QChar('(')) { /* Exception: @@ -719,8 +713,8 @@ static int indentForContinuationLine() Such a brace must be treated just like the other delimiters. */ - if ( braceDepth == -1 ) { - if (j < (int) yyLine->length() - 1) { + if (braceDepth == -1) { + if (j < (int)yyLine->length() - 1) { hook = j; } else { return 0; // shouldn't happen @@ -753,12 +747,10 @@ static int indentForContinuationLine() end of the unfinished lines or by unbalanced parentheses. */ - if (QString("!=<>").indexOf((*yyLine)[j - 1]) == -1 && - (*yyLine)[j + 1] != '=') { - if (braceDepth == 0 && delimDepth == 0 && - j < (int) yyLine->length() - 1 && - !yyLine->endsWith(QLatin1Char(',')) && - (yyLine->contains('(') == yyLine->contains(')'))) + if (QString("!=<>").indexOf((*yyLine)[j - 1]) == -1 && (*yyLine)[j + 1] != '=') { + if (braceDepth == 0 && delimDepth == 0 && j < (int)yyLine->length() - 1 + && !yyLine->endsWith(QLatin1Char(',')) + && (yyLine->contains('(') == yyLine->contains(')'))) hook = j; } } @@ -780,7 +772,7 @@ static int indentForContinuationLine() "foo foo foo foo foo foo foo foo foo") ); */ hook++; - while (hook < (int) yyLine->length()) { + while (hook < (int)yyLine->length()) { if (!(*yyLine)[hook].isSpace()) return columnForIndex(*yyLine, hook); hook++; @@ -991,8 +983,7 @@ static void initializeIndenter() { literal = new QRegExp("([\"'])(?:\\\\.|[^\\\\])*\\1"); literal->setMinimal(true); - label = new QRegExp( - "^\\s*((?:case\\b([^:]|::)+|[a-zA-Z_0-9]+)(?:\\s+slots)?:)(?!:)"); + label = new QRegExp("^\\s*((?:case\\b([^:]|::)+|[a-zA-Z_0-9]+)(?:\\s+slots)?:)(?!:)"); inlineCComment = new QRegExp("/\\*.*\\*/"); inlineCComment->setMinimal(true); braceX = new QRegExp("^\\s*\\}\\s*(?:else|catch)\\b"); @@ -1068,10 +1059,9 @@ int indentForBottomLine(const QStringList &program, QChar typedIn) */ indent -= ppIndentSize; } else if (okay(typedIn, ':')) { - QRegExp caseLabel( - "\\s*(?:case\\b(?:[^:]|::)+" - "|(?:public|protected|private|signals|default)(?:\\s+slots)?\\s*" - ")?:.*" ); + QRegExp caseLabel("\\s*(?:case\\b(?:[^:]|::)+" + "|(?:public|protected|private|signals|default)(?:\\s+slots)?\\s*" + ")?:.*"); if (caseLabel.exactMatch(bottomLine)) { /* @@ -1106,60 +1096,60 @@ QT_END_NAMESPACE Test driver. */ -#include <qfile.h> -#include <qtextstream.h> +# include <qfile.h> +# include <qtextstream.h> -#include <errno.h> +# include <errno.h> QT_BEGIN_NAMESPACE -static QString fileContents( const QString &fileName ) +static QString fileContents(const QString &fileName) { - QFile f( fileName ); - if ( !f.open(QFile::ReadOnly) ) { - qWarning( "yyindent error: Cannot open file '%s' for reading: %s", - fileName.toLatin1().data(), strerror(errno) ); + QFile f(fileName); + if (!f.open(QFile::ReadOnly)) { + qWarning("yyindent error: Cannot open file '%s' for reading: %s", + fileName.toLatin1().data(), strerror(errno)); return QString(); } - QTextStream t( &f ); + QTextStream t(&f); QString contents = t.read(); f.close(); - if ( contents.isEmpty() ) - qWarning( "yyindent error: File '%s' is empty", fileName.toLatin1().data() ); + if (contents.isEmpty()) + qWarning("yyindent error: File '%s' is empty", fileName.toLatin1().data()); return contents; } QT_END_NAMESPACE -int main( int argc, char **argv ) +int main(int argc, char **argv) { QT_USE_NAMESPACE - if ( argc != 2 ) { - qWarning( "usage: yyindent file.cpp" ); + if (argc != 2) { + qWarning("usage: yyindent file.cpp"); return 1; } - QString code = fileContents( argv[1] ); - QStringList program = QStringList::split( '\n', code, true ); + QString code = fileContents(argv[1]); + QStringList program = QStringList::split('\n', code, true); QStringList p; QString out; - while ( !program.isEmpty() && program.last().trimmed().isEmpty() ) - program.remove( program.fromLast() ); + while (!program.isEmpty() && program.last().trimmed().isEmpty()) + program.remove(program.fromLast()); QStringList::ConstIterator line = program.constBegin(); - while ( line != program.constEnd() ) { - p.push_back( *line ); - QChar typedIn = firstNonWhiteSpace( *line ); - if ( p.last().endsWith(QLatin1Char(':')) ) + while (line != program.constEnd()) { + p.push_back(*line); + QChar typedIn = firstNonWhiteSpace(*line); + if (p.last().endsWith(QLatin1Char(':'))) typedIn = ':'; - int indent = indentForBottomLine( p, typedIn ); + int indent = indentForBottomLine(p, typedIn); - if ( !(*line).trimmed().isEmpty() ) { - for ( int j = 0; j < indent; j++ ) + if (!(*line).trimmed().isEmpty()) { + for (int j = 0; j < indent; j++) out += QLatin1Char(' '); out += (*line).trimmed(); } @@ -1167,10 +1157,10 @@ int main( int argc, char **argv ) ++line; } - while ( out.endsWith(QLatin1Char('\n')) ) - out.truncate( out.length() - 1 ); + while (out.endsWith(QLatin1Char('\n'))) + out.truncate(out.length() - 1); - printf( "%s\n", out.toLatin1().data() ); + printf("%s\n", out.toLatin1().data()); return 0; } -- cgit v1.2.3 From c2566a8c56f19b0c704a99b9d22997747e21f82a Mon Sep 17 00:00:00 2001 From: Topi Reinio <topi.reinio@qt.io> Date: Thu, 10 Oct 2019 13:57:53 +0200 Subject: qdoc: Introduce ignorewords configuration variable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QDoc automatically generates hyperlinks for words that qualify for auto-linking. This may become a problem whenever there is a qualified word as a section or a page title, and that word appear in the documentation frequently. For example, 'macOS' is mentioned often and each occurrence is linked, which is unnecessary and sometimes confusing. Provide a way to exclude specified words from being auto-linked. Create a new helper function, DocParser::isAutoLinkString(), to determine whether a string qualifies, and replace duplicated code with calls to that function. Fixes: QTBUG-79135 Change-Id: Ie53fe7ca0692f7b8e10a5f2208df5cd2ee2aab1d Reviewed-by: Topi Reiniö <topi.reinio@qt.io> --- src/qdoc/config.cpp | 1 + src/qdoc/config.h | 2 + src/qdoc/doc.cpp | 178 ++++++++++++++------------------- src/qdoc/doc/qdoc-manual-qdocconf.qdoc | 34 +++++++ 4 files changed, 113 insertions(+), 102 deletions(-) diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp index 73f29d56a..e7ca42150 100644 --- a/src/qdoc/config.cpp +++ b/src/qdoc/config.cpp @@ -74,6 +74,7 @@ QString ConfigStrings::HOMEPAGE = QStringLiteral("homepage"); QString ConfigStrings::HOMETITLE = QStringLiteral("hometitle"); QString ConfigStrings::IGNOREDIRECTIVES = QStringLiteral("ignoredirectives"); QString ConfigStrings::IGNORETOKENS = QStringLiteral("ignoretokens"); +QString ConfigStrings::IGNOREWORDS = QStringLiteral("ignorewords"); QString ConfigStrings::IMAGEDIRS = QStringLiteral("imagedirs"); QString ConfigStrings::IMAGES = QStringLiteral("images"); QString ConfigStrings::INCLUDEPATHS = QStringLiteral("includepaths"); diff --git a/src/qdoc/config.h b/src/qdoc/config.h index 85a12c0b3..451946ecd 100644 --- a/src/qdoc/config.h +++ b/src/qdoc/config.h @@ -217,6 +217,7 @@ struct ConfigStrings static QString HOMETITLE; static QString IGNOREDIRECTIVES; static QString IGNORETOKENS; + static QString IGNOREWORDS; static QString IMAGEDIRS; static QString IMAGES; static QString INCLUDEPATHS; @@ -298,6 +299,7 @@ struct ConfigStrings #define CONFIG_HOMETITLE ConfigStrings::HOMETITLE #define CONFIG_IGNOREDIRECTIVES ConfigStrings::IGNOREDIRECTIVES #define CONFIG_IGNORETOKENS ConfigStrings::IGNORETOKENS +#define CONFIG_IGNOREWORDS ConfigStrings::IGNOREWORDS #define CONFIG_IMAGEDIRS ConfigStrings::IMAGEDIRS #define CONFIG_IMAGES ConfigStrings::IMAGES #define CONFIG_INCLUDEPATHS ConfigStrings::INCLUDEPATHS diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index 9929a2a2a..61838b69c 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -426,6 +426,7 @@ public: static QStringList exampleDirs; static QStringList sourceFiles; static QStringList sourceDirs; + static QStringList ignorewords; static bool quoting; private: @@ -470,6 +471,8 @@ private: QString getCode(int cmd, CodeMarker *marker, const QString &argStr = QString()); QString getUnmarkedCode(int cmd); + inline bool isAutoLinkString(const QString &word); + bool isAutoLinkString(const QString &word, int &curPos); bool isBlankLine(); bool isLeftBraceAhead(); bool isLeftBracketAhead(); @@ -517,6 +520,7 @@ QStringList DocParser::exampleFiles; QStringList DocParser::exampleDirs; QStringList DocParser::sourceFiles; QStringList DocParser::sourceDirs; +QStringList DocParser::ignorewords; bool DocParser::quoting = false; /*! @@ -1364,63 +1368,17 @@ void DocParser::parse(const QString &source, DocPrivate *docPrivate, pos = backslashPos; } } + } else if (isAutoLinkString(cmdStr)) { + appendWord(cmdStr); } else { - int curPos = 0; - int numUppercase = 0; - int numLowercase = 0; - int numStrangeSymbols = 0; - - while (curPos < cmdStr.size()) { - unsigned char latin1Ch = cmdStr.at(curPos).toLatin1(); - if (islower(latin1Ch)) { - ++numLowercase; - ++curPos; - } else if (isupper(latin1Ch)) { - ++numUppercase; - ++curPos; - } else if (isdigit(latin1Ch)) { - if (curPos > 0) - ++curPos; - else - break; - } else if (latin1Ch == '_' || latin1Ch == '@') { - ++numStrangeSymbols; - ++curPos; - } else if ((latin1Ch == ':') && (curPos < cmdStr.size() - 1) - && (cmdStr.at(curPos + 1) == QLatin1Char(':'))) { - ++numStrangeSymbols; - curPos += 2; - } else if (latin1Ch == '(') { - if (curPos > 0) { - if ((curPos < cmdStr.size() - 1) - && (cmdStr.at(curPos + 1) == QLatin1Char(')'))) { - ++numStrangeSymbols; - pos += 2; - break; - } else { - // ### handle functions with signatures - // and function calls - break; - } - } else { - break; - } - } else { - break; - } - } - if ((numUppercase >= 1 && numLowercase >= 2) || numStrangeSymbols > 0) { - appendWord(cmdStr); - } else { - if (!cmdStr.endsWith("propertygroup")) { - // The QML and JS property group commands are no longer required - // for grouping QML and JS properties. They are allowed but ignored. - location().warning(tr("Unknown command '\\%1'").arg(cmdStr), - detailsUnknownCommand(metaCommandSet, cmdStr)); - } - enterPara(); - append(Atom::UnknownCommand, cmdStr); + if (!cmdStr.endsWith("propertygroup")) { + // The QML and JS property group commands are no longer required + // for grouping QML and JS properties. They are allowed but ignored. + location().warning(tr("Unknown command '\\%1'").arg(cmdStr), + detailsUnknownCommand(metaCommandSet,cmdStr)); } + enterPara(); + append(Atom::UnknownCommand, cmdStr); } } } // case '\\' (qdoc markup command) @@ -1505,50 +1463,7 @@ void DocParser::parse(const QString &source, DocPrivate *docPrivate, if (newWord) { int startPos = pos; - int numInternalUppercase = 0; - int numLowercase = 0; - int numStrangeSymbols = 0; - - while (pos < len) { - unsigned char latin1Ch = input_.at(pos).toLatin1(); - if (islower(latin1Ch)) { - ++numLowercase; - ++pos; - } else if (isupper(latin1Ch)) { - if (pos > startPos) - ++numInternalUppercase; - ++pos; - } else if (isdigit(latin1Ch)) { - if (pos > startPos) - ++pos; - else - break; - } else if (latin1Ch == '_' || latin1Ch == '@') { - ++numStrangeSymbols; - ++pos; - } else if (latin1Ch == ':' && pos < len - 1 - && input_.at(pos + 1) == QLatin1Char(':')) { - ++numStrangeSymbols; - pos += 2; - } else if (latin1Ch == '(') { - if (pos > startPos) { - if (pos < len - 1 && input_.at(pos + 1) == QLatin1Char(')')) { - ++numStrangeSymbols; - pos += 2; - break; - } else { - // ### handle functions with signatures - // and function calls - break; - } - } else { - break; - } - } else { - break; - } - } - + bool autolink = isAutoLinkString(input_, pos); if (pos == startPos) { if (!ch.isSpace()) { appendChar(ch); @@ -1556,9 +1471,8 @@ void DocParser::parse(const QString &source, DocPrivate *docPrivate, } } else { QString word = input_.mid(startPos, pos - startPos); - // is word a C++ symbol or an English word? - if ((numInternalUppercase >= 1 && numLowercase >= 2) || numStrangeSymbols > 0) { - if (word.startsWith(QString("__"))) + if (autolink) { + if (ignorewords.contains(word) || word.startsWith(QString("__"))) appendWord(word); else append(Atom::AutoLink, word); @@ -1775,6 +1689,65 @@ bool DocParser::openCommand(int cmd) return ok; } +/*! + Returns \c true if \a word qualifies for auto-linking. +*/ +inline bool DocParser::isAutoLinkString(const QString &word) +{ + int start = 0; + return isAutoLinkString(word, start); +} + +bool DocParser::isAutoLinkString(const QString &word, int &curPos) +{ + int len = word.size(); + int startPos = curPos; + int numUppercase = 0; + int numLowercase = 0; + int numStrangeSymbols = 0; + + while (curPos < len) { + unsigned char latin1Ch = word.at(curPos).toLatin1(); + if (islower(latin1Ch)) { + ++numLowercase; + ++curPos; + } else if (isupper(latin1Ch)) { + if (curPos > startPos) + ++numUppercase; + ++curPos; + } else if (isdigit(latin1Ch)) { + if (curPos > startPos) + ++curPos; + else + break; + } else if (latin1Ch == '_' || latin1Ch == '@') { + ++numStrangeSymbols; + ++curPos; + } else if ((latin1Ch == ':') && + (curPos < len - 1) && + (word.at(curPos + 1) == QLatin1Char(':'))) { + ++numStrangeSymbols; + curPos += 2; + } else if (latin1Ch == '(') { + if (curPos > startPos) { + if ((curPos < len - 1) && + (word.at(curPos + 1) == QLatin1Char(')'))) { + ++numStrangeSymbols; + pos += 2; + break; + } else { + break; + } + } else { + break; + } + } else { + break; + } + } + return ((numUppercase >= 1 && numLowercase >= 2) || numStrangeSymbols > 0); +} + bool DocParser::closeCommand(int endCmd) { if (endCmdFor(openedCommands.top()) == endCmd && openedCommands.size() > 1) { @@ -3049,6 +3022,7 @@ void Doc::initialize(const Config &config) DocParser::exampleDirs = config.getCanonicalPathList(CONFIG_EXAMPLEDIRS); DocParser::sourceFiles = config.getCanonicalPathList(CONFIG_SOURCES); DocParser::sourceDirs = config.getCanonicalPathList(CONFIG_SOURCEDIRS); + DocParser::ignorewords = config.getStringList(CONFIG_IGNOREWORDS); QmlTypeNode::qmlOnly = config.getBool(CONFIG_QMLONLY); QStringMap reverseAliasMap; diff --git a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc index 0f38aabce..534c06a74 100644 --- a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc +++ b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc @@ -105,6 +105,7 @@ \li \l {HTML.footer-variable} {HTML.footer} \li \l {HTML.postheader-variable} {HTML.postheader} \li \l {HTML.style-variable} {HTML.style} + \li \l {ignorewords-variable} {ignorewords} \li \l {imagedirs-variable} {imagedirs} \li \l {images-variable} {images} \li \l {images.fileextensions-variable} {images.fileextensions} @@ -595,6 +596,39 @@ See also \l headerdirs. + \target ignorewords-variable + \section1 ignorewords + + The \c ignorewords variable is used for specifying a list of strings + that QDoc will ignore when resolving hyperlink targets. + + QDoc has an auto-linking feature, where linking is attempted for words + that resemble C++, QML, or JavaScript entities. Specifically, a string + qualifies for auto-linking if it is at least three characters in + length, has no whitespace, and it + + \list + \li is a \e camelCase word, that is, it contains at least one + uppercase character at index greater than zero, or + \li contains the substring \c {()} or \c {::}, or + \li contains at least one special character, \c {@} or \c {_}. + \endlist + + Adding a qualified word to \c ignorewords stops QDoc from linking + that word automatically. For example, if the word \e OpenGL is a + valid link target (a section, \l{page-command}{\\page}, or + \l {externalpage-command}{\\externalpage} title), a hyperlink for + each occurrence can be avoided with + + \badcode + ignorewords += OpenGL + \endcode + + Linking explicitly with \l {l-command}{\\l} continues to work for + ignored words. + + The \c ignorewords variable was introduced in QDoc 5.14. + \target imagedirs-variable \section1 imagedirs -- cgit v1.2.3 From edba18247d7e3713ee8051469874ad323c090ff3 Mon Sep 17 00:00:00 2001 From: Oliver Wolff <oliver.wolff@qt.io> Date: Wed, 18 Dec 2019 10:07:57 +0100 Subject: windeployqt: Fix debug detection of "_app" versions of MSVC runtime UWP targets have the naming scheme of VCRUNTIMEXXX(d)_APP.dll. The "_APP" part, which is also mentioned in the comment, has to be taken into account when looking for the d "suffix" of the runtime library. Change-Id: Iea84687c7c3f230ac9520ca983e742b0938eec15 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Jiong Chang <xspeed1989@gmail.com> --- src/shared/winutils/utils.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/shared/winutils/utils.cpp b/src/shared/winutils/utils.cpp index f32b9b76b..f3bea29ab 100644 --- a/src/shared/winutils/utils.cpp +++ b/src/shared/winutils/utils.cpp @@ -800,6 +800,9 @@ static inline MsvcDebugRuntimeResult checkMsvcDebugRuntime(const QStringList &de pos = -1 == lastDotPos ? 0 : lastDotPos - 1; } + if (lib.contains(QLatin1String("_app"), Qt::CaseInsensitive)) + pos -= 4; + if (pos) { return lib.at(pos).toLower() == QLatin1Char('d') ? MsvcDebugRuntime : MsvcReleaseRuntime; -- cgit v1.2.3 From d0394e74e7c34012c3f520a3c3e4a2008911aa6f Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@qt.io> Date: Wed, 18 Dec 2019 12:11:16 +0100 Subject: windeployqt: Refactor platform enumeration - Make it a QFlags, providing operators - Remove WinCE - Add a Msvc compiler flag and make the tests for build directory and d-suffix depending on it. - Add clang-Msvc/clang-MinGW - Rename WindowsDesktop to WindowsDesktopMsvc, WinRtIntel to WinRtIntelMsvc and WinRtArm to WinRtArmMsvc - Use QFlags::testFlag() Task-number: QTBUG-80806 Task-number: QTBUG-80763 Task-number: QTBUG-78445 Change-Id: I0dd74a7b03e9e6bee55d4234c12eec17d52ce0e2 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> --- src/shared/winutils/qmlutils.cpp | 6 ++--- src/shared/winutils/qmlutils.h | 2 +- src/shared/winutils/utils.cpp | 7 +++--- src/shared/winutils/utils.h | 37 +++++++++++++++++----------- src/windeployqt/main.cpp | 52 ++++++++++++++++++---------------------- 5 files changed, 54 insertions(+), 50 deletions(-) diff --git a/src/shared/winutils/qmlutils.cpp b/src/shared/winutils/qmlutils.cpp index 6e8d5192b..54e470105 100644 --- a/src/shared/winutils/qmlutils.cpp +++ b/src/shared/winutils/qmlutils.cpp @@ -73,12 +73,12 @@ static QString qmlDirectoryRecursion(Platform platform, const QString &path) } // Find a directory containing QML files in the project -QString findQmlDirectory(int platform, const QString &startDirectoryName) +QString findQmlDirectory(Platform platform, const QString &startDirectoryName) { QDir startDirectory(startDirectoryName); - if (isBuildDirectory(Platform(platform), startDirectory.dirName())) + if (isBuildDirectory(platform, startDirectory.dirName())) startDirectory.cdUp(); - return qmlDirectoryRecursion(Platform(platform), startDirectory.path()); + return qmlDirectoryRecursion(platform, startDirectory.path()); } static void findFileRecursion(const QDir &directory, Platform platform, diff --git a/src/shared/winutils/qmlutils.h b/src/shared/winutils/qmlutils.h index 87e6ca132..572be7cab 100644 --- a/src/shared/winutils/qmlutils.h +++ b/src/shared/winutils/qmlutils.h @@ -35,7 +35,7 @@ QT_BEGIN_NAMESPACE -QString findQmlDirectory(int platform, const QString &startDirectoryName); +QString findQmlDirectory(Platform platform, const QString &startDirectoryName); struct QmlImportScanResult { struct Module { diff --git a/src/shared/winutils/utils.cpp b/src/shared/winutils/utils.cpp index f3bea29ab..b62f69a1e 100644 --- a/src/shared/winutils/utils.cpp +++ b/src/shared/winutils/utils.cpp @@ -59,7 +59,8 @@ int optVerboseLevel = 1; bool isBuildDirectory(Platform platform, const QString &dirName) { - return (platform & WindowsBased) && (dirName == QLatin1String("debug") || dirName == QLatin1String("release")); + return (platform.testFlag(Msvc) || platform.testFlag(ClangMsvc)) + && (dirName == QLatin1String("debug") || dirName == QLatin1String("release")); } // Create a symbolic link by changing to the source directory to make sure the @@ -932,7 +933,7 @@ QString findD3dCompiler(Platform platform, const QString &qtBinDir, unsigned wor const QString kitDir = QString::fromLocal8Bit(qgetenv("WindowsSdkDir")); if (!kitDir.isEmpty()) { QString redistDirPath = QDir::cleanPath(kitDir) + QStringLiteral("/Redist/D3D/"); - if (platform & ArmBased) { + if (platform.testFlag(ArmBased)) { redistDirPath += QStringLiteral("arm"); } else { redistDirPath += wordSize == 32 ? QStringLiteral("x86") : QStringLiteral("x64"); @@ -955,7 +956,7 @@ QString findD3dCompiler(Platform platform, const QString &qtBinDir, unsigned wor return fi.absoluteFilePath(); } // Find the latest D3D compiler DLL in path (Windows 8.1 has d3dcompiler_47). - if (platform & IntelBased) { + if (platform.testFlag(IntelBased)) { QString errorMessage; unsigned detectedWordSize; for (const QString &candidate : qAsConst(candidateVersions)) { diff --git a/src/shared/winutils/utils.h b/src/shared/winutils/utils.h index 7915f8e4e..b15ca01cf 100644 --- a/src/shared/winutils/utils.h +++ b/src/shared/winutils/utils.h @@ -43,27 +43,36 @@ QT_BEGIN_NAMESPACE enum PlatformFlag { - WindowsBased = 0x1000, - UnixBased = 0x2000, - IntelBased = 0x4000, - ArmBased = 0x8000, - MinGW = 0x10000 -}; - -enum Platform { - WindowsDesktop = WindowsBased + IntelBased, + // OS + WindowsBased = 0x00001, + UnixBased = 0x00002, + WinRt = 0x00004, + // CPU + IntelBased = 0x00010, + ArmBased = 0x00020, + // Compiler + Msvc = 0x00100, + MinGW = 0x00200, + ClangMsvc = 0x00400, + ClangMinGW = 0x00800, + // Platforms + WindowsDesktopMsvc = WindowsBased + IntelBased + Msvc, WindowsDesktopMinGW = WindowsBased + IntelBased + MinGW, - WinRtIntel = WindowsBased + IntelBased + 1, - WinRtArm = WindowsBased + ArmBased + 2, - WinCEIntel = WindowsBased + IntelBased + 5, - WinCEArm = WindowsBased + ArmBased + 6, + WindowsDesktopClangMsvc = WindowsBased + IntelBased + ClangMsvc, + WindowsDesktopClangMinGW = WindowsBased + IntelBased + ClangMinGW, + WinRtIntelMsvc = WindowsBased + WinRt + IntelBased + Msvc, + WinRtArmMsvc = WindowsBased + WinRt + ArmBased + Msvc, Unix = UnixBased, UnknownPlatform }; +Q_DECLARE_FLAGS(Platform, PlatformFlag) + +Q_DECLARE_OPERATORS_FOR_FLAGS(Platform) + inline bool platformHasDebugSuffix(Platform p) // Uses 'd' debug suffix { - return (p & WindowsBased) != 0 && (p & MinGW) == 0; + return p.testFlag(Msvc) || p.testFlag(ClangMsvc); } enum ListOption { diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp index 99d1e152a..71b6e1258 100644 --- a/src/windeployqt/main.cpp +++ b/src/windeployqt/main.cpp @@ -204,18 +204,17 @@ static Platform platformFromMkSpec(const QString &xSpec) { if (xSpec == QLatin1String("linux-g++")) return Unix; - if (xSpec.startsWith(QLatin1String("win32-"))) - return xSpec.contains(QLatin1String("g++")) ? WindowsDesktopMinGW : WindowsDesktop; + if (xSpec.startsWith(QLatin1String("win32-"))) { + if (xSpec.contains(QLatin1String("clang-g++"))) + return WindowsDesktopClangMinGW; + if (xSpec.contains(QLatin1String("clang-msvc++"))) + return WindowsDesktopClangMsvc; + return xSpec.contains(QLatin1String("g++")) ? WindowsDesktopMinGW : WindowsDesktopMsvc; + } if (xSpec.startsWith(QLatin1String("winrt-x"))) - return WinRtIntel; + return WinRtIntelMsvc; if (xSpec.startsWith(QLatin1String("winrt-arm"))) - return WinRtArm; - if (xSpec.startsWith(QLatin1String("wince"))) { - if (xSpec.contains(QLatin1String("-x86-"))) - return WinCEIntel; - if (xSpec.contains(QLatin1String("-arm"))) - return WinCEArm; - } + return WinRtArmMsvc; return UnknownPlatform; } @@ -267,7 +266,7 @@ struct Options { unsigned disabledPlugins = 0; AngleDetection angleDetection = AngleDetectionAuto; bool softwareRasterizer = true; - Platform platform = WindowsDesktop; + Platform platform = WindowsDesktopMsvc; quint64 additionalLibraries = 0; quint64 disabledLibraries = 0; unsigned updateFileFlags = 0; @@ -285,9 +284,7 @@ struct Options { bool dryRun = false; bool patchQt = true; - inline bool isWinRt() const { - return platform == WinRtArm || platform == WinRtIntel; - } + inline bool isWinRt() const { return platform.testFlag(WinRt); } }; // Return binary from folder @@ -503,8 +500,8 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse else if (parser->isSet(noCompilerRunTimeOption)) options->compilerRunTime = false; - if (options->compilerRunTime && options->platform != WindowsDesktopMinGW && options->platform != WindowsDesktop) { - *errorMessage = QStringLiteral("Deployment of the compiler runtime is implemented for Desktop only."); + if (options->compilerRunTime && options->platform != WindowsDesktopMinGW && options->platform != WindowsDesktopMsvc) { + *errorMessage = QStringLiteral("Deployment of the compiler runtime is implemented for Desktop MSVC/g++ only."); return CommandLineParseError; } @@ -526,7 +523,7 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse } if (parser->isSet(deployPdbOption)) { - if ((options->platform & WindowsBased) && !(options->platform & MinGW)) + if (options->platform.testFlag(WindowsBased) && !options->platform.testFlag(MinGW)) options->deployPdb = true; else std::wcerr << "Warning: --" << deployPdbOption.names().first() << " is not supported on this platform.\n"; @@ -919,14 +916,12 @@ QStringList findQtPlugins(quint64 *usedQtModules, quint64 disabledQtModules, const bool isPlatformPlugin = subDirName == QLatin1String("platforms"); if (isPlatformPlugin) { switch (platform) { - case WindowsDesktop: + case WindowsDesktopMsvc: case WindowsDesktopMinGW: - case WinCEIntel: - case WinCEArm: filter = QStringLiteral("qwindows"); break; - case WinRtIntel: - case WinRtArm: + case WinRtIntelMsvc: + case WinRtArmMsvc: filter = QStringLiteral("qwinrt"); break; case Unix: @@ -1064,7 +1059,7 @@ static QString libraryPath(const QString &libraryLocation, const char *name, result += qtLibInfix; if (debug && platformHasDebugSuffix(platform)) result += QLatin1Char('d'); - } else if (platform & UnixBased) { + } else if (platform.testFlag(UnixBased)) { result += QStringLiteral("lib"); result += QLatin1String(name); result += qtLibInfix; @@ -1137,7 +1132,7 @@ static QStringList compilerRunTimeLibs(Platform platform, bool isDebug, unsigned } break; #ifdef Q_OS_WIN - case WindowsDesktop: { // MSVC/Desktop: Add redistributable packages. + case WindowsDesktopMsvc: { // MSVC/Desktop: Add redistributable packages. QString vcRedistDirName = vcRedistDir(); if (vcRedistDirName.isEmpty()) break; @@ -1285,7 +1280,7 @@ static DeployResult deploy(const Options &options, // Some Windows-specific checks: Qt5Core depends on ICU when configured with "-icu". Other than // that, Qt5WebKit has a hard dependency on ICU. - if (options.platform & WindowsBased) { + if (options.platform.testFlag(WindowsBased)) { const QStringList qtLibs = dependentQtLibs.filter(QStringLiteral("Qt5Core"), Qt::CaseInsensitive) + dependentQtLibs.filter(QStringLiteral("Qt5WebKit"), Qt::CaseInsensitive); for (const QString &qtLib : qtLibs) { @@ -1405,8 +1400,7 @@ static DeployResult deploy(const Options &options, } // Check for ANGLE on the Qt5Gui library. - if ((options.platform & WindowsBased) && options.platform != WinCEIntel - && options.platform != WinCEArm && !qtGuiLibrary.isEmpty()) { + if (options.platform.testFlag(WindowsBased) && !qtGuiLibrary.isEmpty()) { QString libGlesName = QStringLiteral("libGLESV2"); if (isDebug && platformHasDebugSuffix(options.platform)) libGlesName += QLatin1Char('d'); @@ -1454,7 +1448,7 @@ static DeployResult deploy(const Options &options, // We need to copy ucrtbased.dll on WinRT as this library is not part of // the c runtime package. VS 2015 does the same when deploying to a device // or creating an appx. - if (isDebug && options.platform == WinRtArm + if (isDebug && options.platform == WinRtArmMsvc && qmakeVariables.value(QStringLiteral("QMAKE_XSPEC")).endsWith(QLatin1String("msvc2015"))) { const QString extensionPath = QString::fromLocal8Bit(qgetenv("ExtensionSdkDir")); const QString ucrtVersion = QString::fromLocal8Bit(qgetenv("UCRTVersion")); @@ -1671,7 +1665,7 @@ int main(int argc, char **argv) const QMap<QString, QString> qmakeVariables = queryQMakeAll(&errorMessage); const QString xSpec = qmakeVariables.value(QStringLiteral("QMAKE_XSPEC")); options.platform = platformFromMkSpec(xSpec); - if (options.platform == WindowsDesktopMinGW || options.platform == WindowsDesktop) + if (options.platform == WindowsDesktopMinGW || options.platform == WindowsDesktopMsvc) options.compilerRunTime = true; { // Command line -- cgit v1.2.3 From 675de6dcc0536c52aa72ab2dd6a87422ae391ae7 Mon Sep 17 00:00:00 2001 From: Thibaut Cuvelier <cuvelier.thibaut@gmail.com> Date: Thu, 5 Dec 2019 06:14:18 +0100 Subject: Add a comment about the replacement of some identifiers by subscripts Clean up some related code Change-Id: I5d8d853e63a0d6a219d659a83267c748bbe42342 Reviewed-by: Paul Wicking <paul.wicking@qt.io> --- src/qdoc/htmlgenerator.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 23183614b..794e39fe4 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -2914,15 +2914,18 @@ void HtmlGenerator::generateQmlItem(const Node *node, const Node *relative, Code QString contents = protectEnc(marked.mid(templateTag.pos(1), templateTag.cap(1).length())); marked.replace(templateTag.pos(1), templateTag.cap(1).length(), contents); } - marked.replace(QRegExp("<@param>([a-z]+)_([1-9n])</@param>"), "<i>\\1<sub>\\2</sub></i>"); - marked.replace("<@param>", "<i>"); - marked.replace("</@param>", "</i>"); + // Look for the _ character in the member name followed by a number (or n): + // this is intended to be rendered as a subscript. + marked.replace(QRegExp("<@param>([a-z]+)_([0-9]+|n)</@param>"), + "<i>\\1<sub>\\2</sub></i>"); + + // Replace some markup by HTML tags. Do both the opening and the closing tag + // in one go (instead of <@param> and </@param> separately, for instance). + marked.replace("@param>", "i>"); if (summary) marked.replace("@name>", "b>"); - - marked.replace("<@extra>", "<code>"); - marked.replace("</@extra>", "</code>"); + marked.replace("@extra>", "code>"); if (summary) { marked.remove("<@type>"); -- cgit v1.2.3 From d1de2790b92e147e4d28884484bb2ba134696b88 Mon Sep 17 00:00:00 2001 From: Thibaut Cuvelier <cuvelier.thibaut@gmail.com> Date: Thu, 5 Dec 2019 06:10:26 +0100 Subject: Simplify the code printing the enum values Change-Id: I743baf96185fcb20ce740fcc9c2beb011f5bdefb Reviewed-by: Paul Wicking <paul.wicking@qt.io> --- src/qdoc/cppcodemarker.cpp | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/src/qdoc/cppcodemarker.cpp b/src/qdoc/cppcodemarker.cpp index 550e01328..b23312d19 100644 --- a/src/qdoc/cppcodemarker.cpp +++ b/src/qdoc/cppcodemarker.cpp @@ -223,7 +223,7 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, const Node * /* relati QStringList documentedItems = enume->doc().enumItemNames(); if (documentedItems.isEmpty()) { - const auto enumItems = enume->items(); + const auto &enumItems = enume->items(); for (const auto &item : enumItems) documentedItems << item.name(); } @@ -231,23 +231,15 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, const Node * /* relati for (const auto &item : omitItems) documentedItems.removeAll(item); - if (documentedItems.size() <= MaxEnumValues) { - for (int i = 0; i < documentedItems.size(); ++i) { - if (i != 0) - synopsis += ", "; - synopsis += documentedItems.at(i); - } - } else { - for (int i = 0; i < documentedItems.size(); ++i) { - if (i < MaxEnumValues - 2 || i == documentedItems.size() - 1) { - if (i != 0) - synopsis += ", "; - synopsis += documentedItems.at(i); - } else if (i == MaxEnumValues - 1) { - synopsis += ", ..."; - } - } + if (documentedItems.size() > MaxEnumValues) { + // Take the last element and keep it safe, then elide the surplus. + const QString last = documentedItems.last(); + documentedItems = documentedItems.mid(0, MaxEnumValues - 1); + documentedItems += "…"; + documentedItems += last; } + synopsis += documentedItems.join(QLatin1String(", ")); + if (!documentedItems.isEmpty()) synopsis += QLatin1Char(' '); synopsis += QLatin1Char('}'); -- cgit v1.2.3 From 34b27e650f2c1033e5e92c57beeccc5aabcd3f63 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@qt.io> Date: Wed, 18 Dec 2019 15:19:58 +0100 Subject: windeployqt: Fix deployment of MinGW/release with debug info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change the debug detection to match debug or release for anything except Msvc/ClangMsvc, effectively turning the check off. Msvc/ClangMsvc are the only remaining compilers for which distinct debug/release binaries are generated by debug-and-release due to the different runtimes. Fixes: QTBUG-80806 Task-number: QTBUG-80763 Task-number: QTBUG-78445 Change-Id: I85f170787c45a08cc28f37caa54e152dd7191e0f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: André de la Rocha <andre.rocha@qt.io> --- src/windeployqt/main.cpp | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp index 71b6e1258..bae019150 100644 --- a/src/windeployqt/main.cpp +++ b/src/windeployqt/main.cpp @@ -1246,9 +1246,26 @@ static DeployResult deploy(const Options &options, } } - const bool isDebug = options.debugDetection == Options::DebugDetectionAuto ? detectedDebug: options.debugDetection == Options::DebugDetectionForceDebug; - result.isDebug = isDebug; - const DebugMatchMode debugMatchMode = isDebug ? MatchDebug : MatchRelease; + DebugMatchMode debugMatchMode = MatchDebugOrRelease; + result.isDebug = false; + switch (options.debugDetection) { + case Options::DebugDetectionAuto: + // Debug detection is only relevant for Msvc/ClangMsvc which have distinct + // runtimes and binaries. For anything else, use MatchDebugOrRelease + // since also debug cannot be reliably detect for MinGW. + if (options.platform.testFlag(Msvc) || options.platform.testFlag(ClangMsvc)) { + result.isDebug = detectedDebug; + debugMatchMode = result.isDebug ? MatchDebug : MatchRelease; + } + break; + case Options::DebugDetectionForceDebug: + result.isDebug = true; + debugMatchMode = MatchDebug; + break; + case Options::DebugDetectionForceRelease: + debugMatchMode = MatchRelease; + break; + } // Determine application type, check Quick2 is used by looking at the // direct dependencies (do not be fooled by QtWebKit depending on it). @@ -1266,7 +1283,7 @@ static DeployResult deploy(const Options &options, if (optVerboseLevel) { std::wcout << QDir::toNativeSeparators(options.binaries.first()) << ' ' - << wordSize << " bit, " << (isDebug ? "debug" : "release") + << wordSize << " bit, " << (result.isDebug ? "debug" : "release") << " executable"; if (usesQml2) std::wcout << " [QML]"; @@ -1378,7 +1395,7 @@ static DeployResult deploy(const Options &options, QString qtGuiLibrary; for (const auto &qtModule : qtModuleEntries) { if (result.deployedQtLibraries & qtModule.module) { - const QString library = libraryPath(libraryLocation, qtModule.libraryName, qtLibInfix, options.platform, isDebug); + const QString library = libraryPath(libraryLocation, qtModule.libraryName, qtLibInfix, options.platform, result.isDebug); deployedQtLibraries.append(library); if (qtModule.module == QtGuiModule) qtGuiLibrary = library; @@ -1402,11 +1419,11 @@ static DeployResult deploy(const Options &options, // Check for ANGLE on the Qt5Gui library. if (options.platform.testFlag(WindowsBased) && !qtGuiLibrary.isEmpty()) { QString libGlesName = QStringLiteral("libGLESV2"); - if (isDebug && platformHasDebugSuffix(options.platform)) + if (result.isDebug && platformHasDebugSuffix(options.platform)) libGlesName += QLatin1Char('d'); libGlesName += QLatin1String(windowsSharedLibrarySuffix); QString libCombinedQtAngleName = QStringLiteral("QtANGLE"); - if (isDebug && platformHasDebugSuffix(options.platform)) + if (result.isDebug && platformHasDebugSuffix(options.platform)) libCombinedQtAngleName += QLatin1Char('d'); libCombinedQtAngleName += QLatin1String(windowsSharedLibrarySuffix); const QStringList guiLibraries = findDependentLibraries(qtGuiLibrary, options.platform, errorMessage); @@ -1422,7 +1439,7 @@ static DeployResult deploy(const Options &options, const QString libGlesFullPath = qtBinDir + slash + libGlesName; deployedQtLibraries.append(libGlesFullPath); QString libEglFullPath = qtBinDir + slash + QStringLiteral("libEGL"); - if (isDebug && platformHasDebugSuffix(options.platform)) + if (result.isDebug && platformHasDebugSuffix(options.platform)) libEglFullPath += QLatin1Char('d'); libEglFullPath += QLatin1String(windowsSharedLibrarySuffix); deployedQtLibraries.append(libEglFullPath); @@ -1448,7 +1465,7 @@ static DeployResult deploy(const Options &options, // We need to copy ucrtbased.dll on WinRT as this library is not part of // the c runtime package. VS 2015 does the same when deploying to a device // or creating an appx. - if (isDebug && options.platform == WinRtArmMsvc + if (result.isDebug && options.platform == WinRtArmMsvc && qmakeVariables.value(QStringLiteral("QMAKE_XSPEC")).endsWith(QLatin1String("msvc2015"))) { const QString extensionPath = QString::fromLocal8Bit(qgetenv("ExtensionSdkDir")); const QString ucrtVersion = QString::fromLocal8Bit(qgetenv("UCRTVersion")); @@ -1478,7 +1495,7 @@ static DeployResult deploy(const Options &options, options.directory : options.libraryDirectory; QStringList libraries = deployedQtLibraries; if (options.compilerRunTime) - libraries.append(compilerRunTimeLibs(options.platform, isDebug, machineArch)); + libraries.append(compilerRunTimeLibs(options.platform, result.isDebug, machineArch)); for (const QString &qtLib : qAsConst(libraries)) { if (!updateLibrary(qtLib, targetPath, options, errorMessage)) return result; @@ -1486,7 +1503,7 @@ static DeployResult deploy(const Options &options, if (options.patchQt && !options.dryRun && !options.isWinRt()) { const QString qt5CoreName = QFileInfo(libraryPath(libraryLocation, "Qt5Core", qtLibInfix, - options.platform, isDebug)).fileName(); + options.platform, result.isDebug)).fileName(); #ifndef QT_RELOCATABLE if (!patchQtCore(targetPath + QLatin1Char('/') + qt5CoreName, errorMessage)) { std::wcerr << "Warning: " << *errorMessage << '\n'; -- cgit v1.2.3 From b122963e2363709d104cd6c180798d27812bb002 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor <alexandru.croitor@qt.io> Date: Tue, 9 Jul 2019 10:50:00 +0200 Subject: Fix Qt6 build Change-Id: Ie413ca2e2f81ac0e92628ffd2f3e93047a91bd0c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> (cherry picked from commit 6b2f32f3dc9de965801927a4bc5d970028a318a6) Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> --- src/designer/src/designer/assistantclient.cpp | 2 +- src/designer/src/lib/shared/zoomwidget.cpp | 2 +- src/linguist/linguist/mainwindow.cpp | 2 +- src/linguist/shared/po.cpp | 2 +- src/linguist/shared/ts.cpp | 2 +- src/pixeltool/qpixeltool.cpp | 4 ++-- src/qtdiag/qtdiag.cpp | 6 +++--- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/designer/src/designer/assistantclient.cpp b/src/designer/src/designer/assistantclient.cpp index bf8026c3c..fb8bb5dde 100644 --- a/src/designer/src/designer/assistantclient.cpp +++ b/src/designer/src/designer/assistantclient.cpp @@ -85,7 +85,7 @@ bool AssistantClient::sendCommand(const QString &cmd, QString *errorMessage) return false; } QTextStream str(m_process); - str << cmd << QLatin1Char('\n') << endl; + str << cmd << QLatin1Char('\n') << Qt::endl; return true; } diff --git a/src/designer/src/lib/shared/zoomwidget.cpp b/src/designer/src/lib/shared/zoomwidget.cpp index af184f5ea..7a7ca2afc 100644 --- a/src/designer/src/lib/shared/zoomwidget.cpp +++ b/src/designer/src/lib/shared/zoomwidget.cpp @@ -286,7 +286,7 @@ ZoomWidget::ZoomWidget(QWidget *parent) : void ZoomWidget::setWidget(QWidget *w, Qt::WindowFlags wFlags) { if (debugZoomWidget) - qDebug() << "ZoomWidget::setWidget" << w << bin << wFlags; + qDebug() << "ZoomWidget::setWidget" << w << Qt::bin << wFlags; if (m_proxy) { scene().removeItem(m_proxy); diff --git a/src/linguist/linguist/mainwindow.cpp b/src/linguist/linguist/mainwindow.cpp index 235efd747..35ce52891 100644 --- a/src/linguist/linguist/mainwindow.cpp +++ b/src/linguist/linguist/mainwindow.cpp @@ -1347,7 +1347,7 @@ void MainWindow::manual() << (QT_VERSION >> 16) << ((QT_VERSION >> 8) & 0xFF) << (QT_VERSION & 0xFF) << QLatin1String("/qtlinguist/qtlinguist-index.html") - << QLatin1Char('\n') << endl; + << QLatin1Char('\n') << Qt::endl; } void MainWindow::about() diff --git a/src/linguist/shared/po.cpp b/src/linguist/shared/po.cpp index 4e623e6a3..19ba12b96 100644 --- a/src/linguist/shared/po.cpp +++ b/src/linguist/shared/po.cpp @@ -779,7 +779,7 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &) out << poEscapedString(QString(), QString::fromLatin1("msgstr"), true, hdrStr); foreach (const TranslatorMessage &msg, translator.messages()) { - out << endl; + out << Qt::endl; if (!msg.translatorComment().isEmpty()) out << poEscapedLines(QLatin1String("#"), true, msg.translatorComment()); diff --git a/src/linguist/shared/ts.cpp b/src/linguist/shared/ts.cpp index 8d394766a..6a7cc64fc 100644 --- a/src/linguist/shared/ts.cpp +++ b/src/linguist/shared/ts.cpp @@ -486,7 +486,7 @@ static void writeExtras(QTextStream &t, const char *indent, } outs.sort(); foreach (const QString &out, outs) - t << indent << out << endl; + t << indent << out << Qt::endl; } static void writeVariants(QTextStream &t, const char *indent, const QString &input) diff --git a/src/pixeltool/qpixeltool.cpp b/src/pixeltool/qpixeltool.cpp index d084f893f..a52a828c2 100644 --- a/src/pixeltool/qpixeltool.cpp +++ b/src/pixeltool/qpixeltool.cpp @@ -685,8 +685,8 @@ QTextStream &operator<<(QTextStream &str, const QScreen *screen) { const QRect geometry = screen->geometry(); str << '"' << screen->name() << "\" " << geometry.width() - << 'x' << geometry.height() << forcesign << geometry.x() << geometry.y() - << noforcesign << ", " << qRound(screen->logicalDotsPerInch()) << "DPI" + << 'x' << geometry.height() << Qt::forcesign << geometry.x() << geometry.y() + << Qt::noforcesign << ", " << qRound(screen->logicalDotsPerInch()) << "DPI" << ", Depth: " << screen->depth() << ", " << screen->refreshRate() << "Hz"; const qreal dpr = screen->devicePixelRatio(); if (!qFuzzyCompare(dpr, qreal(1))) diff --git a/src/qtdiag/qtdiag.cpp b/src/qtdiag/qtdiag.cpp index 9b082e37e..04cc72dfb 100644 --- a/src/qtdiag/qtdiag.cpp +++ b/src/qtdiag/qtdiag.cpp @@ -102,7 +102,7 @@ QTextStream &operator<<(QTextStream &str, const QDpi &d) QTextStream &operator<<(QTextStream &str, const QRect &r) { - str << r.size() << forcesign << r.x() << r.y() << noforcesign; + str << r.size() << Qt::forcesign << r.x() << r.y() << Qt::noforcesign; return str; } @@ -480,7 +480,7 @@ QString qtDiag(unsigned flags) # ifndef QT_NO_SSL if (QSslSocket::supportsSsl()) { str << "Using \"" << QSslSocket::sslLibraryVersionString() << "\", version: 0x" - << hex << QSslSocket::sslLibraryVersionNumber() << dec; + << Qt::hex << QSslSocket::sslLibraryVersionNumber() << Qt::dec; } else { str << "\nSSL is not supported."; } @@ -528,7 +528,7 @@ QString qtDiag(unsigned flags) if (passwordMaskCharacter.unicode() >= 32 && passwordMaskCharacter.unicode() < 128) str << '\'' << passwordMaskCharacter << '\''; else - str << "U+" << qSetFieldWidth(4) << qSetPadChar('0') << uppercasedigits << hex << passwordMaskCharacter.unicode() << dec << qSetFieldWidth(0); + str << "U+" << qSetFieldWidth(4) << qSetPadChar('0') << Qt::uppercasedigits << Qt::hex << passwordMaskCharacter.unicode() << Qt::dec << qSetFieldWidth(0); str << '\n' << " fontSmoothingGamma: " << styleHints->fontSmoothingGamma() << '\n' << " useRtlExtensions: " << styleHints->useRtlExtensions() << '\n' -- cgit v1.2.3 From 33f74f44615d188bac04b6cc9811c672ac60e6e1 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor <alexandru.croitor@qt.io> Date: Wed, 31 Jul 2019 17:39:49 +0200 Subject: Fix Qt6 build Fixes some unprefied textstream usages. Bump the module version to 6.0.0. Also windeployqt auto test is temporarily blacklisted because with the current situation it's not possible to make it pass both with a 5.x and a 6.x Qt build, and thus this would prevent a qt5.git integration. Change-Id: If750cf4f50ba4215cb63b53c42971f3d1f1c8160 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> (cherry picked from commit f3d047af903801d9e7705816df5299c4e04a76f4) Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> --- src/kmap2qmap/main.cpp | 14 +++++++------- src/makeqpf/qpf2.cpp | 2 +- src/qev/qev.cpp | 2 +- src/qtdiag/qtdiag.cpp | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/kmap2qmap/main.cpp b/src/kmap2qmap/main.cpp index 0cff817c5..0f18166bd 100644 --- a/src/kmap2qmap/main.cpp +++ b/src/kmap2qmap/main.cpp @@ -496,27 +496,27 @@ bool KeymapParser::generateHeader(QFile *f) { QTextStream ts(f); - ts << "#ifndef QEVDEVKEYBOARDHANDLER_DEFAULTMAP_H" << endl; - ts << "#define QEVDEVKEYBOARDHANDLER_DEFAULTMAP_H" << endl << endl; + ts << "#ifndef QEVDEVKEYBOARDHANDLER_DEFAULTMAP_H" << Qt::endl; + ts << "#define QEVDEVKEYBOARDHANDLER_DEFAULTMAP_H" << Qt::endl << Qt::endl; - ts << "const QEvdevKeyboardMap::Mapping QEvdevKeyboardHandler::s_keymap_default[] = {" << endl; + ts << "const QEvdevKeyboardMap::Mapping QEvdevKeyboardHandler::s_keymap_default[] = {" << Qt::endl; for (int i = 0; i < m_keymap.size(); ++i) { const QEvdevKeyboardMap::Mapping &m = m_keymap.at(i); ts << QString::asprintf(" { %3d, 0x%04x, 0x%08x, 0x%02x, 0x%02x, 0x%04x },\n", m.keycode, m.unicode, m.qtcode, m.modifiers, m.flags, m.special); } - ts << "};" << endl << endl; + ts << "};" << Qt::endl << Qt::endl; - ts << "const QEvdevKeyboardMap::Composing QEvdevKeyboardHandler::s_keycompose_default[] = {" << endl; + ts << "const QEvdevKeyboardMap::Composing QEvdevKeyboardHandler::s_keycompose_default[] = {" << Qt::endl; for (int i = 0; i < m_keycompose.size(); ++i) { const QEvdevKeyboardMap::Composing &c = m_keycompose.at(i); ts << QString::asprintf(" { 0x%04x, 0x%04x, 0x%04x },\n", c.first, c.second, c.result); } - ts << "};" << endl << endl; + ts << "};" << Qt::endl << Qt::endl; - ts << "#endif" << endl; + ts << "#endif" << Qt::endl; return (ts.status() == QTextStream::Ok); } diff --git a/src/makeqpf/qpf2.cpp b/src/makeqpf/qpf2.cpp index c56ec391a..aca3d72cc 100644 --- a/src/makeqpf/qpf2.cpp +++ b/src/makeqpf/qpf2.cpp @@ -629,7 +629,7 @@ void QPF::dump(const QByteArray &qpf) const QFontEngineQPF2::Block *block = reinterpret_cast<const QFontEngineQPF2::Block *>(data); quint32 tag = qFromBigEndian(block->tag); quint32 blockSize = qFromBigEndian(block->dataSize); - qDebug() << "Block: Tag =" << qFromBigEndian(block->tag) << "; Size =" << blockSize << "; Offset =" << hex << data - reinterpret_cast<const uchar *>(qpf.constData()); + qDebug() << "Block: Tag =" << qFromBigEndian(block->tag) << "; Size =" << blockSize << "; Offset =" << Qt::hex << data - reinterpret_cast<const uchar *>(qpf.constData()); data += sizeof(QFontEngineQPF2::Block); if (debugVerbosity) { diff --git a/src/qev/qev.cpp b/src/qev/qev.cpp index b7de5dc73..01bfbd9e9 100644 --- a/src/qev/qev.cpp +++ b/src/qev/qev.cpp @@ -43,7 +43,7 @@ public: bool event(QEvent *e) { if (e->type() == QEvent::ContextMenu) return false; - QDebug(qout) << e << endl; + QDebug(qout) << e << Qt::endl; return QWidget::event(e); } }; diff --git a/src/qtdiag/qtdiag.cpp b/src/qtdiag/qtdiag.cpp index 04cc72dfb..66d25bc64 100644 --- a/src/qtdiag/qtdiag.cpp +++ b/src/qtdiag/qtdiag.cpp @@ -247,9 +247,9 @@ void dumpVkInfo(QTextStream &str) window.setVulkanInstance(&inst); for (const VkPhysicalDeviceProperties &props : window.availablePhysicalDevices()) { str << " API version " << vulkanVersion(props.apiVersion).toString() - << hex << ", vendor 0x" << props.vendorID + << Qt::hex << ", vendor 0x" << props.vendorID << ", device 0x" << props.deviceID << ", " << props.deviceName - << dec << ", type " << props.deviceType + << Qt::dec << ", type " << props.deviceType << ", driver version " << vulkanVersion(props.driverVersion).toString(); } } else { -- cgit v1.2.3 From 4dcc7a3d10a223ddd111eaaac6665609add7c46f Mon Sep 17 00:00:00 2001 From: Topi Reinio <topi.reinio@qt.io> Date: Fri, 6 Dec 2019 10:57:24 +0100 Subject: Add an autotest for QDoc's example manifest file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a test that verifies the content of the examples-manifest.xml, with some metadata, and a QHP namespace defined. Change-Id: I91bc25ee10e1054c823ec1d14cccb6d9c6ca36d9 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> --- tests/auto/qdoc/generatedoutput/examples-qhp.qdocconf | 18 ++++++++++++++++++ .../expected_output/examples-manifest.xml | 9 +++++++++ .../auto/qdoc/generatedoutput/tst_generatedoutput.cpp | 8 ++++++++ 3 files changed, 35 insertions(+) create mode 100644 tests/auto/qdoc/generatedoutput/examples-qhp.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/examples-manifest.xml diff --git a/tests/auto/qdoc/generatedoutput/examples-qhp.qdocconf b/tests/auto/qdoc/generatedoutput/examples-qhp.qdocconf new file mode 100644 index 000000000..816d1d1a4 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/examples-qhp.qdocconf @@ -0,0 +1,18 @@ +# QML test includes a documented example +include(testqml.qdocconf) + +# Configure .qhp generation +qhp.projects = Test + +qhp.Test.file = test.qhp +qhp.Test.namespace = org.qt-project.test.001 +qhp.Test.virtualFolder = test +qhp.Test.indexTitle = UI Components +qhp.Test.indexRoot = + +# Add some meta-data to the example +manifestmeta.filters = test + +manifestmeta.test.names = * +manifestmeta.test.attributes = isTest:true +manifestmeta.test.tags = test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/examples-manifest.xml b/tests/auto/qdoc/generatedoutput/expected_output/examples-manifest.xml new file mode 100644 index 000000000..330923033 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/examples-manifest.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<instructionals module="Test"> + <examples> + <example name="QML Documentation Example" docUrl="qthelp://org.qt-project.test.001/test/test-componentset-example.html" isTest="true"> + <description><![CDATA[No description available]]></description> + <tags>documentation,qml,test</tags> + </example> + </examples> +</instructionals> diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index 17f930981..a705575a8 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -47,6 +47,8 @@ private slots: void webXmlFromQml(); void webXmlFromCppBug80259(); + void examplesManifestXml(); + private: QScopedPointer<QTemporaryDir> m_outputDir; QString m_qdoc; @@ -237,6 +239,12 @@ void tst_generatedOutput::webXmlFromCppBug80259() "html/index.webxml"); } +void tst_generatedOutput::examplesManifestXml() +{ + testAndCompare("examples-qhp.qdocconf", + "examples-manifest.xml"); +} + QTEST_APPLESS_MAIN(tst_generatedOutput) #include "tst_generatedoutput.moc" -- cgit v1.2.3 From 451b545b7f9b72ea3a63ee2f76b84ebdbf6ccd6b Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@qt.io> Date: Fri, 20 Dec 2019 08:50:56 +0100 Subject: rcc.cpp: Use a QMultiHash explicitly if insertMulti() is being used Apply the rcc part from qtbase/c7e35ffe69a73bb144618714313673f0d0c28394 to the copy of the rcc code used in Qt Designer, fixing: shared/rcc.cpp: In member function 'bool RCCResourceLibrary::addFile(const QString&, const RCCFileInfo&)': shared/rcc.cpp:605:47: warning: 'QHash<K, V>::iterator QHash<K, V>::insertMulti(const Key&, const T&) [with Key = QString; T = RCCFileInfo*]' is deprecated: Use QMultiHash for hashes storing multiple values with the same key. [-Wdeprecated-declarations] Change-Id: Ib9989db852a8e0333d508c055c9f2667d65d74e9 Reviewed-by: hjk <hjk@qt.io> --- src/designer/src/lib/shared/rcc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/designer/src/lib/shared/rcc.cpp b/src/designer/src/lib/shared/rcc.cpp index e75b68f0a..050c6f418 100644 --- a/src/designer/src/lib/shared/rcc.cpp +++ b/src/designer/src/lib/shared/rcc.cpp @@ -589,7 +589,7 @@ bool RCCResourceLibrary::addFile(const QString &alias, const RCCFileInfo &file) parent->m_children.insert(node, s); parent = s; } else { - parent = parent->m_children[node]; + parent = *parent->m_children.constFind(node); } } @@ -602,7 +602,7 @@ bool RCCResourceLibrary::addFile(const QString &alias, const RCCFileInfo &file) qPrintable(fileName), qPrintable(filename)); } } - parent->m_children.insertMulti(filename, s); + parent->m_children.insert(filename, s); return true; } -- cgit v1.2.3 From af56d80ca43b0401545b9cd801d31432d1c007b2 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@qt.io> Date: Thu, 2 Jan 2020 09:43:06 +0100 Subject: distancefieldgenerator: Fix deprecation warning Use insert() for m_glyphsPerUnicodeRange, which is a QMultiHash, fixing: distancefieldmodel.cpp:186:59: warning: 'QHash<K, V>::iterator QHash<K, V>::insertMulti(const Key&, const T&) [with Key = DistanceFieldModel::UnicodeRange; T = unsigned int]' is deprecated: Use QMultiHash for hashes storing multiple values with the same key. [-Wdeprecated-declarations] Change-Id: I58488754c67af3c31574a4b657660ac094b188ec Reviewed-by: Lars Knoll <lars.knoll@qt.io> --- src/distancefieldgenerator/distancefieldmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/distancefieldgenerator/distancefieldmodel.cpp b/src/distancefieldgenerator/distancefieldmodel.cpp index aebd86140..e529e65ba 100644 --- a/src/distancefieldgenerator/distancefieldmodel.cpp +++ b/src/distancefieldgenerator/distancefieldmodel.cpp @@ -183,7 +183,7 @@ void DistanceFieldModel::addDistanceField(const QImage &distanceField, if (ucs4 != 0) { UnicodeRange range = unicodeRangeForUcs4(ucs4); - m_glyphsPerUnicodeRange.insertMulti(range, glyphId); + m_glyphsPerUnicodeRange.insert(range, glyphId); m_glyphsPerUcs4.insert(ucs4, glyphId); } -- cgit v1.2.3 From 5997f581bc401f531b96fab5e69696a418ce5669 Mon Sep 17 00:00:00 2001 From: Thibaut Cuvelier <cuvelier.thibaut@gmail.com> Date: Tue, 22 Oct 2019 19:49:25 +0200 Subject: Implement DocBook support for qdoc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The use of this code would be to overhaul the translation project of the documentation in French, for Developpez.com (which is now stuck at Qt 4.7 due to outdated tools: https://qt.developpez.com/doc/). This means that this code will be used and maintained, whatever the decision follows QTBUG-71493, for instance. The DocBook support is not 100% vanilla DocBook, as some tags are missing, but rather an extension (which could be officialised soon: https://github.com/docbook/docbook/issues/111). These tags are used to encode metadata about the code being commented (classes, fields, functions, etc.). More precisely, the required tags are: [enum|macro|namespace|typedef|union][|name|synopsis], enum[value|identifier|item], [specialized]template[id]. These extensions can be enabled by the docbook-extensions parameter. If you want to see the history: https://github.com/dourouc05/qttools/tree/dourouc05-qdoc-docbook Change-Id: I919976d8680b41c5ca69bdb79a0b824c29b89d05 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Martin Smith <martin.smith@qt.io> --- src/qdoc/config.cpp | 2 + src/qdoc/doc/qdoc-manual-qdocconf.qdoc | 5 +- src/qdoc/docbookgenerator.cpp | 4201 ++++++++++++++++++++ src/qdoc/docbookgenerator.h | 167 + src/qdoc/generator.cpp | 7 +- src/qdoc/generator.h | 7 +- src/qdoc/htmlgenerator.cpp | 4 +- src/qdoc/htmlgenerator.h | 2 +- src/qdoc/main.cpp | 2 + src/qdoc/node.h | 2 +- src/qdoc/qdoc.pro | 2 + src/qdoc/qdoccommandlineparser.cpp | 7 +- src/qdoc/qdoccommandlineparser.h | 2 +- src/qdoc/qdocindexfiles.cpp | 2 +- tests/auto/qdoc/generatedoutput/docbook.qdocconf | 3 + .../qdoc/generatedoutput/docbook_test.qdocconf | 2 + .../qdoc/generatedoutput/docbook_testcpp.qdocconf | 2 + .../qdoc/generatedoutput/docbook_testqml.qdocconf | 2 + .../docbook/qdoc-test-qmlmodule.xml | 44 + .../docbook/qdoctests-qdocfileoutput-linking.xml | 16 + .../docbook/qdoctests-qdocfileoutput.xml | 67 + .../expected_output/docbook/qml-int.xml | 14 + .../docbook/qml-qdoc-test-abstractparent.xml | 53 + .../docbook/qml-qdoc-test-child.xml | 53 + .../docbook/qml-qdoc-test-doctest.xml | 76 + .../expected_output/docbook/qml-qdoc-test-type.xml | 155 + .../docbook/qml-uicomponents-progressbar.xml | 94 + .../docbook/qml-uicomponents-switch.xml | 47 + .../docbook/qml-uicomponents-tabwidget.xml | 77 + .../docbook/test-componentset-example.xml | 36 + .../expected_output/docbook/testcpp-module.xml | 43 + .../expected_output/docbook/testqdoc-test.xml | 186 + .../docbook/testqdoc-testderived.xml | 54 + .../expected_output/docbook/testqdoc.xml | 58 + .../docbook/uicomponents-qmlmodule.xml | 34 + .../qdoc/generatedoutput/tst_generatedoutput.cpp | 42 +- 36 files changed, 5553 insertions(+), 17 deletions(-) create mode 100644 src/qdoc/docbookgenerator.cpp create mode 100644 src/qdoc/docbookgenerator.h create mode 100644 tests/auto/qdoc/generatedoutput/docbook.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/docbook_test.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/docbook_testcpp.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/docbook_testqml.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoc-test-qmlmodule.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput-linking.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-int.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-abstractparent.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-child.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-doctest.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-type.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-uicomponents-progressbar.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-uicomponents-switch.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-uicomponents-tabwidget.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/test-componentset-example.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/testcpp-module.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-test.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-testderived.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc.xml create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/docbook/uicomponents-qmlmodule.xml diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp index e7ca42150..b4e3ffc8a 100644 --- a/src/qdoc/config.cpp +++ b/src/qdoc/config.cpp @@ -395,6 +395,8 @@ void Config::processCommandLineOptions(const QStringList &args) Location::startLoggingProgress(); if (m_parser.isSet(m_parser.timestampsOption)) Generator::setUseTimestamps(); + if (m_parser.isSet(m_parser.useDocBookExtensions)) + Generator::setUseDocBookExtensions(); } void Config::setIncludePaths() diff --git a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc index 534c06a74..6f202b09e 100644 --- a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc +++ b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc @@ -963,9 +963,10 @@ The \c outputformats variable specifies the format(s) of the generated documentation. - Since Qt 5.11, QDoc supports the HTML and WebXML formats. If no + Since Qt 5.11, QDoc supports the HTML and WebXML formats; since + Qt 5.15, it can also generate the documentation in DocBook. If no \c outputformats are specified, QDoc generates the documentation - in HTML (the default format). Both output formats can be specified, + in HTML (the default format). All output formats can be specified, with dedicated output directories and other settings. For example: \badcode diff --git a/src/qdoc/docbookgenerator.cpp b/src/qdoc/docbookgenerator.cpp new file mode 100644 index 000000000..0a87b0c3a --- /dev/null +++ b/src/qdoc/docbookgenerator.cpp @@ -0,0 +1,4201 @@ +/**************************************************************************** +** +** Copyright (C) 2019 Thibaut Cuvelier +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <cctype> +#include <qlist.h> +#include <qiterator.h> +#include <qtextcodec.h> +#include <quuid.h> +#include <qurl.h> +#include <qmap.h> +#include <QtCore/qversionnumber.h> + +#include "codemarker.h" +#include "generator.h" +#include "docbookgenerator.h" +#include "node.h" +#include "quoter.h" +#include "qdocdatabase.h" +#include "separator.h" + +QT_BEGIN_NAMESPACE + +static const char dbNamespace[] = "http://docbook.org/ns/docbook"; +static const char xlinkNamespace[] = "http://www.w3.org/1999/xlink"; + +static void newLine(QXmlStreamWriter &writer) +{ + writer.writeCharacters("\n"); +} + +static void startSectionBegin(QXmlStreamWriter &writer) +{ + writer.writeStartElement(dbNamespace, "section"); + newLine(writer); + writer.writeStartElement(dbNamespace, "title"); +} + +static void startSectionBegin(QXmlStreamWriter &writer, const QString &id) +{ + writer.writeStartElement(dbNamespace, "section"); + writer.writeAttribute("xml:id", id); + newLine(writer); + writer.writeStartElement(dbNamespace, "title"); +} + +static void startSectionEnd(QXmlStreamWriter &writer) +{ + writer.writeEndElement(); // title + newLine(writer); +} + +static void startSection(QXmlStreamWriter &writer, const QString &id, const QString &title) +{ + startSectionBegin(writer, id); + writer.writeCharacters(title); + startSectionEnd(writer); +} + +static void endSection(QXmlStreamWriter &writer) +{ + writer.writeEndElement(); // section + newLine(writer); +} + +static void writeAnchor(QXmlStreamWriter &writer, QString id) +{ + writer.writeEmptyElement(dbNamespace, "anchor"); + writer.writeAttribute("xml:id", id); + newLine(writer); +} + +/*! + Initializes the DocBook output generator's data structures + from the configuration class \a config. + */ +void DocBookGenerator::initializeGenerator(const Config &config) +{ + // Excerpts from HtmlGenerator::initializeGenerator. + Generator::initializeGenerator(config); + + project = config.getString(CONFIG_PROJECT); + + projectDescription = config.getString(CONFIG_DESCRIPTION); + if (projectDescription.isEmpty() && !project.isEmpty()) + projectDescription = project + QLatin1String(" Reference Documentation"); + + naturalLanguage = config.getString(CONFIG_NATURALLANGUAGE); + if (naturalLanguage.isEmpty()) + naturalLanguage = QLatin1String("en"); + + buildversion = config.getString(CONFIG_BUILDVERSION); +} + +QString DocBookGenerator::format() +{ + return QStringLiteral("DocBook"); +} + +/*! + Returns "xml" for this subclass of Generator. + */ +QString DocBookGenerator::fileExtension() const +{ + return QStringLiteral("xml"); +} + +/*! + Generate the documentation for \a relative. i.e. \a relative + is the node that represents the entity where a qdoc comment + was found, and \a text represents the qdoc comment. + */ +bool DocBookGenerator::generateText(QXmlStreamWriter &writer, const Text &text, + const Node *relative) +{ + // From Generator::generateText. + if (!text.firstAtom()) + return false; + + int numAtoms = 0; + initializeTextOutput(); + generateAtomList(writer, text.firstAtom(), relative, true, numAtoms); + closeTextSections(writer); + return true; +} + +/*! + Generate the text for \a atom relatively to \a relative. + \a generate indicates if output to \a writer is expected. + The number of generated atoms is returned in the argument + \a numAtoms. The returned value is the first atom that was not + generated. + */ +const Atom *DocBookGenerator::generateAtomList(QXmlStreamWriter &writer, const Atom *atom, + const Node *relative, bool generate, int &numAtoms) +{ + // From Generator::generateAtomList. + while (atom) { + switch (atom->type()) { + case Atom::FormatIf: { + int numAtoms0 = numAtoms; + atom = generateAtomList(writer, atom->next(), relative, generate, numAtoms); + if (!atom) + return nullptr; + + if (atom->type() == Atom::FormatElse) { + ++numAtoms; + atom = generateAtomList(writer, atom->next(), relative, false, numAtoms); + if (!atom) + return nullptr; + } + + if (atom->type() == Atom::FormatEndif) { + if (generate && numAtoms0 == numAtoms) { + relative->location().warning( + tr("Output format %1 not handled %2").arg(format()).arg(outFileName())); + Atom unhandledFormatAtom(Atom::UnhandledFormat, format()); + generateAtomList(writer, &unhandledFormatAtom, relative, generate, numAtoms); + } + atom = atom->next(); + } + } break; + case Atom::FormatElse: + case Atom::FormatEndif: + return atom; + default: + int n = 1; + if (generate) { + n += generateAtom(writer, atom, relative); + numAtoms += n; + } + while (n-- > 0) + atom = atom->next(); + } + } + return nullptr; +} + +/*! + Generate DocBook from an instance of Atom. + */ +int DocBookGenerator::generateAtom(QXmlStreamWriter &writer, const Atom *atom, const Node *relative) +{ + // From HtmlGenerator::generateAtom, without warning generation. + int idx, skipAhead = 0; + static bool inPara = false; + + switch (atom->type()) { + case Atom::AutoLink: + case Atom::NavAutoLink: + if (!inLink && !inContents_ && !inSectionHeading_) { + const Node *node = nullptr; + QString link = getAutoLink(atom, relative, &node); + if (!link.isEmpty() && node && node->status() == Node::Obsolete + && relative->parent() != node && !relative->isObsolete()) { + link.clear(); + } + if (link.isEmpty()) { + writer.writeCharacters(atom->string()); + } else { + beginLink(writer, link, node, relative); + generateLink(writer, atom); + endLink(writer); + } + } else { + writer.writeCharacters(atom->string()); + } + break; + case Atom::BaseName: + break; + case Atom::BriefLeft: + if (!hasBrief(relative)) { + skipAhead = skipAtoms(atom, Atom::BriefRight); + break; + } + writer.writeStartElement(dbNamespace, "para"); + rewritePropertyBrief(atom, relative); + break; + case Atom::BriefRight: + if (hasBrief(relative)) { + writer.writeEndElement(); // para + newLine(writer); + } + break; + case Atom::C: + // This may at one time have been used to mark up C++ code but it is + // now widely used to write teletype text. As a result, text marked + // with the \c command is not passed to a code marker. + writer.writeTextElement(dbNamespace, "code", plainCode(atom->string())); + break; + case Atom::CaptionLeft: + writer.writeStartElement(dbNamespace, "title"); + break; + case Atom::CaptionRight: + endLink(writer); + writer.writeEndElement(); // title + newLine(writer); + break; + case Atom::Qml: + writer.writeStartElement(dbNamespace, "programlisting"); + writer.writeAttribute("language", "qml"); + writer.writeCharacters(atom->string()); + writer.writeEndElement(); // programlisting + newLine(writer); + break; + case Atom::JavaScript: + writer.writeStartElement(dbNamespace, "programlisting"); + writer.writeAttribute("language", "js"); + writer.writeCharacters(atom->string()); + writer.writeEndElement(); // programlisting + newLine(writer); + break; + case Atom::CodeNew: + writer.writeTextElement(dbNamespace, "para", "you can rewrite it as"); + newLine(writer); + writer.writeStartElement(dbNamespace, "programlisting"); + writer.writeAttribute("language", "cpp"); + writer.writeAttribute("role", "new"); + writer.writeCharacters(atom->string()); + writer.writeEndElement(); // programlisting + newLine(writer); + break; + case Atom::Code: + writer.writeStartElement(dbNamespace, "programlisting"); + writer.writeAttribute("language", "cpp"); + writer.writeCharacters(atom->string()); + writer.writeEndElement(); // programlisting + newLine(writer); + break; + case Atom::CodeOld: + writer.writeTextElement(dbNamespace, "para", "For example, if you have code like"); + newLine(writer); + Q_FALLTHROUGH(); + case Atom::CodeBad: + writer.writeStartElement(dbNamespace, "programlisting"); + writer.writeAttribute("language", "cpp"); + writer.writeAttribute("role", "bad"); + writer.writeCharacters(atom->string()); + writer.writeEndElement(); // programlisting + newLine(writer); + break; + case Atom::DivLeft: + case Atom::DivRight: + break; + case Atom::FootnoteLeft: + writer.writeStartElement(dbNamespace, "footnote"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + break; + case Atom::FootnoteRight: + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // footnote + break; + case Atom::FormatElse: + case Atom::FormatEndif: + case Atom::FormatIf: + break; + case Atom::FormattingLeft: + if (atom->string() == ATOM_FORMATTING_BOLD) { + writer.writeStartElement(dbNamespace, "emphasis"); + writer.writeAttribute("role", "bold"); + } else if (atom->string() == ATOM_FORMATTING_ITALIC) { + writer.writeStartElement(dbNamespace, "emphasis"); + } else if (atom->string() == ATOM_FORMATTING_UNDERLINE) { + writer.writeStartElement(dbNamespace, "emphasis"); + writer.writeAttribute("role", "underline"); + } else if (atom->string() == ATOM_FORMATTING_SUBSCRIPT) { + writer.writeStartElement(dbNamespace, "sub"); + } else if (atom->string() == ATOM_FORMATTING_SUPERSCRIPT) { + writer.writeStartElement(dbNamespace, "sup"); + } else if (atom->string() == ATOM_FORMATTING_TELETYPE || atom->string() == ATOM_FORMATTING_PARAMETER) { + writer.writeStartElement(dbNamespace, "code"); + + if (atom->string() == ATOM_FORMATTING_PARAMETER) + writer.writeAttribute("role", "parameter"); + } + break; + case Atom::FormattingRight: + if (atom->string() == ATOM_FORMATTING_BOLD || atom->string() == ATOM_FORMATTING_ITALIC + || atom->string() == ATOM_FORMATTING_UNDERLINE + || atom->string() == ATOM_FORMATTING_SUBSCRIPT + || atom->string() == ATOM_FORMATTING_SUPERSCRIPT + || atom->string() == ATOM_FORMATTING_TELETYPE + || atom->string() == ATOM_FORMATTING_PARAMETER) { + writer.writeEndElement(); + } + if (atom->string() == ATOM_FORMATTING_LINK) + endLink(writer); + break; + case Atom::AnnotatedList: + if (const CollectionNode *cn = qdb_->getCollectionNode(atom->string(), Node::Group)) + generateList(writer, cn, atom->string()); + break; + case Atom::GeneratedList: + if (atom->string() == QLatin1String("annotatedclasses") + || atom->string() == QLatin1String("attributions") + || atom->string() == QLatin1String("namespaces")) { + const NodeMultiMap things = atom->string() == QLatin1String("annotatedclasses") + ? qdb_->getCppClasses() + : atom->string() == QLatin1String("attributions") ? qdb_->getAttributions() + : qdb_->getNamespaces(); + generateAnnotatedList(writer, relative, things, atom->string()); + } else if (atom->string() == QLatin1String("annotatedexamples") + || atom->string() == QLatin1String("annotatedattributions")) { + const NodeMultiMap things = atom->string() == QLatin1String("annotatedexamples") + ? qdb_->getAttributions() + : qdb_->getExamples(); + generateAnnotatedLists(writer, relative, things, atom->string()); + } else if (atom->string() == QLatin1String("classes") + || atom->string() == QLatin1String("qmlbasictypes") + || atom->string() == QLatin1String("qmltypes")) { + const NodeMultiMap things = atom->string() == QLatin1String("classes") + ? qdb_->getCppClasses() + : atom->string() == QLatin1String("qmlbasictypes") ? qdb_->getQmlBasicTypes() + : qdb_->getQmlTypes(); + generateCompactList(writer, Generic, relative, things, QString(), atom->string()); + } else if (atom->string().contains("classes ")) { + QString rootName = atom->string().mid(atom->string().indexOf("classes") + 7).trimmed(); + generateCompactList(writer, Generic, relative, qdb_->getCppClasses(), rootName, + atom->string()); + } else if ((idx = atom->string().indexOf(QStringLiteral("bymodule"))) != -1) { + QString moduleName = atom->string().mid(idx + 8).trimmed(); + Node::NodeType type = typeFromString(atom); + QDocDatabase *qdb = QDocDatabase::qdocDB(); + if (const CollectionNode *cn = qdb->getCollectionNode(moduleName, type)) { + if (type == Node::Module) { + NodeMap m; + cn->getMemberClasses(m); + if (!m.isEmpty()) + generateAnnotatedList(writer, relative, m, atom->string()); + } else { + generateAnnotatedList(writer, relative, cn->members(), atom->string()); + } + } + } else if (atom->string().startsWith("examplefiles") + || atom->string().startsWith("exampleimages")) { + if (relative->isExample()) + qDebug() << "GENERATE FILE LIST CALLED" << relative->name() << atom->string(); + } else if (atom->string() == QLatin1String("classhierarchy")) { + generateClassHierarchy(writer, relative, qdb_->getCppClasses()); + } else if (atom->string().startsWith("obsolete")) { + ListType type = atom->string().endsWith("members") ? Obsolete : Generic; + QString prefix = atom->string().contains("cpp") ? QStringLiteral("Q") : QString(); + const NodeMultiMap &things = atom->string() == QLatin1String("obsoleteclasses") + ? qdb_->getObsoleteClasses() + : atom->string() == QLatin1String("obsoleteqmltypes") + ? qdb_->getObsoleteQmlTypes() + : atom->string() == QLatin1String("obsoletecppmembers") + ? qdb_->getClassesWithObsoleteMembers() + : qdb_->getQmlTypesWithObsoleteMembers(); + generateCompactList(writer, type, relative, things, prefix, atom->string()); + } else if (atom->string() == QLatin1String("functionindex")) { + generateFunctionIndex(writer, relative); + } else if (atom->string() == QLatin1String("legalese")) { + generateLegaleseList(writer, relative); + } else if (atom->string() == QLatin1String("overviews") + || atom->string() == QLatin1String("cpp-modules") + || atom->string() == QLatin1String("qml-modules") + || atom->string() == QLatin1String("related")) { + generateList(writer, relative, atom->string()); + } + break; + case Atom::SinceList: + // Table of contents, should automatically be generated by the DocBook processor. + break; + case Atom::LineBreak: + case Atom::BR: + case Atom::HR: + // Not supported in DocBook. + break; + case Atom::Image: // mediaobject + case Atom::InlineImage: { // inlinemediaobject + QString tag = atom->type() == Atom::Image ? "mediaobject" : "inlinemediaobject"; + writer.writeStartElement(dbNamespace, tag); + newLine(writer); + + QString fileName = imageFileName(relative, atom->string()); + if (fileName.isEmpty()) { + writer.writeStartElement(dbNamespace, "textobject"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + writer.writeTextElement(dbNamespace, "emphasis", + "[Missing image " + atom->string() + "]"); + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // textobject + newLine(writer); + } else { + if (atom->next() && !atom->next()->string().isEmpty()) + writer.writeTextElement(dbNamespace, "alt", atom->next()->string()); + + writer.writeStartElement(dbNamespace, "imageobject"); + newLine(writer); + writer.writeEmptyElement(dbNamespace, "imagedata"); + writer.writeAttribute("fileref", fileName); + newLine(writer); + writer.writeEndElement(); // imageobject + newLine(writer); + + setImageFileName(relative, fileName); + } + + writer.writeEndElement(); // [inline]mediaobject + if (atom->type() == Atom::Image) + newLine(writer); + } break; + case Atom::ImageText: + break; + case Atom::ImportantLeft: + case Atom::NoteLeft: { + QString tag = atom->type() == Atom::ImportantLeft ? "important" : "note"; + writer.writeStartElement(dbNamespace, tag); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + } break; + case Atom::ImportantRight: + case Atom::NoteRight: + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // note/important + newLine(writer); + break; + case Atom::LegaleseLeft: + case Atom::LegaleseRight: + break; + case Atom::Link: + case Atom::NavLink: { + const Node *node = nullptr; + QString link = getLink(atom, relative, &node); + beginLink(writer, link, node, relative); // Ended at Atom::FormattingRight + skipAhead = 1; + } break; + case Atom::LinkNode: { + const Node *node = CodeMarker::nodeForString(atom->string()); + beginLink(writer, linkForNode(node, relative), node, relative); + skipAhead = 1; + } break; + case Atom::ListLeft: + if (inPara) { + writer.writeEndElement(); // para + newLine(writer); + inPara = false; + } + if (atom->string() == ATOM_LIST_BULLET) { + writer.writeStartElement(dbNamespace, "itemizedlist"); + newLine(writer); + } else if (atom->string() == ATOM_LIST_TAG) { + writer.writeStartElement(dbNamespace, "variablelist"); + newLine(writer); + } else if (atom->string() == ATOM_LIST_VALUE) { + writer.writeStartElement(dbNamespace, "informaltable"); + newLine(writer); + writer.writeStartElement(dbNamespace, "thead"); + newLine(writer); + writer.writeStartElement(dbNamespace, "tr"); + newLine(writer); + writer.writeTextElement(dbNamespace, "th", "Constant"); + newLine(writer); + + threeColumnEnumValueTable_ = isThreeColumnEnumValueTable(atom); + if (threeColumnEnumValueTable_ && relative->nodeType() == Node::Enum) { + // If not in \enum topic, skip the value column + writer.writeTextElement(dbNamespace, "th", "Value"); + newLine(writer); + } + + writer.writeTextElement(dbNamespace, "th", "Description"); + newLine(writer); + + writer.writeEndElement(); // tr + newLine(writer); + writer.writeEndElement(); // thead + newLine(writer); + } else { + writer.writeStartElement(dbNamespace, "orderedlist"); + + if (atom->next() != nullptr && atom->next()->string().toInt() > 1) + writer.writeAttribute("startingnumber", atom->next()->string()); + + if (atom->string() == ATOM_LIST_UPPERALPHA) + writer.writeAttribute("numeration", "upperalpha"); + else if (atom->string() == ATOM_LIST_LOWERALPHA) + writer.writeAttribute("numeration", "loweralpha"); + else if (atom->string() == ATOM_LIST_UPPERROMAN) + writer.writeAttribute("numeration", "upperroman"); + else if (atom->string() == ATOM_LIST_LOWERROMAN) + writer.writeAttribute("numeration", "lowerroman"); + else // (atom->string() == ATOM_LIST_NUMERIC) + writer.writeAttribute("numeration", "arabic"); + + newLine(writer); + } + break; + case Atom::ListItemNumber: + break; + case Atom::ListTagLeft: + if (atom->string() == ATOM_LIST_TAG) { + writer.writeStartElement(dbNamespace, "varlistentry"); + newLine(writer); + writer.writeStartElement(dbNamespace, "item"); + } else { // (atom->string() == ATOM_LIST_VALUE) + QPair<QString, int> pair = getAtomListValue(atom); + skipAhead = pair.second; + + writer.writeStartElement(dbNamespace, "tr"); + newLine(writer); + writer.writeStartElement(dbNamespace, "td"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + generateEnumValue(writer, pair.first, relative); + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // td + newLine(writer); + + if (relative->nodeType() == Node::Enum) { + const auto enume = static_cast<const EnumNode *>(relative); + QString itemValue = enume->itemValue(atom->next()->string()); + + writer.writeStartElement(dbNamespace, "td"); + if (itemValue.isEmpty()) + writer.writeCharacters("?"); + else + writer.writeTextElement(dbNamespace, "code", itemValue); + writer.writeEndElement(); // td + newLine(writer); + } + } + break; + case Atom::SinceTagRight: + case Atom::ListTagRight: + if (atom->string() == ATOM_LIST_TAG) { + writer.writeEndElement(); // item + newLine(writer); + } + break; + case Atom::ListItemLeft: + inListItemLineOpen = false; + if (atom->string() == ATOM_LIST_TAG) { + writer.writeStartElement(dbNamespace, "listitem"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + } else if (atom->string() == ATOM_LIST_VALUE) { + if (threeColumnEnumValueTable_) { + if (matchAhead(atom, Atom::ListItemRight)) { + writer.writeEmptyElement(dbNamespace, "td"); + newLine(writer); + inListItemLineOpen = false; + } else { + writer.writeStartElement(dbNamespace, "td"); + newLine(writer); + inListItemLineOpen = true; + } + } + } else { + writer.writeStartElement(dbNamespace, "listitem"); + newLine(writer); + } + // Don't skip a paragraph, DocBook requires them within list items. + break; + case Atom::ListItemRight: + if (atom->string() == ATOM_LIST_TAG) { + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // listitem + newLine(writer); + writer.writeEndElement(); // varlistentry + newLine(writer); + } else if (atom->string() == ATOM_LIST_VALUE) { + if (inListItemLineOpen) { + writer.writeEndElement(); // td + newLine(writer); + inListItemLineOpen = false; + } + writer.writeEndElement(); // tr + newLine(writer); + } else { + writer.writeEndElement(); // listitem + newLine(writer); + } + break; + case Atom::ListRight: + // Depending on atom->string(), closing a different item: + // - ATOM_LIST_BULLET: itemizedlist + // - ATOM_LIST_TAG: variablelist + // - ATOM_LIST_VALUE: informaltable + // - ATOM_LIST_NUMERIC: orderedlist + writer.writeEndElement(); + newLine(writer); + break; + case Atom::Nop: + break; + case Atom::ParaLeft: + writer.writeStartElement(dbNamespace, "para"); + inPara = true; + break; + case Atom::ParaRight: + endLink(writer); + if (inPara) { + writer.writeEndElement(); // para + newLine(writer); + inPara = false; + } + break; + case Atom::QuotationLeft: + writer.writeStartElement(dbNamespace, "blockquote"); + inPara = true; + break; + case Atom::QuotationRight: + writer.writeEndElement(); // blockquote + newLine(writer); + break; + case Atom::RawString: + writer.writeCharacters(atom->string()); + break; + case Atom::SectionLeft: + currentSectionLevel = atom->string().toInt() + hOffset(relative); + // Level 1 is dealt with at the header level (info tag). + if (currentSectionLevel > 1) { + // Unfortunately, SectionRight corresponds to the end of any section, + // i.e. going to a new section, even deeper. + while (!sectionLevels.empty() && sectionLevels.top() >= currentSectionLevel) { + sectionLevels.pop(); + writer.writeEndElement(); // section + newLine(writer); + } + + sectionLevels.push(currentSectionLevel); + + writer.writeStartElement(dbNamespace, "section"); + writer.writeAttribute("xml:id", Doc::canonicalTitle(Text::sectionHeading(atom).toString())); + newLine(writer); + // Unlike startSectionBegin, don't start a title here. + } + break; + case Atom::SectionRight: + // All the logic about closing sections is done in the SectionLeft case + // and generateFooter() for the end of the page. + break; + case Atom::SectionHeadingLeft: + // Level 1 is dealt with at the header level (info tag). + if (currentSectionLevel > 1) { + writer.writeStartElement(dbNamespace, "title"); + inSectionHeading_ = true; + } + break; + case Atom::SectionHeadingRight: + // Level 1 is dealt with at the header level (info tag). + if (currentSectionLevel > 1) { + writer.writeEndElement(); // title + newLine(writer); + inSectionHeading_ = false; + } + break; + case Atom::SidebarLeft: + writer.writeStartElement(dbNamespace, "sidebar"); + break; + case Atom::SidebarRight: + writer.writeEndElement(); // sidebar + newLine(writer); + break; + case Atom::String: + if (inLink && !inContents_ && !inSectionHeading_) + generateLink(writer, atom); + else + writer.writeCharacters(atom->string()); + break; + case Atom::TableLeft: { + QPair<QString, QString> pair = getTableWidthAttr(atom); + QString attr = pair.second; + QString width = pair.first; + + if (inPara) { + writer.writeEndElement(); // para or blockquote + newLine(writer); + inPara = false; + } + + writer.writeStartElement(dbNamespace, "informaltable"); + writer.writeAttribute("style", attr); + if (!width.isEmpty()) + writer.writeAttribute("width", width); + newLine(writer); + numTableRows_ = 0; + } break; + case Atom::TableRight: + writer.writeEndElement(); // table + newLine(writer); + break; + case Atom::TableHeaderLeft: + writer.writeStartElement(dbNamespace, "thead"); + newLine(writer); + writer.writeStartElement(dbNamespace, "tr"); + newLine(writer); + inTableHeader_ = true; + break; + case Atom::TableHeaderRight: + writer.writeEndElement(); // tr + newLine(writer); + if (matchAhead(atom, Atom::TableHeaderLeft)) { + skipAhead = 1; + writer.writeStartElement(dbNamespace, "tr"); + newLine(writer); + } else { + writer.writeEndElement(); // thead + newLine(writer); + inTableHeader_ = false; + } + break; + case Atom::TableRowLeft: + writer.writeStartElement(dbNamespace, "tr"); + if (atom->string().isEmpty()) { + writer.writeAttribute("valign", "top"); + } else { + // Basic parsing of attributes, should be enough. The input string (atom->string()) + // looks like: + // arg1="val1" arg2="val2" + QStringList args = atom->string().split("\"", Qt::SkipEmptyParts); + // arg1=, val1, arg2=, val2, + // \-- 1st --/ \-- 2nd --/ \-- remainder + if (args.size() % 2) { + // Problem... + relative->doc().location().warning( + tr("Error when parsing attributes for the table: got \"%1\"") + .arg(atom->string())); + } + for (int i = 0; i + 1 < args.size(); i += 2) + writer.writeAttribute(args.at(i).chopped(1), args.at(i + 1)); + } + newLine(writer); + break; + case Atom::TableRowRight: + writer.writeEndElement(); // tr + newLine(writer); + break; + case Atom::TableItemLeft: + writer.writeStartElement(dbNamespace, inTableHeader_ ? "th" : "td"); + + for (int i = 0; i < atom->count(); ++i) { + const QString &p = atom->string(i); + if (p.contains('=')) { + QStringList lp = p.split(QLatin1Char('=')); + writer.writeAttribute(lp.at(0), lp.at(1)); + } else { + QStringList spans = p.split(QLatin1Char(',')); + if (spans.size() == 2) { + if (spans.at(0) != "1") + writer.writeAttribute("colspan", spans.at(0)); + if (spans.at(1) != "1") + writer.writeAttribute("rowspan", spans.at(1)); + } + } + } + newLine(writer); + // No skipahead, as opposed to HTML: in DocBook, the text must be wrapped in paragraphs. + break; + case Atom::TableItemRight: + writer.writeEndElement(); // th if inTableHeader_, otherwise td + newLine(writer); + break; + case Atom::TableOfContents: + break; + case Atom::Keyword: + break; + case Atom::Target: + writeAnchor(writer, Doc::canonicalTitle(atom->string())); + break; + case Atom::UnhandledFormat: + writer.writeStartElement(dbNamespace, "emphasis"); + writer.writeAttribute("role", "bold"); + writer.writeCharacters("<Missing DocBook>"); + writer.writeEndElement(); // emphasis + break; + case Atom::UnknownCommand: + writer.writeStartElement(dbNamespace, "emphasis"); + writer.writeAttribute("role", "bold"); + writer.writeCharacters("<Unknown command>"); + writer.writeStartElement(dbNamespace, "code"); + writer.writeCharacters(atom->string()); + writer.writeEndElement(); // code + writer.writeEndElement(); // emphasis + break; + case Atom::QmlText: + case Atom::EndQmlText: + // don't do anything with these. They are just tags. + break; + case Atom::CodeQuoteArgument: + case Atom::CodeQuoteCommand: + case Atom::SnippetCommand: + case Atom::SnippetIdentifier: + case Atom::SnippetLocation: + // no output (ignore) + break; + default: + unknownAtom(atom); + } + return skipAhead; +} + +void DocBookGenerator::generateClassHierarchy(QXmlStreamWriter &writer, const Node *relative, + NodeMap &classMap) +{ + // From HtmlGenerator::generateClassHierarchy. + if (classMap.isEmpty()) + return; + + NodeMap topLevel; + NodeMap::Iterator c = classMap.begin(); + while (c != classMap.end()) { + auto *classe = static_cast<ClassNode *>(*c); + if (classe->baseClasses().isEmpty()) + topLevel.insert(classe->name(), classe); + ++c; + } + + QStack<NodeMap> stack; + stack.push(topLevel); + + writer.writeStartElement(dbNamespace, "itemizedlist"); + newLine(writer); + while (!stack.isEmpty()) { + if (stack.top().isEmpty()) { + stack.pop(); + writer.writeEndElement(); // listitem + newLine(writer); + writer.writeEndElement(); // itemizedlist + newLine(writer); + } else { + ClassNode *child = static_cast<ClassNode *>(*stack.top().begin()); + writer.writeStartElement(dbNamespace, "listitem"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + generateFullName(writer, child, relative); + writer.writeEndElement(); // para + newLine(writer); + // Don't close the listitem now, as DocBook requires sublists to reside in items. + stack.top().erase(stack.top().begin()); + + NodeMap newTop; + for (const RelatedClass &d : child->derivedClasses()) { + if (d.node_ && !d.isPrivate() && !d.node_->isInternal() && d.node_->hasDoc()) + newTop.insert(d.node_->name(), d.node_); + } + if (!newTop.isEmpty()) { + stack.push(newTop); + writer.writeStartElement(dbNamespace, "itemizedlist"); + newLine(writer); + } + } + } +} + +void DocBookGenerator::generateLink(QXmlStreamWriter &writer, const Atom *atom) +{ + // From HtmlGenerator::generateLink. + QRegExp funcLeftParen("\\S(\\()"); + if (funcLeftParen.indexIn(atom->string()) != -1) { + // hack for C++: move () outside of link + int k = funcLeftParen.pos(1); + writer.writeCharacters(atom->string().left(k)); + writer.writeEndElement(); // link + inLink = false; + writer.writeCharacters(atom->string().mid(k)); + } else { + writer.writeCharacters(atom->string()); + } +} + +/*! + This version of the function is called when the \a link is known + to be correct. + */ +void DocBookGenerator::beginLink(QXmlStreamWriter &writer, const QString &link, const Node *node, + const Node *relative) +{ + // From HtmlGenerator::beginLink. + writer.writeStartElement(dbNamespace, "link"); + writer.writeAttribute(xlinkNamespace, "href", link); + if (node && !(relative && node->status() == relative->status()) + && node->status() == Node::Obsolete) + writer.writeAttribute("role", "obsolete"); + inLink = true; +} + +void DocBookGenerator::endLink(QXmlStreamWriter &writer) +{ + // From HtmlGenerator::endLink. + if (inLink) + writer.writeEndElement(); // link + inLink = false; +} + +void DocBookGenerator::generateList(QXmlStreamWriter &writer, const Node *relative, + const QString &selector) +{ + // From HtmlGenerator::generateList, without warnings, changing prototype. + CNMap cnm; + Node::NodeType type = Node::NoType; + if (selector == QLatin1String("overviews")) + type = Node::Group; + else if (selector == QLatin1String("cpp-modules")) + type = Node::Module; + else if (selector == QLatin1String("qml-modules")) + type = Node::QmlModule; + else if (selector == QLatin1String("js-modules")) + type = Node::JsModule; + + if (type != Node::NoType) { + NodeList nodeList; + qdb_->mergeCollections(type, cnm, relative); + const QList<CollectionNode *> collectionList = cnm.values(); + nodeList.reserve(collectionList.size()); + for (auto *collectionNode : collectionList) + nodeList.append(collectionNode); + generateAnnotatedList(writer, relative, nodeList, selector); + } else { + /* + \generatelist {selector} is only allowed in a + comment where the topic is \group, \module, + \qmlmodule, or \jsmodule + */ + Node *n = const_cast<Node *>(relative); + auto *cn = static_cast<CollectionNode *>(n); + qdb_->mergeCollections(cn); + generateAnnotatedList(writer, cn, cn->members(), selector); + } +} + +/*! + Output an annotated list of the nodes in \a nodeMap. + A two-column table is output. + */ +void DocBookGenerator::generateAnnotatedList(QXmlStreamWriter &writer, const Node *relative, + const NodeMultiMap &nmm, const QString &selector) +{ + // From HtmlGenerator::generateAnnotatedList + if (nmm.isEmpty()) + return; + generateAnnotatedList(writer, relative, nmm.values(), selector); +} + +void DocBookGenerator::generateAnnotatedList(QXmlStreamWriter &writer, const Node *relative, + const NodeList &nodeList, const QString &selector) +{ + // From WebXMLGenerator::generateAnnotatedList. + writer.writeStartElement(dbNamespace, "variablelist"); + writer.writeAttribute("role", selector); + newLine(writer); + + for (auto node : nodeList) { + writer.writeStartElement(dbNamespace, "varlistentry"); + newLine(writer); + writer.writeStartElement(dbNamespace, "term"); + generateFullName(writer, node, relative); + writer.writeEndElement(); // term + newLine(writer); + + writer.writeStartElement(dbNamespace, "listitem"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + writer.writeCharacters(node->doc().briefText().toString()); + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // listitem + newLine(writer); + writer.writeEndElement(); // varlistentry + newLine(writer); + } + writer.writeEndElement(); // variablelist + newLine(writer); +} + +/*! + Outputs a series of annotated lists from the nodes in \a nmm, + divided into sections based by the key names in the multimap. + */ +void DocBookGenerator::generateAnnotatedLists(QXmlStreamWriter &writer, const Node *relative, + const NodeMultiMap &nmm, const QString &selector) +{ + // From HtmlGenerator::generateAnnotatedLists. + for (const QString &name : nmm.uniqueKeys()) { + if (!name.isEmpty()) + startSection(writer, registerRef(name.toLower()), name); + generateAnnotatedList(writer, relative, nmm.values(name), selector); + if (!name.isEmpty()) + endSection(writer); + } +} + +/*! + This function finds the common prefix of the names of all + the classes in the class map \a nmm and then generates a + compact list of the class names alphabetized on the part + of the name not including the common prefix. You can tell + the function to use \a comonPrefix as the common prefix, + but normally you let it figure it out itself by looking at + the name of the first and last classes in the class map + \a nmm. + */ +void DocBookGenerator::generateCompactList(QXmlStreamWriter &writer, ListType listType, + const Node *relative, const NodeMultiMap &nmm, + const QString &commonPrefix, const QString &selector) +{ + // From HtmlGenerator::generateCompactList. No more "includeAlphabet", this should be handled by + // the DocBook toolchain afterwards. + // TODO: In DocBook, probably no need for this method: this is purely presentational, i.e. to be + // fully handled by the DocBook toolchain. + if (nmm.isEmpty()) + return; + + const int NumParagraphs = 37; // '0' to '9', 'A' to 'Z', '_' + int commonPrefixLen = commonPrefix.length(); + + /* + Divide the data into 37 paragraphs: 0, ..., 9, A, ..., Z, + underscore (_). QAccel will fall in paragraph 10 (A) and + QXtWidget in paragraph 33 (X). This is the only place where we + assume that NumParagraphs is 37. Each paragraph is a NodeMultiMap. + */ + NodeMultiMap paragraph[NumParagraphs + 1]; + QString paragraphName[NumParagraphs + 1]; + QSet<char> usedParagraphNames; + + NodeMultiMap::ConstIterator c = nmm.constBegin(); + while (c != nmm.constEnd()) { + QStringList pieces = c.key().split("::"); + QString key; + int idx = commonPrefixLen; + if (idx > 0 && !pieces.last().startsWith(commonPrefix, Qt::CaseInsensitive)) + idx = 0; + key = pieces.last().mid(idx).toLower(); + + int paragraphNr = NumParagraphs - 1; + + if (key[0].digitValue() != -1) + paragraphNr = key[0].digitValue(); + else if (key[0] >= QLatin1Char('a') && key[0] <= QLatin1Char('z')) + paragraphNr = 10 + key[0].unicode() - 'a'; + + paragraphName[paragraphNr] = key[0].toUpper(); + usedParagraphNames.insert(key[0].toLower().cell()); + paragraph[paragraphNr].insert(c.key(), c.value()); + ++c; + } + + /* + Each paragraph j has a size: paragraph[j].count(). In the + discussion, we will assume paragraphs 0 to 5 will have sizes + 3, 1, 4, 1, 5, 9. + + We now want to compute the paragraph offset. Paragraphs 0 to 6 + start at offsets 0, 3, 4, 8, 9, 14, 23. + */ + int paragraphOffset[NumParagraphs + 1]; // 37 + 1 + paragraphOffset[0] = 0; + for (int i = 0; i < NumParagraphs; i++) // i = 0..36 + paragraphOffset[i + 1] = paragraphOffset[i] + paragraph[i].count(); + + // No table of contents in DocBook. + + // Actual output. + numTableRows_ = 0; + + int curParNr = 0; + int curParOffset = 0; + QString previousName; + bool multipleOccurrences = false; + + for (int i = 0; i < nmm.count(); i++) { + while ((curParNr < NumParagraphs) && (curParOffset == paragraph[curParNr].count())) { + ++curParNr; + curParOffset = 0; + } + + /* + Starting a new paragraph means starting a new variablelist. + */ + if (curParOffset == 0) { + if (i > 0) { + writer.writeEndElement(); // variablelist + newLine(writer); + } + + writer.writeStartElement(dbNamespace, "variablelist"); + writer.writeAttribute("role", selector); + newLine(writer); + writer.writeStartElement(dbNamespace, "varlistentry"); + newLine(writer); + + writer.writeStartElement(dbNamespace, "term"); + writer.writeStartElement(dbNamespace, "emphasis"); + writer.writeAttribute("role", "bold"); + writer.writeCharacters(paragraphName[curParNr]); + writer.writeEndElement(); // emphasis + writer.writeEndElement(); // term + newLine(writer); + } + + /* + Output a listitem for the current offset in the current paragraph. + */ + writer.writeStartElement(dbNamespace, "listitem"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + if ((curParNr < NumParagraphs) && !paragraphName[curParNr].isEmpty()) { + NodeMultiMap::Iterator it; + NodeMultiMap::Iterator next; + it = paragraph[curParNr].begin(); + for (int j = 0; j < curParOffset; j++) + ++it; + + if (listType == Generic) { + generateFullName(writer, it.value(), relative); + writer.writeStartElement(dbNamespace, "link"); + writer.writeAttribute(xlinkNamespace, "href", fullDocumentLocation(*it)); + writer.writeAttribute("type", targetType(it.value())); + } else if (listType == Obsolete) { + QString fn = fileName(it.value(), fileExtension()); + QString link; + if (useOutputSubdirs()) + link = QString("../" + it.value()->outputSubdirectory() + QLatin1Char('/')); + link += fn; + + writer.writeStartElement(dbNamespace, "link"); + writer.writeAttribute(xlinkNamespace, "href", link); + writer.writeAttribute("type", targetType(it.value())); + } + + QStringList pieces; + if (it.value()->isQmlType() || it.value()->isJsType()) { + QString name = it.value()->name(); + next = it; + ++next; + if (name != previousName) + multipleOccurrences = false; + if ((next != paragraph[curParNr].end()) && (name == next.value()->name())) { + multipleOccurrences = true; + previousName = name; + } + if (multipleOccurrences) + name += ": " + it.value()->tree()->camelCaseModuleName(); + pieces << name; + } else + pieces = it.value()->fullName(relative).split("::"); + + writer.writeCharacters(pieces.last()); + writer.writeEndElement(); // link + + if (pieces.size() > 1) { + writer.writeCharacters(" ("); + generateFullName(writer, it.value()->parent(), relative); + writer.writeCharacters(")"); + } + } + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // listitem + newLine(writer); + writer.writeEndElement(); // varlistentry + newLine(writer); + curParOffset++; + } + if (nmm.count() > 0) { + writer.writeEndElement(); // variablelist + } +} + +void DocBookGenerator::generateFunctionIndex(QXmlStreamWriter &writer, const Node *relative) +{ + // From HtmlGenerator::generateFunctionIndex. + writer.writeStartElement(dbNamespace, "simplelist"); + writer.writeAttribute("role", "functionIndex"); + newLine(writer); + for (int i = 0; i < 26; i++) { + QChar ch('a' + i); + writer.writeStartElement(dbNamespace, "member"); + writer.writeAttribute(xlinkNamespace, "href", QString("#") + ch); + writer.writeCharacters(ch.toUpper()); + writer.writeEndElement(); // member + newLine(writer); + } + writer.writeEndElement(); // simplelist + newLine(writer); + + char nextLetter = 'a'; + char currentLetter; + + writer.writeStartElement(dbNamespace, "itemizedlist"); + newLine(writer); + + NodeMapMap &funcIndex = qdb_->getFunctionIndex(); + QMap<QString, NodeMap>::ConstIterator f = funcIndex.constBegin(); + while (f != funcIndex.constEnd()) { + writer.writeStartElement(dbNamespace, "listitem"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + writer.writeCharacters(f.key() + ": "); + + currentLetter = f.key()[0].unicode(); + while (islower(currentLetter) && currentLetter >= nextLetter) { + writeAnchor(writer, QString(nextLetter)); + nextLetter++; + } + + NodeMap::ConstIterator s = (*f).constBegin(); + while (s != (*f).constEnd()) { + writer.writeCharacters(" "); + generateFullName(writer, (*s)->parent(), relative); + ++s; + } + + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // listitem + newLine(writer); + ++f; + } + writer.writeEndElement(); // itemizedlist + newLine(writer); +} + +void DocBookGenerator::generateLegaleseList(QXmlStreamWriter &writer, const Node *relative) +{ + // From HtmlGenerator::generateLegaleseList. + TextToNodeMap &legaleseTexts = qdb_->getLegaleseTexts(); + QMap<Text, const Node *>::ConstIterator it = legaleseTexts.constBegin(); + while (it != legaleseTexts.constEnd()) { + Text text = it.key(); + generateText(writer, text, relative); + writer.writeStartElement(dbNamespace, "itemizedlist"); + newLine(writer); + do { + writer.writeStartElement(dbNamespace, "listitem"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + generateFullName(writer, it.value(), relative); + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // listitem + newLine(writer); + ++it; + } while (it != legaleseTexts.constEnd() && it.key() == text); + writer.writeEndElement(); // itemizedlist + newLine(writer); + } +} + +void DocBookGenerator::generateBrief(QXmlStreamWriter &writer, const Node *node) +{ + // From HtmlGenerator::generateBrief. Also see generateHeader, which is specifically dealing + // with the DocBook header (and thus wraps the brief in an abstract). + Text brief = node->doc().briefText(); + + if (!brief.isEmpty()) { + if (!brief.lastAtom()->string().endsWith('.')) + brief << Atom(Atom::String, "."); + + writer.writeStartElement(dbNamespace, "para"); + generateText(writer, brief, node); + writer.writeEndElement(); // para + newLine(writer); + } +} + +bool DocBookGenerator::generateSince(QXmlStreamWriter &writer, const Node *node) +{ + // From Generator::generateSince. + if (!node->since().isEmpty()) { + writer.writeStartElement(dbNamespace, "para"); + writer.writeCharacters("This " + typeString(node) + " was introduced"); + if (node->nodeType() == Node::Enum) + writer.writeCharacters(" or modified"); + writer.writeCharacters(" in " + formatSince(node) + "."); + writer.writeEndElement(); // para + newLine(writer); + + return true; + } + + return false; +} + +void DocBookGenerator::generateHeader(QXmlStreamWriter &writer, const QString &title, + const QString &subTitle, const Node *node) +{ + // From HtmlGenerator::generateHeader. + refMap.clear(); + + // Output the DocBook header. + writer.writeStartElement(dbNamespace, "info"); + newLine(writer); + writer.writeTextElement(dbNamespace, "title", title); + newLine(writer); + + if (!subTitle.isEmpty()) { + writer.writeTextElement(dbNamespace, "subtitle", subTitle); + newLine(writer); + } + + if (!project.isEmpty()) { + writer.writeTextElement(dbNamespace, "productname", project); + newLine(writer); + } + + if (!buildversion.isEmpty()) { + writer.writeTextElement(dbNamespace, "edition", buildversion); + newLine(writer); + } + + if (!projectDescription.isEmpty()) { + writer.writeTextElement(dbNamespace, "titleabbrev", projectDescription); + newLine(writer); + } + + // Deal with links. + // Adapted from HtmlGenerator::generateHeader (output part: no need to update a navigationLinks + // or useSeparator field, as this content is only output in the info tag, not in the main + // content). + if (node && !node->links().empty()) { + QPair<QString, QString> linkPair; + QPair<QString, QString> anchorPair; + const Node *linkNode; + + if (node->links().contains(Node::PreviousLink)) { + linkPair = node->links()[Node::PreviousLink]; + linkNode = qdb_->findNodeForTarget(linkPair.first, node); + if (!linkNode || linkNode == node) + anchorPair = linkPair; + else + anchorPair = anchorForNode(linkNode); + + writer.writeStartElement(dbNamespace, "extendedlink"); + writer.writeEmptyElement(dbNamespace, "link"); + writer.writeAttribute(xlinkNamespace, "to", anchorPair.first); + writer.writeAttribute(xlinkNamespace, "title", "prev"); + if (linkPair.first == linkPair.second && !anchorPair.second.isEmpty()) + writer.writeAttribute(xlinkNamespace, "label", anchorPair.second); + else + writer.writeAttribute(xlinkNamespace, "label", linkPair.second); + writer.writeEndElement(); // extendedlink + } + if (node->links().contains(Node::NextLink)) { + linkPair = node->links()[Node::NextLink]; + linkNode = qdb_->findNodeForTarget(linkPair.first, node); + if (!linkNode || linkNode == node) + anchorPair = linkPair; + else + anchorPair = anchorForNode(linkNode); + + writer.writeStartElement(dbNamespace, "extendedlink"); + writer.writeEmptyElement(dbNamespace, "link"); + writer.writeAttribute(xlinkNamespace, "to", anchorPair.first); + writer.writeAttribute(xlinkNamespace, "title", "prev"); + if (linkPair.first == linkPair.second && !anchorPair.second.isEmpty()) + writer.writeAttribute(xlinkNamespace, "label", anchorPair.second); + else + writer.writeAttribute(xlinkNamespace, "label", linkPair.second); + writer.writeEndElement(); // extendedlink + } + if (node->links().contains(Node::StartLink)) { + linkPair = node->links()[Node::StartLink]; + linkNode = qdb_->findNodeForTarget(linkPair.first, node); + if (!linkNode || linkNode == node) + anchorPair = linkPair; + else + anchorPair = anchorForNode(linkNode); + + writer.writeStartElement(dbNamespace, "extendedlink"); + writer.writeEmptyElement(dbNamespace, "link"); + writer.writeAttribute(xlinkNamespace, "to", anchorPair.first); + writer.writeAttribute(xlinkNamespace, "title", "start"); + if (linkPair.first == linkPair.second && !anchorPair.second.isEmpty()) + writer.writeAttribute(xlinkNamespace, "label", anchorPair.second); + else + writer.writeAttribute(xlinkNamespace, "label", linkPair.second); + writer.writeEndElement(); // extendedlink + } + } + + // Deal with the abstract (what qdoc calls brief). + if (node) { + // Adapted from HtmlGenerator::generateBrief, without extraction marks. The parameter + // addLink is always false. Factoring this function out is not as easy as in HtmlGenerator: + // abstracts only happen in the header (info tag), slightly different tags must be used at + // other places. Also includes code from HtmlGenerator::generateCppReferencePage to handle + // the name spaces. + writer.writeStartElement(dbNamespace, "abstract"); + newLine(writer); + + bool generatedSomething = false; + + Text brief; + const NamespaceNode *ns = node->isAggregate() + ? static_cast<const NamespaceNode *>(static_cast<const Aggregate *>(node)) + : nullptr; + if (node->isAggregate() && ns && !ns->hasDoc() && ns->docNode()) { + NamespaceNode *NS = ns->docNode(); + brief << "The " << ns->name() + << " namespace includes the following elements from module " + << ns->tree()->camelCaseModuleName() << ". The full namespace is " + << "documented in module " << NS->tree()->camelCaseModuleName() + << Atom(Atom::LinkNode, fullDocumentLocation(NS)) + << Atom(Atom::FormattingLeft, ATOM_FORMATTING_LINK) + << Atom(Atom::String, " here.") + << Atom(Atom::FormattingRight, ATOM_FORMATTING_LINK); + } else { + brief = node->doc().briefText(); + } + + if (!brief.isEmpty()) { + if (!brief.lastAtom()->string().endsWith('.')) + brief << Atom(Atom::String, "."); + + writer.writeStartElement(dbNamespace, "para"); + generateText(writer, brief, node); + writer.writeEndElement(); // para + newLine(writer); + + generatedSomething = true; + } + + // Generate other paragraphs that should go into the abstract. + generatedSomething |= generateStatus(writer, node); + generatedSomething |= generateSince(writer, node); + generatedSomething |= generateThreadSafeness(writer, node); + + // An abstract cannot be empty, hence use the project description. + if (!generatedSomething) + writer.writeTextElement(dbNamespace, "para", projectDescription + "."); + + writer.writeEndElement(); // abstract + newLine(writer); + } + + // End of the DocBook header. + writer.writeEndElement(); // info + newLine(writer); +} + +void DocBookGenerator::closeTextSections(QXmlStreamWriter &writer) +{ + while (!sectionLevels.isEmpty()) { + sectionLevels.pop(); + endSection(writer); + } +} + +void DocBookGenerator::generateFooter(QXmlStreamWriter &writer) +{ + closeTextSections(writer); + writer.writeEndElement(); // article +} + +static void generateSimpleLink(QXmlStreamWriter &writer, const QString &href, const QString &text) +{ + writer.writeStartElement(dbNamespace, "link"); + writer.writeAttribute(xlinkNamespace, "href", href); + writer.writeCharacters(text); + writer.writeEndElement(); // link +} + +void DocBookGenerator::generateObsoleteMembers(QXmlStreamWriter &writer, const Sections §ions) +{ + // From HtmlGenerator::generateObsoleteMembersFile. + SectionPtrVector summary_spv; // Summaries are ignored in DocBook (table of contents). + SectionPtrVector details_spv; + if (!sections.hasObsoleteMembers(&summary_spv, &details_spv)) + return; + + Aggregate *aggregate = sections.aggregate(); + QString link; + if (useOutputSubdirs() && !Generator::outputSubdir().isEmpty()) + link = QString("../" + Generator::outputSubdir() + QLatin1Char('/')); + link += fileName(aggregate, fileExtension()); + aggregate->setObsoleteLink(link); + + startSection(writer, "obsolete", "Obsolete Members for " + aggregate->name()); + + writer.writeStartElement(dbNamespace, "para"); + writer.writeStartElement(dbNamespace, "emphasis"); + writer.writeAttribute("role", "bold"); + writer.writeCharacters("The following members of class "); + generateSimpleLink(writer, linkForNode(aggregate, nullptr), aggregate->name()); + writer.writeCharacters(" are obsolete."); + writer.writeEndElement(); // emphasis bold + writer.writeCharacters(" They are provided to keep old source code working. " + "We strongly advise against using them in new code."); + writer.writeEndElement(); // para + newLine(writer); + + for (int i = 0; i < details_spv.size(); ++i) { + QString title = details_spv.at(i)->title(); + QString ref = registerRef(title.toLower()); + startSection(writer, ref, title); + + const NodeVector &members = details_spv.at(i)->obsoleteMembers(); + NodeVector::ConstIterator m = members.constBegin(); + while (m != members.constEnd()) { + if ((*m)->access() != Node::Private) + generateDetailedMember(writer, *m, aggregate); + ++m; + } + + endSection(writer); + } + + endSection(writer); +} + +/*! + Generates a separate file where obsolete members of the QML + type \a qcn are listed. The \a marker is used to generate + the section lists, which are then traversed and output here. + + Note that this function currently only handles correctly the + case where \a status is \c {Section::Obsolete}. + */ +void DocBookGenerator::generateObsoleteQmlMembers(QXmlStreamWriter &writer, + const Sections §ions) +{ + // From HtmlGenerator::generateObsoleteQmlMembersFile. + SectionPtrVector summary_spv; // Summaries are not useful in DocBook. + SectionPtrVector details_spv; + if (!sections.hasObsoleteMembers(&summary_spv, &details_spv)) + return; + + Aggregate *aggregate = sections.aggregate(); + QString title = "Obsolete Members for " + aggregate->name(); + QString fn = fileName(aggregate, fileExtension()); + QString link; + if (useOutputSubdirs() && !Generator::outputSubdir().isEmpty()) + link = QString("../" + Generator::outputSubdir() + QLatin1Char('/')); + link += fn; + aggregate->setObsoleteLink(link); + + startSection(writer, "obsolete", "Obsolete Members for " + aggregate->name()); + + writer.writeStartElement(dbNamespace, "para"); + writer.writeStartElement(dbNamespace, "emphasis"); + writer.writeAttribute("role", "bold"); + writer.writeCharacters("The following members of QML type "); + generateSimpleLink(writer, linkForNode(aggregate, nullptr), aggregate->name()); + writer.writeCharacters(" are obsolete."); + writer.writeEndElement(); // emphasis bold + writer.writeCharacters("They are provided to keep old source code working. " + "We strongly advise against using them in new code."); + writer.writeEndElement(); // para + newLine(writer); + + for (auto i : details_spv) { + QString ref = registerRef(i->title().toLower()); + startSection(writer, ref, i->title()); + + NodeVector::ConstIterator m = i->members().constBegin(); + while (m != i->members().constEnd()) { + generateDetailedQmlMember(writer, *m, aggregate); + ++m; + } + + endSection(writer); + } + + endSection(writer); +} + +static QString nodeToSynopsisTag(const Node *node) +{ + // Order from Node::nodeTypeString. + if (node->isClass() || node->isQmlType() || node->isQmlBasicType()) + return QStringLiteral("classsynopsis"); + if (node->isNamespace()) + return QStringLiteral("namespacesynopsis"); + if (node->isPageNode()) { + node->doc().location().warning("Unexpected document node in nodeToSynopsisTag"); + return QString(); + } + if (node->isEnumType()) + return QStringLiteral("enumsynopsis"); + if (node->isTypedef()) + return QStringLiteral("typedefsynopsis"); + if (node->isFunction()) { + // Signals are also encoded as functions (including QML/JS ones). + const auto fn = static_cast<const FunctionNode *>(node); + if (fn->isCtor() || fn->isCCtor() || fn->isMCtor()) + return QStringLiteral("constructorsynopsis"); + if (fn->isDtor()) + return QStringLiteral("destructorsynopsis"); + return QStringLiteral("methodsynopsis"); + } + if (node->isProperty() || node->isVariable() || node->isQmlProperty()) + return QStringLiteral("fieldsynopsis"); + + node->doc().location().warning(QString("Unknown node tag %1").arg(node->nodeTypeString())); + return QStringLiteral("synopsis"); +} + +void generateStartRequisite(QXmlStreamWriter &writer, const QString &description) +{ + writer.writeStartElement(dbNamespace, "varlistentry"); + newLine(writer); + writer.writeTextElement(dbNamespace, "term", description); + newLine(writer); + writer.writeStartElement(dbNamespace, "listitem"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); +} + +void generateEndRequisite(QXmlStreamWriter &writer) +{ + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // listitem + newLine(writer); + writer.writeEndElement(); // varlistentry + newLine(writer); +} + +void generateRequisite(QXmlStreamWriter &writer, const QString &description, const QString &value) +{ + generateStartRequisite(writer, description); + writer.writeCharacters(value); + generateEndRequisite(writer); +} + +void DocBookGenerator::generateSortedNames(QXmlStreamWriter &writer, const ClassNode *cn, + const QVector<RelatedClass> &rc) +{ + // From Generator::appendSortedNames. + QMap<QString, ClassNode *> classMap; + QVector<RelatedClass>::ConstIterator r = rc.constBegin(); + while (r != rc.constEnd()) { + ClassNode *rcn = (*r).node_; + if (rcn && rcn->access() == Node::Public && rcn->status() != Node::Internal + && !rcn->doc().isEmpty()) { + classMap[rcn->plainFullName(cn).toLower()] = rcn; + } + ++r; + } + + QStringList classNames = classMap.keys(); + classNames.sort(); + + int index = 0; + for (const QString &className : classNames) { + generateFullName(writer, classMap.value(className), cn); + writer.writeCharacters(comma(index++, classNames.count())); + } +} + +void DocBookGenerator::generateSortedQmlNames(QXmlStreamWriter &writer, const Node *base, + const NodeList &subs) +{ + // From Generator::appendSortedQmlNames. + QMap<QString, Node *> classMap; + int index = 0; + + for (auto sub : subs) + if (!base->isQtQuickNode() || !sub->isQtQuickNode() + || (base->logicalModuleName() == sub->logicalModuleName())) + classMap[sub->plainFullName(base).toLower()] = sub; + + QStringList names = classMap.keys(); + names.sort(); + + for (const QString &name : names) { + generateFullName(writer, classMap.value(name), base); + writer.writeCharacters(comma(index++, names.count())); + } +} + +/*! + Lists the required imports and includes. +*/ +void DocBookGenerator::generateRequisites(QXmlStreamWriter &writer, const Aggregate *aggregate) +{ + // Adapted from HtmlGenerator::generateRequisites, but simplified: no need to store all the + // elements, they can be produced one by one. + writer.writeStartElement(dbNamespace, "variablelist"); + newLine(writer); + + // Includes. + if (!aggregate->includeFiles().isEmpty()) { + for (const QString &include : aggregate->includeFiles()) + generateRequisite(writer, "Header", include); + } + + // Since and project. + if (!aggregate->since().isEmpty()) + generateRequisite(writer, "Since", formatSince(aggregate)); + + if (aggregate->isClassNode() || aggregate->isNamespace()) { + // QT variable. + if (!aggregate->physicalModuleName().isEmpty()) { + const CollectionNode *cn = + qdb_->getCollectionNode(aggregate->physicalModuleName(), Node::Module); + if (cn && !cn->qtVariable().isEmpty()) { + generateRequisite(writer, "qmake", "QT += " + cn->qtVariable()); + } + } + } + + if (aggregate->nodeType() == Node::Class) { + // Instantiated by. + auto *classe = const_cast<ClassNode *>(static_cast<const ClassNode *>(aggregate)); + if (classe->qmlElement() != nullptr && classe->status() != Node::Internal) { + generateStartRequisite(writer, "Inherited By"); + generateSortedNames(writer, classe, classe->derivedClasses()); + generateEndRequisite(writer); + generateRequisite(writer, "Instantiated By", + fullDocumentLocation(classe->qmlElement())); + } + + // Inherits. + QVector<RelatedClass>::ConstIterator r; + if (!classe->baseClasses().isEmpty()) { + generateStartRequisite(writer, "Inherits"); + + r = classe->baseClasses().constBegin(); + int index = 0; + while (r != classe->baseClasses().constEnd()) { + if ((*r).node_) { + generateFullName(writer, (*r).node_, classe); + + if ((*r).access_ == Node::Protected) + writer.writeCharacters(" (protected)"); + else if ((*r).access_ == Node::Private) + writer.writeCharacters(" (private)"); + writer.writeCharacters(comma(index++, classe->baseClasses().count())); + } + ++r; + } + + generateEndRequisite(writer); + } + + // Inherited by. + if (!classe->derivedClasses().isEmpty()) { + generateStartRequisite(writer, "Inherited By"); + generateSortedNames(writer, classe, classe->derivedClasses()); + generateEndRequisite(writer); + } + } + + writer.writeEndElement(); // variablelist + newLine(writer); +} + +/*! + Lists the required imports and includes. +*/ +void DocBookGenerator::generateQmlRequisites(QXmlStreamWriter &writer, const QmlTypeNode *qcn) +{ + // From HtmlGenerator::generateQmlRequisites, but simplified: no need to store all the elements, + // they can be produced one by one. + if (!qcn) + return; + + writer.writeStartElement(dbNamespace, "variablelist"); + newLine(writer); + + // Module name and version (i.e. import). + QString logicalModuleVersion; + const CollectionNode *collection = + qdb_->getCollectionNode(qcn->logicalModuleName(), qcn->nodeType()); + if (collection) + logicalModuleVersion = collection->logicalModuleVersion(); + else + logicalModuleVersion = qcn->logicalModuleVersion(); + + generateRequisite(writer, "Import Statement", + "import " + qcn->logicalModuleName() + QLatin1Char(' ') + + logicalModuleVersion); + + // Since and project. + if (!qcn->since().isEmpty()) + generateRequisite(writer, "Since:", formatSince(qcn)); + + // Inherited by. + NodeList subs; + QmlTypeNode::subclasses(qcn, subs); + if (!subs.isEmpty()) { + generateStartRequisite(writer, "Inherited By:"); + generateSortedQmlNames(writer, qcn, subs); + generateEndRequisite(writer); + } + + // Inherits. + QmlTypeNode *base = qcn->qmlBaseNode(); + while (base && base->isInternal()) { + base = base->qmlBaseNode(); + } + if (base) { + const Node *otherNode = nullptr; + Atom a = Atom(Atom::LinkNode, CodeMarker::stringForNode(base)); + QString link = getAutoLink(&a, qcn, &otherNode); + + generateStartRequisite(writer, "Inherits:"); + generateSimpleLink(writer, link, base->name()); + generateEndRequisite(writer); + } + + // Instantiates. + ClassNode *cn = (const_cast<QmlTypeNode *>(qcn))->classNode(); + if (cn && (cn->status() != Node::Internal)) { + const Node *otherNode = nullptr; + Atom a = Atom(Atom::LinkNode, CodeMarker::stringForNode(qcn)); + QString link = getAutoLink(&a, cn, &otherNode); + + generateStartRequisite(writer, "Instantiates:"); + generateSimpleLink(writer, fullDocumentLocation(cn), cn->name()); + generateEndRequisite(writer); + } + + writer.writeEndElement(); // variablelist + newLine(writer); +} + +bool DocBookGenerator::generateStatus(QXmlStreamWriter &writer, const Node *node) +{ + // From Generator::generateStatus. + switch (node->status()) { + case Node::Active: + // Do nothing. + return false; + case Node::Preliminary: + writer.writeStartElement(dbNamespace, "para"); + writer.writeStartElement(dbNamespace, "emphasis"); + writer.writeAttribute("role", "bold"); + writer.writeCharacters("This " + typeString(node) + + " is under development and is subject to change."); + writer.writeEndElement(); // emphasis + writer.writeEndElement(); // para + newLine(writer); + return true; + case Node::Deprecated: + writer.writeStartElement(dbNamespace, "para"); + if (node->isAggregate()) { + writer.writeStartElement(dbNamespace, "emphasis"); + writer.writeAttribute("role", "bold"); + } + writer.writeCharacters("This " + typeString(node) + " is deprecated."); + if (node->isAggregate()) + writer.writeEndElement(); // emphasis + writer.writeEndElement(); // para + newLine(writer); + return true; + case Node::Obsolete: + writer.writeStartElement(dbNamespace, "para"); + if (node->isAggregate()) { + writer.writeStartElement(dbNamespace, "emphasis"); + writer.writeAttribute("role", "bold"); + } + writer.writeCharacters("This " + typeString(node) + " is obsolete."); + if (node->isAggregate()) + writer.writeEndElement(); // emphasis + writer.writeCharacters(" It is provided to keep old source code working. " + "We strongly advise against using it in new code."); + writer.writeEndElement(); // para + newLine(writer); + return true; + case Node::Internal: + default: + return false; + } +} + +/*! + Generate a list of function signatures. The function nodes + are in \a nodes. + */ +void DocBookGenerator::generateSignatureList(QXmlStreamWriter &writer, const NodeList &nodes) +{ + // From Generator::signatureList and Generator::appendSignature. + writer.writeStartElement(dbNamespace, "itemizedlist"); + newLine(writer); + + NodeList::ConstIterator n = nodes.constBegin(); + while (n != nodes.constEnd()) { + writer.writeStartElement(dbNamespace, "listitem"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + + generateSimpleLink(writer, currentGenerator()->fullDocumentLocation(*n), (*n)->signature(false, true)); + + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // itemizedlist + newLine(writer); + ++n; + } + + writer.writeEndElement(); // itemizedlist + newLine(writer); +} + +/*! + Generates text that explains how threadsafe and/or reentrant + \a node is. + */ +bool DocBookGenerator::generateThreadSafeness(QXmlStreamWriter &writer, const Node *node) +{ + // From Generator::generateThreadSafeness + Node::ThreadSafeness ts = node->threadSafeness(); + + const Node *reentrantNode; + Atom reentrantAtom = Atom(Atom::Link, "reentrant"); + QString linkReentrant = getAutoLink(&reentrantAtom, node, &reentrantNode); + const Node *threadSafeNode; + Atom threadSafeAtom = Atom(Atom::Link, "thread-safe"); + QString linkThreadSafe = getAutoLink(&threadSafeAtom, node, &threadSafeNode); + + if (ts == Node::NonReentrant) { + writer.writeStartElement(dbNamespace, "warning"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + writer.writeCharacters("This " + typeString(node) + " is not "); + generateSimpleLink(writer, linkReentrant, "reentrant"); + writer.writeCharacters("."); + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // warning + + return true; + } + if (ts == Node::Reentrant || ts == Node::ThreadSafe) { + writer.writeStartElement(dbNamespace, "note"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + + if (node->isAggregate()) { + writer.writeCharacters("All functions in this " + typeString(node) + " are "); + if (ts == Node::ThreadSafe) + generateSimpleLink(writer, linkThreadSafe, "thread-safe"); + else + generateSimpleLink(writer, linkReentrant, "reentrant"); + + NodeList reentrant; + NodeList threadsafe; + NodeList nonreentrant; + bool exceptions = hasExceptions(node, reentrant, threadsafe, nonreentrant); + if (!exceptions || (ts == Node::Reentrant && !threadsafe.isEmpty())) { + writer.writeCharacters("."); + writer.writeEndElement(); // para + newLine(writer); + } else { + writer.writeCharacters(" with the following exceptions:"); + writer.writeEndElement(); // para + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + + if (ts == Node::Reentrant) { + if (!nonreentrant.isEmpty()) { + writer.writeCharacters("These functions are not "); + generateSimpleLink(writer, linkReentrant, "reentrant"); + writer.writeCharacters(":"); + writer.writeEndElement(); // para + newLine(writer); + generateSignatureList(writer, nonreentrant); + } + if (!threadsafe.isEmpty()) { + writer.writeCharacters("These functions are also "); + generateSimpleLink(writer, linkThreadSafe, "thread-safe"); + writer.writeCharacters(":"); + writer.writeEndElement(); // para + newLine(writer); + generateSignatureList(writer, threadsafe); + } + } else { // thread-safe + if (!reentrant.isEmpty()) { + writer.writeCharacters("These functions are only "); + generateSimpleLink(writer, linkReentrant, "reentrant"); + writer.writeCharacters(":"); + writer.writeEndElement(); // para + newLine(writer); + generateSignatureList(writer, reentrant); + } + if (!nonreentrant.isEmpty()) { + writer.writeCharacters("These functions are not "); + generateSimpleLink(writer, linkReentrant, "reentrant"); + writer.writeCharacters(":"); + writer.writeEndElement(); // para + newLine(writer); + generateSignatureList(writer, nonreentrant); + } + } + } + } else { + writer.writeCharacters("This " + typeString(node) + " is "); + if (ts == Node::ThreadSafe) + generateSimpleLink(writer, linkThreadSafe, "thread-safe"); + else + generateSimpleLink(writer, linkReentrant, "reentrant"); + writer.writeCharacters("."); + writer.writeEndElement(); // para + newLine(writer); + } + writer.writeEndElement(); // note + + return true; + } + + return false; +} + +/*! + Generate the body of the documentation from the qdoc comment + found with the entity represented by the \a node. + */ +void DocBookGenerator::generateBody(QXmlStreamWriter &writer, const Node *node) +{ + // From Generator::generateBody, without warnings. + if (!node->hasDoc() && !node->hasSharedDoc()) { + /* + Test for special function, like a destructor or copy constructor, + that has no documentation. + */ + if (node->nodeType() == Node::Function) { + const auto func = static_cast<const FunctionNode *>(node); + QString t; + if (func->isDtor()) { + t = "Destroys the instance of " + func->parent()->name() + "."; + if (func->isVirtual()) + t += " The destructor is virtual."; + } else if (func->isCtor()) { + t = "Default constructs an instance of " + func->parent()->name() + "."; + } else if (func->isCCtor()) { + t = "Copy constructor."; + } else if (func->isMCtor()) { + t = "Move-copy constructor."; + } else if (func->isCAssign()) { + t = "Copy-assignment constructor."; + } else if (func->isMAssign()) { + t = "Move-assignment constructor."; + } + + if (!t.isEmpty()) + writer.writeTextElement(dbNamespace, "para", t); + } + } else if (!node->isSharingComment()) { + if (node->nodeType() == Node::Function) { + const auto func = static_cast<const FunctionNode *>(node); + if (!func->overridesThis().isEmpty()) + generateReimplementsClause(writer, func); + } + + if (!generateText(writer, node->doc().body(), node)) { + if (node->isMarkedReimp()) + return; + } + + // Warning generation skipped with respect to Generator::generateBody. + } + + generateRequiredLinks(writer, node); +} + +/*! + Generates either a link to the project folder for example \a node, or a list + of links files/images if 'url.examples config' variable is not defined. + + Does nothing for non-example nodes. +*/ +void DocBookGenerator::generateRequiredLinks(QXmlStreamWriter &writer, const Node *node) +{ + // From Generator::generateRequiredLinks. + if (!node->isExample()) + return; + + const auto en = static_cast<const ExampleNode *>(node); + QString exampleUrl = config()->getString(CONFIG_URL + Config::dot + CONFIG_EXAMPLES); + + if (exampleUrl.isEmpty()) { + if (!en->noAutoList()) { + generateFileList(writer, en, false); // files + generateFileList(writer, en, true); // images + } + } else { + generateLinkToExample(writer, en, exampleUrl); + } +} + +/*! + The path to the example replaces a placeholder '\1' character if + one is found in the \a baseUrl string. If no such placeholder is found, + the path is appended to \a baseUrl, after a '/' character if \a baseUrl did + not already end in one. +*/ +void DocBookGenerator::generateLinkToExample(QXmlStreamWriter &writer, const ExampleNode *en, + const QString &baseUrl) +{ + // From Generator::generateLinkToExample. + QString exampleUrl(baseUrl); + QString link; +#ifndef QT_BOOTSTRAPPED + link = QUrl(exampleUrl).host(); +#endif + if (!link.isEmpty()) + link.prepend(" @ "); + link.prepend("Example project"); + + const QLatin1Char separator('/'); + const QLatin1Char placeholder('\1'); + if (!exampleUrl.contains(placeholder)) { + if (!exampleUrl.endsWith(separator)) + exampleUrl += separator; + exampleUrl += placeholder; + } + + // Construct a path to the example; <install path>/<example name> + QStringList path = QStringList() + << config()->getString(CONFIG_EXAMPLESINSTALLPATH) << en->name(); + path.removeAll({}); + + writer.writeStartElement(dbNamespace, "para"); + writer.writeStartElement(dbNamespace, "link"); + writer.writeAttribute(xlinkNamespace, "href", + exampleUrl.replace(placeholder, path.join(separator))); + writer.writeCharacters(link); + writer.writeEndElement(); // link + writer.writeEndElement(); // para + newLine(writer); +} + +/*! + This function is called when the documentation for an example is + being formatted. It outputs a list of files for the example, which + can be the example's source files or the list of images used by the + example. The images are copied into a subtree of + \c{...doc/html/images/used-in-examples/...} +*/ +void DocBookGenerator::generateFileList(QXmlStreamWriter &writer, const ExampleNode *en, + bool images) +{ + // From Generator::generateFileList + QString tag; + QStringList paths; + if (images) { + paths = en->images(); + tag = "Images:"; + } else { // files + paths = en->files(); + tag = "Files:"; + } + std::sort(paths.begin(), paths.end(), Generator::comparePaths); + + if (paths.isEmpty()) + return; + + writer.writeStartElement(dbNamespace, "para"); + writer.writeCharacters(tag); + writer.writeEndElement(); // para + newLine(writer); + + writer.writeStartElement(dbNamespace, "itemizedlist"); + + for (const auto &file : qAsConst(paths)) { + if (images) { + if (!file.isEmpty()) + addImageToCopy(en, file); + } else { + generateExampleFilePage(en, file); + } + + writer.writeStartElement(dbNamespace, "listitem"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + generateSimpleLink(writer, file, file); + writer.writeEndElement(); // para + writer.writeEndElement(); // listitem + newLine(writer); + } + + writer.writeEndElement(); // itemizedlist + newLine(writer); +} + +/*! + Generate a file with the contents of a C++ or QML source file. + */ +void DocBookGenerator::generateExampleFilePage(const Node *node, const QString &file) +{ + // From HtmlGenerator::generateExampleFilePage. + if (!node->isExample()) + return; + + const auto en = static_cast<const ExampleNode *>(node); + QXmlStreamWriter *writer = startDocument(en, file); + generateHeader(*writer, en->fullTitle(), en->subtitle(), en); + + Text text; + Quoter quoter; + Doc::quoteFromFile(en->doc().location(), quoter, file); + QString code = quoter.quoteTo(en->location(), QString(), QString()); + CodeMarker *codeMarker = CodeMarker::markerForFileName(file); + text << Atom(codeMarker->atomType(), code); + Atom a(codeMarker->atomType(), code); + generateText(*writer, text, en); + + endDocument(writer); +} + +void DocBookGenerator::generateReimplementsClause(QXmlStreamWriter &writer, const FunctionNode *fn) +{ + // From Generator::generateReimplementsClause, without warning generation. + if (!fn->overridesThis().isEmpty()) { + if (fn->parent()->isClassNode()) { + auto cn = static_cast<ClassNode *>(fn->parent()); + const FunctionNode *overrides = cn->findOverriddenFunction(fn); + if (overrides && !overrides->isPrivate() && !overrides->parent()->isPrivate()) { + if (overrides->hasDoc()) { + writer.writeStartElement(dbNamespace, "para"); + writer.writeCharacters("Reimplements: "); + QString fullName = + overrides->parent()->name() + "::" + overrides->signature(false, true); + generateFullName(writer, overrides->parent(), fullName, overrides); + writer.writeCharacters("."); + return; + } + } + const PropertyNode *sameName = cn->findOverriddenProperty(fn); + if (sameName && sameName->hasDoc()) { + writer.writeStartElement(dbNamespace, "para"); + writer.writeCharacters("Reimplements an access function for property: "); + QString fullName = sameName->parent()->name() + "::" + sameName->name(); + generateFullName(writer, sameName->parent(), fullName, overrides); + writer.writeCharacters("."); + return; + } + } + } +} + +void DocBookGenerator::generateAlsoList(QXmlStreamWriter &writer, const Node *node) +{ + // From Generator::generateAlsoList. + QVector<Text> alsoList = node->doc().alsoList(); + supplementAlsoList(node, alsoList); + + if (!alsoList.isEmpty()) { + writer.writeStartElement(dbNamespace, "para"); + writer.writeStartElement(dbNamespace, "emphasis"); + writer.writeCharacters("See also "); + writer.writeEndElement(); // emphasis + newLine(writer); + + writer.writeStartElement(dbNamespace, "simplelist"); + writer.writeAttribute("type", "vert"); + writer.writeAttribute("role", "see-also"); + for (const Text &text : alsoList) { + writer.writeStartElement(dbNamespace, "member"); + generateText(writer, text, node); + writer.writeEndElement(); // member + newLine(writer); + } + writer.writeEndElement(); // simplelist + newLine(writer); + + writer.writeEndElement(); // para + } +} + +/*! + Generate a list of maintainers in the output + */ +void DocBookGenerator::generateMaintainerList(QXmlStreamWriter &writer, const Aggregate *node) +{ + // From Generator::generateMaintainerList. + QStringList sl = getMetadataElements(node, "maintainer"); + + if (!sl.isEmpty()) { + writer.writeStartElement(dbNamespace, "para"); + writer.writeStartElement(dbNamespace, "emphasis"); + writer.writeCharacters("Maintained by: "); + writer.writeEndElement(); // emphasis + newLine(writer); + + writer.writeStartElement(dbNamespace, "simplelist"); + writer.writeAttribute("type", "vert"); + writer.writeAttribute("role", "maintainer"); + for (int i = 0; i < sl.size(); ++i) { + writer.writeStartElement(dbNamespace, "member"); + writer.writeCharacters(sl.at(i)); + writer.writeEndElement(); // member + newLine(writer); + } + writer.writeEndElement(); // simplelist + newLine(writer); + + writer.writeEndElement(); // para + } +} + +/*! + Open a new file to write XML contents, including the DocBook + opening tag. + */ +QXmlStreamWriter *DocBookGenerator::startGenericDocument(const Node *node, const QString &fileName) +{ + QFile *outFile = openSubPageFile(node, fileName); + auto writer = new QXmlStreamWriter(outFile); + writer->setAutoFormatting(false); // We need a precise handling of line feeds. + + writer->writeStartDocument(); + newLine(*writer); + writer->writeNamespace(dbNamespace, "db"); + writer->writeNamespace(xlinkNamespace, "xlink"); + writer->writeStartElement(dbNamespace, "article"); + writer->writeAttribute("version", "5.2"); + if (!naturalLanguage.isEmpty()) + writer->writeAttribute("xml:lang", naturalLanguage); + newLine(*writer); + + // Empty the section stack for the new document. + sectionLevels.resize(0); +// sectionLevels.push(1); + + return writer; +} + +QXmlStreamWriter *DocBookGenerator::startDocument(const Node *node) +{ + QString fileName = Generator::fileName(node, fileExtension()); + return startGenericDocument(node, fileName); +} + +QXmlStreamWriter *DocBookGenerator::startDocument(const ExampleNode *en, const QString &file) +{ + QString fileName = linkForExampleFile(file, en); + return startGenericDocument(en, fileName); +} + +void DocBookGenerator::endDocument(QXmlStreamWriter *writer) +{ + writer->writeEndElement(); // article + writer->writeEndDocument(); + writer->device()->close(); + delete writer; +} + +/*! + Generate a reference page for the C++ class, namespace, or + header file documented in \a node. + */ +void DocBookGenerator::generateCppReferencePage(Node *node) +{ + // Based on HtmlGenerator::generateCppReferencePage. + Q_ASSERT(node->isAggregate()); + const auto aggregate = static_cast<const Aggregate *>(node); + + QString title; + QString rawTitle; + QString fullTitle; + const NamespaceNode *ns = nullptr; + if (aggregate->isNamespace()) { + rawTitle = aggregate->plainName(); + fullTitle = aggregate->plainFullName(); + title = rawTitle + " Namespace"; + ns = static_cast<const NamespaceNode *>(aggregate); + } else if (aggregate->isClass()) { + rawTitle = aggregate->plainName(); + fullTitle = aggregate->plainFullName(); + title = rawTitle + " Class"; + } + + QString subtitleText; + if (rawTitle != fullTitle) + subtitleText = "(" + fullTitle + ")"; + + // Start producing the DocBook file. + QXmlStreamWriter &writer = *startDocument(node); + + // Info container. + generateHeader(writer, title, subtitleText, aggregate); + + generateRequisites(writer, aggregate); + generateStatus(writer, aggregate); + + // Element synopsis. + generateDocBookSynopsis(writer, node); + + // Actual content. + if (!aggregate->doc().isEmpty()) { + startSection(writer, registerRef("details"), "Detailed Description"); + + generateBody(writer, aggregate); + generateAlsoList(writer, aggregate); + generateMaintainerList(writer, aggregate); + + endSection(writer); + } + + Sections sections(const_cast<Aggregate *>(aggregate)); + SectionVector *sectionVector = + ns ? §ions.stdDetailsSections() : §ions.stdCppClassDetailsSections(); + SectionVector::ConstIterator section = sectionVector->constBegin(); + while (section != sectionVector->constEnd()) { + bool headerGenerated = false; + NodeVector::ConstIterator member = section->members().constBegin(); + while (member != section->members().constEnd()) { + if ((*member)->access() == Node::Private) { // ### check necessary? + ++member; + continue; + } + + if (!headerGenerated) { + // Equivalent to h2 + startSection(writer, registerRef(section->title().toLower()), section->title()); + headerGenerated = true; + } + + if ((*member)->nodeType() != Node::Class) { + // This function starts its own section. + generateDetailedMember(writer, *member, aggregate); + } else { + startSectionBegin(writer); + writer.writeCharacters("class "); + generateFullName(writer, *member, aggregate); + startSectionEnd(writer); + generateBrief(writer, *member); + endSection(writer); + } + + ++member; + } + + if (headerGenerated) + endSection(writer); + ++section; + } + + generateObsoleteMembers(writer, sections); + + endDocument(&writer); +} + +void generateSynopsisInfo(QXmlStreamWriter &writer, const QString &key, const QString &value) +{ + writer.writeStartElement(dbNamespace, "synopsisinfo"); + writer.writeAttribute(dbNamespace, "role", key); + writer.writeCharacters(value); + writer.writeEndElement(); // synopsisinfo + newLine(writer); +} + +void generateModifier(QXmlStreamWriter &writer, const QString &value) +{ + writer.writeTextElement(dbNamespace, "modifier", value); + newLine(writer); +} + +/*! + Generate the metadata for the given \a node in DocBook. + */ +void DocBookGenerator::generateDocBookSynopsis(QXmlStreamWriter &writer, const Node *node) +{ + if (!node) + return; + + // From Generator::generateStatus, HtmlGenerator::generateRequisites, + // Generator::generateThreadSafeness, QDocIndexFiles::generateIndexSection. + + // This function is the only place where DocBook extensions are used. + if (useDocBookExtensions()) + return; + + // Nothing to export in some cases. + if (node->isGroup() || node->isGroup() || node->isPropertyGroup() || node->isModule() + || node->isJsModule() || node->isQmlModule() || node->isPageNode()) + return; + + // Cast the node to several subtypes (null pointer if the node is not of the required type). + const Aggregate *aggregate = + node->isAggregate() ? static_cast<const Aggregate *>(node) : nullptr; + const ClassNode *classNode = node->isClass() ? static_cast<const ClassNode *>(node) : nullptr; + const FunctionNode *functionNode = + node->isFunction() ? static_cast<const FunctionNode *>(node) : nullptr; + const PropertyNode *propertyNode = + node->isProperty() ? static_cast<const PropertyNode *>(node) : nullptr; + const VariableNode *variableNode = + node->isVariable() ? static_cast<const VariableNode *>(node) : nullptr; + const EnumNode *enumNode = node->isEnumType() ? static_cast<const EnumNode *>(node) : nullptr; + const QmlPropertyNode *qpn = + node->isQmlProperty() ? static_cast<const QmlPropertyNode *>(node) : nullptr; + const QmlTypeNode *qcn = node->isQmlType() ? static_cast<const QmlTypeNode *>(node) : nullptr; + // Typedefs are ignored, as they correspond to enums. + // Groups and modules are ignored. + // Documents are ignored, they have no interesting metadata. + + // Start the synopsis tag. + QString synopsisTag = nodeToSynopsisTag(node); + writer.writeStartElement(dbNamespace, synopsisTag); + newLine(writer); + + // Name and basic properties of each tag (like types and parameters). + if (node->isClass()) { + writer.writeStartElement(dbNamespace, "ooclass"); + writer.writeTextElement(dbNamespace, "classname", node->plainName()); + writer.writeEndElement(); // ooclass + newLine(writer); + } else if (node->isNamespace()) { + writer.writeTextElement(dbNamespace, "namespacename", node->plainName()); + newLine(writer); + } else if (node->isQmlType()) { + writer.writeStartElement(dbNamespace, "ooclass"); + writer.writeTextElement(dbNamespace, "classname", node->plainName()); + writer.writeEndElement(); // ooclass + newLine(writer); + if (!qcn->groupNames().isEmpty()) + writer.writeAttribute("groups", qcn->groupNames().join(QLatin1Char(','))); + } else if (node->isProperty()) { + writer.writeTextElement(dbNamespace, "modifier", "(Qt property)"); + newLine(writer); + writer.writeTextElement(dbNamespace, "type", propertyNode->dataType()); + newLine(writer); + writer.writeTextElement(dbNamespace, "varname", node->plainName()); + newLine(writer); + } else if (node->isVariable()) { + if (variableNode->isStatic()) { + writer.writeTextElement(dbNamespace, "modifier", "static"); + newLine(writer); + } + writer.writeTextElement(dbNamespace, "type", variableNode->dataType()); + newLine(writer); + writer.writeTextElement(dbNamespace, "varname", node->plainName()); + newLine(writer); + } else if (node->isEnumType()) { + writer.writeTextElement(dbNamespace, "enumname", node->plainName()); + newLine(writer); + } else if (node->isQmlProperty()) { + QString name = node->name(); + if (qpn->isAttached()) + name.prepend(qpn->element() + QLatin1Char('.')); + + writer.writeTextElement(dbNamespace, "type", qpn->dataType()); + newLine(writer); + writer.writeTextElement(dbNamespace, "varname", name); + newLine(writer); + + if (qpn->isAttached()) { + writer.writeTextElement(dbNamespace, "modifier", "attached"); + newLine(writer); + } + if ((const_cast<QmlPropertyNode *>(qpn))->isWritable()) { + writer.writeTextElement(dbNamespace, "modifier", "writable"); + newLine(writer); + } + + if (qpn->isReadOnly()) { + generateModifier(writer, "[read-only]"); + newLine(writer); + } + if (qpn->isDefault()) { + generateModifier(writer, "[default]"); + newLine(writer); + } + } else if (node->isFunction()) { + if (functionNode->virtualness() != "non") + generateModifier(writer, "virtual"); + if (functionNode->isConst()) + generateModifier(writer, "const"); + if (functionNode->isStatic()) + generateModifier(writer, "static"); + + if (!functionNode->isMacro()) { + if (functionNode->returnType() == "void") + writer.writeEmptyElement(dbNamespace, "void"); + else + writer.writeTextElement(dbNamespace, "type", functionNode->returnType()); + newLine(writer); + } + // Remove two characters from the plain name to only get the name + // of the method without parentheses. + writer.writeTextElement(dbNamespace, "methodname", node->plainName().chopped(2)); + newLine(writer); + + if (functionNode->isOverload()) + generateModifier(writer, "overload"); + if (functionNode->isDefault()) + generateModifier(writer, "default"); + if (functionNode->isFinal()) + generateModifier(writer, "final"); + if (functionNode->isOverride()) + generateModifier(writer, "override"); + + if (!functionNode->isMacro() && functionNode->parameters().isEmpty()) { + writer.writeEmptyElement(dbNamespace, "void"); + newLine(writer); + } + + const Parameters &lp = functionNode->parameters(); + for (int i = 0; i < lp.count(); ++i) { + const Parameter ¶meter = lp.at(i); + writer.writeStartElement(dbNamespace, "methodparam"); + newLine(writer); + writer.writeTextElement(dbNamespace, "type", parameter.type()); + newLine(writer); + writer.writeTextElement(dbNamespace, "parameter", parameter.name()); + newLine(writer); + if (!parameter.defaultValue().isEmpty()) { + writer.writeTextElement(dbNamespace, "initializer", parameter.defaultValue()); + newLine(writer); + } + writer.writeEndElement(); // methodparam + newLine(writer); + } + + generateSynopsisInfo(writer, "meta", functionNode->metanessString()); + + if (functionNode->isOverload()) + generateSynopsisInfo(writer, "overload-number", + QString::number(functionNode->overloadNumber())); + + if (functionNode->isRef()) + generateSynopsisInfo(writer, "refness", QString::number(1)); + else if (functionNode->isRefRef()) + generateSynopsisInfo(writer, "refness", QString::number(2)); + + if (functionNode->hasAssociatedProperties()) { + QStringList associatedProperties; + const NodeList &nodes = functionNode->associatedProperties(); + for (const Node *n : nodes) { + const auto pn = static_cast<const PropertyNode *>(n); + associatedProperties << pn->name(); + } + associatedProperties.sort(); + generateSynopsisInfo(writer, "associated-property", + associatedProperties.join(QLatin1Char(','))); + } + + QString signature = functionNode->signature(false, false); + // 'const' is already part of FunctionNode::signature() + if (functionNode->isFinal()) + signature += " final"; + if (functionNode->isOverride()) + signature += " override"; + if (functionNode->isPureVirtual()) + signature += " = 0"; + else if (functionNode->isDefault()) + signature += " = default"; + generateSynopsisInfo(writer, "signature", signature); + } else { + node->doc().location().warning(tr("Unexpected node type in generateDocBookSynopsis: %1") + .arg(node->nodeTypeString())); + newLine(writer); + } + + // Accessibility status. + if (!node->isPageNode() && !node->isCollectionNode()) { + switch (node->access()) { + case Node::Public: + generateSynopsisInfo(writer, "access", "public"); + break; + case Node::Protected: + generateSynopsisInfo(writer, "access", "protected"); + break; + case Node::Private: + generateSynopsisInfo(writer, "access", "private"); + break; + default: + break; + } + if (node->isAbstract()) + generateSynopsisInfo(writer, "abstract", "true"); + } + + // Status. + switch (node->status()) { + case Node::Active: + generateSynopsisInfo(writer, "status", "active"); + break; + case Node::Preliminary: + generateSynopsisInfo(writer, "status", "preliminary"); + break; + case Node::Deprecated: + generateSynopsisInfo(writer, "status", "deprecated"); + break; + case Node::Obsolete: + generateSynopsisInfo(writer, "status", "obsolete"); + break; + case Node::Internal: + generateSynopsisInfo(writer, "status", "internal"); + break; + default: + generateSynopsisInfo(writer, "status", "main"); + break; + } + + // C++ classes and name spaces. + if (aggregate) { + // Includes. + if (!aggregate->includeFiles().isEmpty()) { + for (const QString &include : aggregate->includeFiles()) + generateSynopsisInfo(writer, "headers", include); + } + + // Since and project. + if (!aggregate->since().isEmpty()) + generateSynopsisInfo(writer, "since", formatSince(aggregate)); + + if (aggregate->nodeType() == Node::Class || aggregate->nodeType() == Node::Namespace) { + // QT variable. + if (!aggregate->physicalModuleName().isEmpty()) { + const CollectionNode *cn = + qdb_->getCollectionNode(aggregate->physicalModuleName(), Node::Module); + if (cn && !cn->qtVariable().isEmpty()) + generateSynopsisInfo(writer, "qmake", "QT += " + cn->qtVariable()); + } + } + + if (aggregate->nodeType() == Node::Class) { + // Instantiated by. + auto *classe = const_cast<ClassNode *>(static_cast<const ClassNode *>(aggregate)); + if (classe->qmlElement() != nullptr && classe->status() != Node::Internal) { + const Node *otherNode = nullptr; + Atom a = Atom(Atom::LinkNode, CodeMarker::stringForNode(classe->qmlElement())); + QString link = getAutoLink(&a, aggregate, &otherNode); + + writer.writeStartElement(dbNamespace, "synopsisinfo"); + writer.writeAttribute(dbNamespace, "role", "instantiatedBy"); + generateSimpleLink(writer, link, classe->qmlElement()->name()); + writer.writeEndElement(); // synopsisinfo + newLine(writer); + } + + // Inherits. + QVector<RelatedClass>::ConstIterator r; + if (!classe->baseClasses().isEmpty()) { + writer.writeStartElement(dbNamespace, "synopsisinfo"); + writer.writeAttribute(dbNamespace, "role", "inherits"); + + r = classe->baseClasses().constBegin(); + int index = 0; + while (r != classe->baseClasses().constEnd()) { + if ((*r).node_) { + generateFullName(writer, (*r).node_, classe); + + if ((*r).access_ == Node::Protected) { + writer.writeCharacters(" (protected)"); + } else if ((*r).access_ == Node::Private) { + writer.writeCharacters(" (private)"); + } + writer.writeCharacters(comma(index++, classe->baseClasses().count())); + } + ++r; + } + + writer.writeEndElement(); // synopsisinfo + newLine(writer); + } + + // Inherited by. + if (!classe->derivedClasses().isEmpty()) { + writer.writeStartElement(dbNamespace, "synopsisinfo"); + writer.writeAttribute(dbNamespace, "role", "inheritedBy"); + generateSortedNames(writer, classe, classe->derivedClasses()); + writer.writeEndElement(); // synopsisinfo + newLine(writer); + } + } + } + + // QML types. + if (qcn) { + // Module name and version (i.e. import). + QString logicalModuleVersion; + const CollectionNode *collection = + qdb_->getCollectionNode(qcn->logicalModuleName(), qcn->nodeType()); + if (collection) + logicalModuleVersion = collection->logicalModuleVersion(); + else + logicalModuleVersion = qcn->logicalModuleVersion(); + + generateSynopsisInfo(writer, "import", + "import " + qcn->logicalModuleName() + QLatin1Char(' ') + + logicalModuleVersion); + + // Since and project. + if (!qcn->since().isEmpty()) + generateSynopsisInfo(writer, "since", formatSince(qcn)); + + // Inherited by. + NodeList subs; + QmlTypeNode::subclasses(qcn, subs); + if (!subs.isEmpty()) { + writer.writeTextElement(dbNamespace, "synopsisinfo"); + writer.writeAttribute(dbNamespace, "role", "inheritedBy"); + generateSortedQmlNames(writer, qcn, subs); + writer.writeEndElement(); // synopsisinfo + newLine(writer); + } + + // Inherits. + QmlTypeNode *base = qcn->qmlBaseNode(); + while (base && base->isInternal()) + base = base->qmlBaseNode(); + if (base) { + const Node *otherNode = nullptr; + Atom a = Atom(Atom::LinkNode, CodeMarker::stringForNode(base)); + QString link = getAutoLink(&a, base, &otherNode); + + writer.writeTextElement(dbNamespace, "synopsisinfo"); + writer.writeAttribute(dbNamespace, "role", "inherits"); + generateSimpleLink(writer, link, base->name()); + writer.writeEndElement(); // synopsisinfo + newLine(writer); + } + + // Instantiates. + ClassNode *cn = (const_cast<QmlTypeNode *>(qcn))->classNode(); + if (cn && (cn->status() != Node::Internal)) { + const Node *otherNode = nullptr; + Atom a = Atom(Atom::LinkNode, CodeMarker::stringForNode(qcn)); + QString link = getAutoLink(&a, cn, &otherNode); + + writer.writeTextElement(dbNamespace, "synopsisinfo"); + writer.writeAttribute(dbNamespace, "role", "instantiates"); + generateSimpleLink(writer, link, cn->name()); + writer.writeEndElement(); // synopsisinfo + newLine(writer); + } + } + + // Thread safeness. + switch (node->threadSafeness()) { + case Node::UnspecifiedSafeness: + generateSynopsisInfo(writer, "threadsafeness", "unspecified"); + break; + case Node::NonReentrant: + generateSynopsisInfo(writer, "threadsafeness", "non-reentrant"); + break; + case Node::Reentrant: + generateSynopsisInfo(writer, "threadsafeness", "reentrant"); + break; + case Node::ThreadSafe: + generateSynopsisInfo(writer, "threadsafeness", "thread safe"); + break; + default: + generateSynopsisInfo(writer, "threadsafeness", "unspecified"); + break; + } + + // Module. + if (!node->physicalModuleName().isEmpty()) + generateSynopsisInfo(writer, "module", node->physicalModuleName()); + + // Group. + if (classNode && !classNode->groupNames().isEmpty()) { + generateSynopsisInfo(writer, "groups", classNode->groupNames().join(QLatin1Char(','))); + } else if (qcn && !qcn->groupNames().isEmpty()) { + generateSynopsisInfo(writer, "groups", qcn->groupNames().join(QLatin1Char(','))); + } + + // Properties. + if (propertyNode) { + for (const Node *fnNode : propertyNode->getters()) { + if (fnNode) { + const auto funcNode = static_cast<const FunctionNode *>(fnNode); + generateSynopsisInfo(writer, "getter", funcNode->name()); + } + } + for (const Node *fnNode : propertyNode->setters()) { + if (fnNode) { + const auto funcNode = static_cast<const FunctionNode *>(fnNode); + generateSynopsisInfo(writer, "setter", funcNode->name()); + } + } + for (const Node *fnNode : propertyNode->resetters()) { + if (fnNode) { + const auto funcNode = static_cast<const FunctionNode *>(fnNode); + generateSynopsisInfo(writer, "resetter", funcNode->name()); + } + } + for (const Node *fnNode : propertyNode->notifiers()) { + if (fnNode) { + const auto funcNode = static_cast<const FunctionNode *>(fnNode); + generateSynopsisInfo(writer, "notifier", funcNode->name()); + } + } + } + + // Enums and typedefs. + if (enumNode) { + for (const EnumItem &item : enumNode->items()) { + writer.writeStartElement(dbNamespace, "enumitem"); + newLine(writer); + writer.writeAttribute(dbNamespace, "enumidentifier", item.name()); + newLine(writer); + writer.writeAttribute(dbNamespace, "enumvalue", item.value()); + newLine(writer); + writer.writeEndElement(); // enumitem + newLine(writer); + } + } + + writer.writeEndElement(); // nodeToSynopsisTag (like classsynopsis) + newLine(writer); + + // The typedef associated to this enum. + if (enumNode && enumNode->flagsType()) { + writer.writeStartElement(dbNamespace, "typedefsynopsis"); + newLine(writer); + + writer.writeTextElement(dbNamespace, "typedefname", + enumNode->flagsType()->fullDocumentName()); + + writer.writeEndElement(); // typedefsynopsis + newLine(writer); + } +} + +QString taggedNode(const Node *node) +{ + // From CodeMarker::taggedNode, but without the tag part (i.e. only the QML specific case + // remaining). + // TODO: find a better name for this. + if (node->nodeType() == Node::QmlType && node->name().startsWith(QLatin1String("QML:"))) + return node->name().mid(4); + return node->name(); +} + +/*! + Parses a string with method/variable name and (return) type + to include type tags. + */ +void DocBookGenerator::typified(QXmlStreamWriter &writer, const QString &string, + const Node *relative, bool trailingSpace, bool generateType) +{ + // Adapted from CodeMarker::typified and HtmlGenerator::highlightedCode. + // Note: CppCodeMarker::markedUpIncludes is not needed for DocBook, as this part is natively + // generated as DocBook. Hence, there is no need to reimplement <@headerfile> from + // HtmlGenerator::highlightedCode. + QString result; + QString pendingWord; + + for (int i = 0; i <= string.size(); ++i) { + QChar ch; + if (i != string.size()) + ch = string.at(i); + + QChar lower = ch.toLower(); + if ((lower >= QLatin1Char('a') && lower <= QLatin1Char('z')) || ch.digitValue() >= 0 + || ch == QLatin1Char('_') || ch == QLatin1Char(':')) { + pendingWord += ch; + } else { + if (!pendingWord.isEmpty()) { + bool isProbablyType = (pendingWord != QLatin1String("const")); + if (generateType && isProbablyType) { + // Flush the current buffer. + writer.writeCharacters(result); + result.truncate(0); + + // Add the link, logic from HtmlGenerator::highlightedCode. + const Node *n = qdb_->findTypeNode(pendingWord, relative, Node::DontCare); + QString href; + if (!(n && (n->isQmlBasicType() || n->isJsBasicType())) + || (relative + && (relative->genus() == n->genus() || Node::DontCare == n->genus()))) { + href = linkForNode(n, relative); + } + + writer.writeStartElement(dbNamespace, "type"); + if (href.isEmpty()) + writer.writeCharacters(pendingWord); + else + generateSimpleLink(writer, href, pendingWord); + writer.writeEndElement(); // type + } else { + result += pendingWord; + } + } + pendingWord.clear(); + + switch (ch.unicode()) { + case '\0': + break; + // This only breaks out of the switch, not the loop. This means that the loop + // deliberately overshoots by one character. + case '&': + result += QLatin1String("&"); + break; + case '<': + result += QLatin1String("<"); + break; + case '>': + result += QLatin1String(">"); + break; + case '\'': + result += QLatin1String("'"); + break; + case '"': + result += QLatin1String("""); + break; + default: + result += ch; + } + } + } + + if (trailingSpace && string.size()) { + if (!string.endsWith(QLatin1Char('*')) && !string.endsWith(QLatin1Char('&'))) + result += QLatin1Char(' '); + } + + writer.writeCharacters(result); +} + +void DocBookGenerator::generateSynopsisName(QXmlStreamWriter &writer, const Node *node, + const Node *relative, bool generateNameLink) +{ + // Implements the rewriting of <@link> from HtmlGenerator::highlightedCode, only due to calls to + // CodeMarker::linkTag in CppCodeMarker::markedUpSynopsis. + QString name = taggedNode(node); + + if (!generateNameLink) { + writer.writeCharacters(name); + return; + } + + writer.writeStartElement(dbNamespace, "emphasis"); + writer.writeAttribute("role", "bold"); + generateSimpleLink(writer, linkForNode(node, relative), name); + writer.writeEndElement(); // emphasis +} + +void DocBookGenerator::generateParameter(QXmlStreamWriter &writer, const Parameter ¶meter, + const Node *relative, bool generateExtra, + bool generateType) +{ + const QString &pname = parameter.name(); + const QString &ptype = parameter.type(); + QString paramName; + if (!pname.isEmpty()) { + typified(writer, ptype, relative, true, generateType); + paramName = pname; + } else { + paramName = ptype; + } + if (generateExtra || pname.isEmpty()) { + // Look for the _ character in the member name followed by a number (or n): + // this is intended to be rendered as a subscript. + QRegExp sub("([a-z]+)_([0-9]+|n)"); + + writer.writeStartElement(dbNamespace, "emphasis"); + if (sub.indexIn(paramName) != -1) { + writer.writeCharacters(sub.cap(0)); + writer.writeStartElement(dbNamespace, "sub"); + writer.writeCharacters(sub.cap(1)); + writer.writeEndElement(); // sub + } else { + writer.writeCharacters(paramName); + } + writer.writeEndElement(); // emphasis + } + + const QString &pvalue = parameter.defaultValue(); + if (generateExtra && !pvalue.isEmpty()) + writer.writeCharacters(" = " + pvalue); +} + +void DocBookGenerator::generateSynopsis(QXmlStreamWriter &writer, const Node *node, + const Node *relative, Section::Style style) +{ + // From HtmlGenerator::generateSynopsis (conditions written as booleans). + const bool generateExtra = style != Section::AllMembers; + const bool generateType = style != Section::Details; + const bool generateNameLink = style != Section::Details; + + // From CppCodeMarker::markedUpSynopsis, reversed the generation of "extra" and "synopsis". + const int MaxEnumValues = 6; + + // First generate the extra part if needed (condition from HtmlGenerator::generateSynopsis). + if (generateExtra) { + if (node->nodeType() == Node::Function) { + const auto func = static_cast<const FunctionNode *>(node); + if (style != Section::Summary && style != Section::Accessors) { + QStringList bracketed; + if (func->isStatic()) { + bracketed += "static"; + } else if (!func->isNonvirtual()) { + if (func->isFinal()) + bracketed += "final"; + if (func->isOverride()) + bracketed += "override"; + if (func->isPureVirtual()) + bracketed += "pure"; + bracketed += "virtual"; + } + + if (func->access() == Node::Protected) + bracketed += "protected"; + else if (func->access() == Node::Private) + bracketed += "private"; + + if (func->isSignal()) + bracketed += "signal"; + else if (func->isSlot()) + bracketed += "slot"; + + if (!bracketed.isEmpty()) + writer.writeCharacters(QLatin1Char('[') + bracketed.join(' ') + + QStringLiteral("] ")); + } + } + + if (style == Section::Summary) { + QString extra; + if (node->isPreliminary()) + extra = "(preliminary) "; + else if (node->isDeprecated()) + extra = "(deprecated) "; + else if (node->isObsolete()) + extra = "(obsolete) "; + + if (!extra.isEmpty()) + writer.writeCharacters(extra); + } + } + + // Then generate the synopsis. + if (style == Section::Details) { + if (!node->isRelatedNonmember() && !node->isProxyNode() && !node->parent()->name().isEmpty() + && !node->parent()->isHeader() && !node->isProperty() && !node->isQmlNode() + && !node->isJsNode()) { + writer.writeCharacters(taggedNode(node->parent()) + "::"); + } + } + + switch (node->nodeType()) { + case Node::Namespace: + writer.writeCharacters("namespace "); + generateSynopsisName(writer, node, relative, generateNameLink); + break; + case Node::Class: + writer.writeCharacters("class "); + generateSynopsisName(writer, node, relative, generateNameLink); + break; + case Node::Function: { + const auto func = (const FunctionNode *)node; + + // First, the part coming before the name. + if (style == Section::Summary || style == Section::Accessors) { + if (!func->isNonvirtual()) + writer.writeCharacters(QStringLiteral("virtual ")); + } + + // Name and parameters. + if (style != Section::AllMembers && !func->returnType().isEmpty()) + typified(writer, func->returnType(), relative, true, generateType); + generateSynopsisName(writer, node, relative, generateNameLink); + + if (!func->isMacroWithoutParams()) { + writer.writeCharacters(QStringLiteral("(")); + if (!func->parameters().isEmpty()) { + const Parameters ¶meters = func->parameters(); + for (int i = 0; i < parameters.count(); i++) { + if (i > 0) + writer.writeCharacters(QStringLiteral(", ")); + generateParameter(writer, parameters.at(i), relative, generateExtra, + generateType); + } + } + writer.writeCharacters(QStringLiteral(")")); + } + if (func->isConst()) + writer.writeCharacters(QStringLiteral(" const")); + + if (style == Section::Summary || style == Section::Accessors) { + // virtual is prepended, if needed. + QString synopsis; + if (func->isFinal()) + synopsis += QStringLiteral(" final"); + if (func->isOverride()) + synopsis += QStringLiteral(" override"); + if (func->isPureVirtual()) + synopsis += QStringLiteral(" = 0"); + if (func->isRef()) + synopsis += QStringLiteral(" &"); + else if (func->isRefRef()) + synopsis += QStringLiteral(" &&"); + writer.writeCharacters(synopsis); + } else if (style == Section::AllMembers) { + if (!func->returnType().isEmpty() && func->returnType() != "void") { + writer.writeCharacters(QStringLiteral(" : ")); + typified(writer, func->returnType(), relative, false, generateType); + } + } else { + QString synopsis; + if (func->isRef()) + synopsis += QStringLiteral(" &"); + else if (func->isRefRef()) + synopsis += QStringLiteral(" &&"); + writer.writeCharacters(synopsis); + } + } break; + case Node::Enum: { + const auto enume = static_cast<const EnumNode *>(node); + writer.writeCharacters(QStringLiteral("enum ")); + generateSynopsisName(writer, node, relative, generateNameLink); + + QString synopsis; + if (style == Section::Summary) { + synopsis += " { "; + + QStringList documentedItems = enume->doc().enumItemNames(); + if (documentedItems.isEmpty()) { + const auto &enumItems = enume->items(); + for (const auto &item : enumItems) + documentedItems << item.name(); + } + const QStringList omitItems = enume->doc().omitEnumItemNames(); + for (const auto &item : omitItems) + documentedItems.removeAll(item); + + if (documentedItems.size() > MaxEnumValues) { + // Take the last element and keep it safe, then elide the surplus. + const QString last = documentedItems.last(); + documentedItems = documentedItems.mid(0, MaxEnumValues - 1); + documentedItems += "…"; // Ellipsis: in HTML, …. + documentedItems += last; + } + synopsis += documentedItems.join(QLatin1String(", ")); + + if (!documentedItems.isEmpty()) + synopsis += QLatin1Char(' '); + synopsis += QLatin1Char('}'); + } + writer.writeCharacters(synopsis); + } break; + case Node::Typedef: { + const auto typedeff = static_cast<const TypedefNode *>(node); + if (typedeff->associatedEnum()) + writer.writeCharacters("flags "); + else + writer.writeCharacters("typedef "); + generateSynopsisName(writer, node, relative, generateNameLink); + } break; + case Node::Property: { + const auto property = static_cast<const PropertyNode *>(node); + generateSynopsisName(writer, node, relative, generateNameLink); + writer.writeCharacters(" : "); + typified(writer, property->qualifiedDataType(), relative, false, generateType); + } break; + case Node::Variable: { + const auto variable = static_cast<const VariableNode *>(node); + if (style == Section::AllMembers) { + generateSynopsisName(writer, node, relative, generateNameLink); + writer.writeCharacters(" : "); + typified(writer, variable->dataType(), relative, false, generateType); + } else { + typified(writer, variable->leftType(), relative, false, generateType); + writer.writeCharacters(" "); + generateSynopsisName(writer, node, relative, generateNameLink); + writer.writeCharacters(variable->rightType()); + } + } break; + default: + generateSynopsisName(writer, node, relative, generateNameLink); + } +} + +void DocBookGenerator::generateEnumValue(QXmlStreamWriter &writer, const QString &enumValue, + const Node *relative) +{ + // From CppCodeMarker::markedUpEnumValue, simplifications from Generator::plainCode (removing + // <@op>). With respect to CppCodeMarker::markedUpEnumValue, the order of generation of parents + // must be reversed so that they are processed in the order + if (!relative->isEnumType()) { + writer.writeCharacters(enumValue); + return; + } + + QVector<const Node *> parents; + const Node *node = relative->parent(); + while (node->parent()) { + parents.prepend(node); + if (node->parent() == relative || node->parent()->name().isEmpty()) + break; + node = node->parent(); + } + + writer.writeStartElement(dbNamespace, "code"); + for (auto parent : parents) { + generateSynopsisName(writer, parent, relative, true); + writer.writeCharacters("::"); + } + writer.writeCharacters(enumValue); + writer.writeEndElement(); // code +} + +/*! + If the node is an overloaded signal, and a node with an + example on how to connect to it + + Someone didn't finish writing this comment, and I don't know what this + function is supposed to do, so I have not tried to complete the comment + yet. + */ +void DocBookGenerator::generateOverloadedSignal(QXmlStreamWriter &writer, const Node *node) +{ + // From Generator::generateOverloadedSignal. + QString code = getOverloadedSignalCode(node); + if (code.isEmpty()) + return; + + writer.writeStartElement(dbNamespace, "note"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + writer.writeCharacters("Signal "); + writer.writeTextElement(dbNamespace, "emphasis", node->name()); + writer.writeCharacters(" is overloaded in this class. To connect to this " + "signal by using the function pointer syntax, Qt " + "provides a convenient helper for obtaining the " + "function pointer as shown in this example:"); + writer.writeTextElement(dbNamespace, "code", code); + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // note + newLine(writer); +} + +/*! + Generates a bold line that explains that this is a private signal, + only made public to let users pass it to connect(). + */ +void DocBookGenerator::generatePrivateSignalNote(QXmlStreamWriter &writer) +{ + // From Generator::generatePrivateSignalNote. + writer.writeStartElement(dbNamespace, "note"); + newLine(writer); + writer.writeTextElement(dbNamespace, "para", + "This is a private signal. It can be used in signal connections but " + "cannot be emitted by the user."); + writer.writeEndElement(); // note + newLine(writer); +} + +/*! + Generates a bold line that says: + "This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE." + */ +void DocBookGenerator::generateInvokableNote(QXmlStreamWriter &writer, const Node *node) +{ + // From Generator::generateInvokableNote. + writer.writeStartElement(dbNamespace, "note"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + writer.writeCharacters( + "This function can be invoked via the meta-object system and from QML. See "); + generateSimpleLink(writer, node->url(), "Q_INVOKABLE"); + writer.writeCharacters("."); + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // note + newLine(writer); +} + +/*! + Generates bold Note lines that explain how function \a fn + is associated with each of its associated properties. + */ +void DocBookGenerator::generateAssociatedPropertyNotes(QXmlStreamWriter &writer, + const FunctionNode *fn) +{ + // From HtmlGenerator::generateAssociatedPropertyNotes. + if (fn->hasAssociatedProperties()) { + writer.writeStartElement(dbNamespace, "note"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + + NodeList nodes = fn->associatedProperties(); + std::sort(nodes.begin(), nodes.end(), Node::nodeNameLessThan); + for (const auto node : qAsConst(nodes)) { + QString msg; + const auto pn = static_cast<const PropertyNode *>(node); + switch (pn->role(fn)) { + case PropertyNode::Getter: + msg = QStringLiteral("Getter function "); + break; + case PropertyNode::Setter: + msg = QStringLiteral("Setter function "); + break; + case PropertyNode::Resetter: + msg = QStringLiteral("Resetter function "); + break; + case PropertyNode::Notifier: + msg = QStringLiteral("Notifier signal "); + break; + default: + break; + } + writer.writeCharacters(msg + "for property "); + generateSimpleLink(writer, linkForNode(pn, nullptr), pn->name()); + writer.writeCharacters(". "); + } + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // note + newLine(writer); + } +} + +void DocBookGenerator::generateDetailedMember(QXmlStreamWriter &writer, const Node *node, + const PageNode *relative) +{ + // From HtmlGenerator::generateDetailedMember. + writer.writeStartElement(dbNamespace, "section"); + if (node->isSharedCommentNode()) { + const auto scn = reinterpret_cast<const SharedCommentNode *>(node); + const QVector<Node *> &collective = scn->collective(); + + bool firstFunction = true; + for (const Node *n : collective) { + if (n->isFunction()) { + QString nodeRef = refForNode(n); + + if (firstFunction) { + writer.writeAttribute("xml:id", refForNode(collective.at(0))); + newLine(writer); + writer.writeStartElement(dbNamespace, "title"); + generateSynopsis(writer, n, relative, Section::Details); + writer.writeEndElement(); // title + newLine(writer); + + firstFunction = false; + } else { + writer.writeStartElement(dbNamespace, "bridgehead"); + writer.writeAttribute("renderas", "sect2"); + writer.writeAttribute("xml:id", nodeRef); + generateSynopsis(writer, n, relative, Section::Details); + writer.writeEndElement(); // bridgehead + newLine(writer); + } + } + } + } else { + const EnumNode *etn; + QString nodeRef = refForNode(node); + if (node->isEnumType() && (etn = static_cast<const EnumNode *>(node))->flagsType()) { + writer.writeAttribute("xml:id", nodeRef); + newLine(writer); + writer.writeStartElement(dbNamespace, "title"); + generateSynopsis(writer, etn, relative, Section::Details); + writer.writeEndElement(); // title + newLine(writer); + writer.writeStartElement(dbNamespace, "bridgehead"); + generateSynopsis(writer, etn->flagsType(), relative, Section::Details); + writer.writeEndElement(); // bridgehead + newLine(writer); + } else { + writer.writeAttribute("xml:id", nodeRef); + newLine(writer); + writer.writeStartElement(dbNamespace, "title"); + generateSynopsis(writer, node, relative, Section::Details); + writer.writeEndElement(); // title + newLine(writer); + } + } + + generateDocBookSynopsis(writer, node); + + generateStatus(writer, node); + generateBody(writer, node); + generateOverloadedSignal(writer, node); + generateThreadSafeness(writer, node); + generateSince(writer, node); + + if (node->isProperty()) { + const auto property = static_cast<const PropertyNode *>(node); + Section section(Section::Accessors, Section::Active); + + section.appendMembers(property->getters().toVector()); + section.appendMembers(property->setters().toVector()); + section.appendMembers(property->resetters().toVector()); + + if (!section.members().isEmpty()) { + writer.writeStartElement(dbNamespace, "para"); + newLine(writer); + writer.writeTextElement(dbNamespace, "emphasis", "Access functions:"); + writer.writeAttribute("role", "bold"); + newLine(writer); + writer.writeEndElement(); // para + newLine(writer); + generateSectionList(writer, section, node); + } + + Section notifiers(Section::Accessors, Section::Active); + notifiers.appendMembers(property->notifiers().toVector()); + + if (!notifiers.members().isEmpty()) { + writer.writeStartElement(dbNamespace, "para"); + newLine(writer); + writer.writeTextElement(dbNamespace, "emphasis", "Notifier signal:"); + writer.writeAttribute("role", "bold"); + newLine(writer); + writer.writeEndElement(); // para + newLine(writer); + generateSectionList(writer, notifiers, node); + } + } else if (node->isFunction()) { + const auto fn = static_cast<const FunctionNode *>(node); + if (fn->isPrivateSignal()) + generatePrivateSignalNote(writer); + if (fn->isInvokable()) + generateInvokableNote(writer, node); + generateAssociatedPropertyNotes(writer, fn); + } else if (node->isEnumType()) { + const auto en = static_cast<const EnumNode *>(node); + + if (qflagsHref_.isEmpty()) { + Node *qflags = qdb_->findClassNode(QStringList("QFlags")); + if (qflags) + qflagsHref_ = linkForNode(qflags, nullptr); + } + + if (en->flagsType()) { + writer.writeStartElement(dbNamespace, "para"); + writer.writeCharacters("The " + en->flagsType()->name() + " type is a typedef for "); + generateSimpleLink(writer, qflagsHref_, "QFlags"); + writer.writeCharacters("<" + en->name() + ">. "); + writer.writeCharacters("It stores an OR combination of " + en->name() + "values."); + writer.writeEndElement(); // para + newLine(writer); + } + } + generateAlsoList(writer, node); + endSection(writer); // section +} + +void DocBookGenerator::generateSectionList(QXmlStreamWriter &writer, const Section §ion, + const Node *relative, Section::Status status) +{ + // From HtmlGenerator::generateSectionList, just generating a list (not tables). + const NodeVector &members = + (status == Section::Obsolete ? section.obsoleteMembers() : section.members()); + if (!members.isEmpty()) { + bool hasPrivateSignals = false; + bool isInvokable = false; + + writer.writeStartElement(dbNamespace, "itemizedlist"); + newLine(writer); + + int i = 0; + NodeVector::ConstIterator m = members.constBegin(); + while (m != members.constEnd()) { + if ((*m)->access() == Node::Private) { + ++m; + continue; + } + + writer.writeStartElement(dbNamespace, "listitem"); + newLine(writer); + writer.writeStartElement(dbNamespace, "para"); + + // prefix no more needed. + generateSynopsis(writer, *m, relative, section.style()); + if ((*m)->isFunction()) { + const auto fn = static_cast<const FunctionNode *>(*m); + if (fn->isPrivateSignal()) + hasPrivateSignals = true; + else if (fn->isInvokable()) + isInvokable = true; + } + + writer.writeEndElement(); // para + newLine(writer); + writer.writeEndElement(); // listitem + newLine(writer); + + i++; + ++m; + } + + writer.writeEndElement(); // itemizedlist + newLine(writer); + + if (hasPrivateSignals) + generatePrivateSignalNote(writer); + if (isInvokable) + generateInvokableNote(writer, relative); + } + + if (status != Section::Obsolete && section.style() == Section::Summary + && !section.inheritedMembers().isEmpty()) { + writer.writeStartElement(dbNamespace, "itemizedlist"); + newLine(writer); + + generateSectionInheritedList(writer, section, relative); + + writer.writeEndElement(); // itemizedlist + newLine(writer); + } +} + +void DocBookGenerator::generateSectionInheritedList(QXmlStreamWriter &writer, + const Section §ion, const Node *relative) +{ + // From HtmlGenerator::generateSectionInheritedList. + QVector<QPair<Aggregate *, int>>::ConstIterator p = section.inheritedMembers().constBegin(); + while (p != section.inheritedMembers().constEnd()) { + writer.writeStartElement(dbNamespace, "listitem"); + writer.writeCharacters(QString((*p).second) + " "); + if ((*p).second == 1) + writer.writeCharacters(section.singular()); + else + writer.writeCharacters(section.plural()); + writer.writeCharacters(" inherited from "); + generateSimpleLink( + writer, fileName((*p).first) + '#' + Generator::cleanRef(section.title().toLower()), + (*p).first->plainFullName(relative)); + ++p; + } +} + +/*! + Generate the DocBook page for an entity that doesn't map + to any underlying parsable C++, QML, or Javascript element. + */ +void DocBookGenerator::generatePageNode(PageNode *pn) +{ + // From HtmlGenerator::generatePageNode, remove anything related to TOCs. + QXmlStreamWriter &writer = *startDocument(pn); + + generateHeader(writer, pn->fullTitle(), pn->subtitle(), pn); + generateBody(writer, pn); + generateAlsoList(writer, pn); + generateFooter(writer); + + endDocument(&writer); +} + +/*! + Extract sections of markup text and output them. + */ +bool DocBookGenerator::generateQmlText(QXmlStreamWriter &writer, const Text &text, + const Node *relative) +{ + // From Generator::generateQmlText. + const Atom *atom = text.firstAtom(); + bool result = false; + + if (atom != nullptr) { + initializeTextOutput(); + while (atom) { + if (atom->type() != Atom::QmlText) + atom = atom->next(); + else { + atom = atom->next(); + while (atom && (atom->type() != Atom::EndQmlText)) { + int n = 1 + generateAtom(writer, atom, relative); + while (n-- > 0) + atom = atom->next(); + } + } + } + result = true; + } + return result; +} + +/*! + Generate the DocBook page for a QML type. \qcn is the QML type. + */ +void DocBookGenerator::generateQmlTypePage(QmlTypeNode *qcn) +{ + // From HtmlGenerator::generateQmlTypePage. + // Start producing the DocBook file. + QXmlStreamWriter &writer = *startDocument(qcn); + + Generator::setQmlTypeContext(qcn); + QString title = qcn->fullTitle(); + if (qcn->isJsType()) + title += " JavaScript Type"; + else + title += " QML Type"; + + generateHeader(writer, title, qcn->subtitle(), qcn); + generateQmlRequisites(writer, qcn); + + startSection(writer, registerRef("details"), "Detailed Description"); + generateBody(writer, qcn); + + ClassNode *cn = qcn->classNode(); + if (cn) + generateQmlText(writer, cn->doc().body(), cn); + generateAlsoList(writer, qcn); + + endSection(writer); + + Sections sections(qcn); + for (const auto §ion : sections.stdQmlTypeDetailsSections()) { + if (!section.isEmpty()) { + startSection(writer, registerRef(section.title().toLower()), section.title()); + + for (const auto &member : section.members()) + generateDetailedQmlMember(writer, member, qcn); + + endSection(writer); + } + } + + generateObsoleteQmlMembers(writer, sections); + + generateFooter(writer); + Generator::setQmlTypeContext(nullptr); + + endDocument(&writer); +} + +/*! + Generate the DocBook page for the QML basic type represented + by the QML basic type node \a qbtn. + */ +void DocBookGenerator::generateQmlBasicTypePage(QmlBasicTypeNode *qbtn) +{ + // From HtmlGenerator::generateQmlBasicTypePage. + // Start producing the DocBook file. + QXmlStreamWriter &writer = *startDocument(qbtn); + + QString htmlTitle = qbtn->fullTitle(); + if (qbtn->isJsType()) + htmlTitle += " JavaScript Basic Type"; + else + htmlTitle += " QML Basic Type"; + + Sections sections(qbtn); + generateHeader(writer, htmlTitle, qbtn->subtitle(), qbtn); + + startSection(writer, registerRef("details"), "Detailed Description"); + + generateBody(writer, qbtn); + generateAlsoList(writer, qbtn); + + endSection(writer); + + SectionVector::ConstIterator s = sections.stdQmlTypeDetailsSections().constBegin(); + while (s != sections.stdQmlTypeDetailsSections().constEnd()) { + if (!s->isEmpty()) { + startSection(writer, registerRef(s->title().toLower()), s->title()); + + NodeVector::ConstIterator m = s->members().constBegin(); + while (m != s->members().constEnd()) { + generateDetailedQmlMember(writer, *m, qbtn); + ++m; + } + + endSection(writer); + } + ++s; + } + generateFooter(writer); + + endDocument(&writer); +} + +/*! + Outputs the DocBook detailed documentation for a section + on a QML element reference page. + */ +void DocBookGenerator::generateDetailedQmlMember(QXmlStreamWriter &writer, Node *node, + const Aggregate *relative) +{ + // From HtmlGenerator::generateDetailedQmlMember, with elements from + // CppCodeMarker::markedUpQmlItem and HtmlGenerator::generateQmlItem. + std::function<QString(QmlPropertyNode *)> getQmlPropertyTitle = [&](QmlPropertyNode *n) { + if (!n->isReadOnlySet() && n->declarativeCppNode()) + n->markReadOnly(!n->isWritable()); + + QString title; + if (!n->isWritable()) + title += "[read-only] "; + if (n->isDefault()) + title += "[default] "; + + // Finalise generation of name, as per CppCodeMarker::markedUpQmlItem. + if (n->isAttached()) + title += n->element() + QLatin1Char('.'); + title += n->name() + " : " + n->dataType(); + + return title; + }; + + std::function<void(QXmlStreamWriter &, Node *)> generateQmlMethodTitle = + [&](QXmlStreamWriter &w, Node *n) { + generateSynopsis(w, n, relative, Section::Details); + }; + + bool generateEndSection = true; + + if (node->isPropertyGroup()) { + const auto scn = static_cast<const SharedCommentNode *>(node); + + QString heading; + if (!scn->name().isEmpty()) + heading = scn->name() + " group"; + else + heading = node->name(); + startSection(writer, refForNode(scn), heading); + // This last call creates a title for this section. In other words, + // titles are forbidden for the rest of the section. + + const QVector<Node *> sharedNodes = scn->collective(); + for (const auto &node : sharedNodes) { + if (node->isQmlProperty() || node->isJsProperty()) { + auto *qpn = static_cast<QmlPropertyNode *>(node); + + writer.writeStartElement(dbNamespace, "bridgehead"); + writer.writeAttribute("renderas", "sect2"); + writer.writeAttribute("xml:id", refForNode(qpn)); + writer.writeCharacters(getQmlPropertyTitle(qpn)); + writer.writeEndElement(); // bridgehead + newLine(writer); + + generateDocBookSynopsis(writer, qpn); + } + } + } else if (node->isQmlProperty() || node->isJsProperty()) { + auto qpn = static_cast<QmlPropertyNode *>(node); + startSection(writer, refForNode(qpn), getQmlPropertyTitle(qpn)); + generateDocBookSynopsis(writer, qpn); + } else if (node->isSharedCommentNode()) { + const auto scn = reinterpret_cast<const SharedCommentNode *>(node); + const QVector<Node *> &sharedNodes = scn->collective(); + + // In the section, generate a title for the first node, then bridgeheads for + // the next ones. + int i = 0; + for (const auto m : sharedNodes) { + // Ignore this element if there is nothing to generate. + if (!node->isFunction(Node::QML) && !node->isFunction(Node::JS) + && !node->isQmlProperty() && !node->isJsProperty()) { + continue; + } + + // Complete the section tag. + if (i == 0) { + writer.writeStartElement(dbNamespace, "section"); + writer.writeAttribute("xml:id", refForNode(m)); + newLine(writer); + } + + // Write the tag containing the title. + writer.writeStartElement(dbNamespace, (i == 0) ? "title" : "bridgehead"); + if (i > 0) + writer.writeAttribute("renderas", "sect2"); + + // Write the title. + QString title; + if (node->isFunction(Node::QML) || node->isFunction(Node::JS)) + generateQmlMethodTitle(writer, node); + else if (node->isQmlProperty() || node->isJsProperty()) + writer.writeCharacters(getQmlPropertyTitle(static_cast<QmlPropertyNode *>(node))); + + // Complete the title and the synopsis. + generateDocBookSynopsis(writer, m); + ++i; + } + + if (i == 0) + generateEndSection = false; + } else { // assume the node is a method/signal handler + startSectionBegin(writer, refForNode(node)); + generateQmlMethodTitle(writer, node); + startSectionEnd(writer); + } + + generateStatus(writer, node); + generateBody(writer, node); + generateThreadSafeness(writer, node); + generateSince(writer, node); + generateAlsoList(writer, node); + + if (generateEndSection) + endSection(writer); +} + +/*! + Recursive writing of DocBook files from the root \a node. + */ +void DocBookGenerator::generateDocumentation(Node *node) +{ + // Mainly from Generator::generateDocumentation, with parts from + // Generator::generateDocumentation and WebXMLGenerator::generateDocumentation. + // Don't generate nodes that are already processed, or if they're not + // supposed to generate output, ie. external, index or images nodes. + if (!node->url().isNull()) + return; + if (node->isIndexNode()) + return; + if (node->isInternal() && !showInternal_) + return; + if (node->isExternalPage()) + return; + + if (node->parent()) { + if (node->isCollectionNode()) { + /* + A collection node collects: groups, C++ modules, + QML modules or JavaScript modules. Testing for a + CollectionNode must be done before testing for a + TextPageNode because a CollectionNode is a PageNode + at this point. + + Don't output an HTML page for the collection + node unless the \group, \module, \qmlmodule or + \jsmodule command was actually seen by qdoc in + the qdoc comment for the node. + + A key prerequisite in this case is the call to + mergeCollections(cn). We must determine whether + this group, module, QML module, or JavaScript + module has members in other modules. We know at + this point that cn's members list contains only + members in the current module. Therefore, before + outputting the page for cn, we must search for + members of cn in the other modules and add them + to the members list. + */ + auto cn = static_cast<CollectionNode *>(node); + if (cn->wasSeen()) { + qdb_->mergeCollections(cn); + generateCollectionNode(cn); + } else if (cn->isGenericCollection()) { + // Currently used only for the module's related orphans page + // but can be generalized for other kinds of collections if + // other use cases pop up. + generateGenericCollectionPage(cn); + } + } else if (node->isTextPageNode()) { // Pages. + generatePageNode(static_cast<PageNode *>(node)); + } else if (node->isAggregate()) { // Aggregates. + if ((node->isClassNode() || node->isHeader() || node->isNamespace()) + && node->docMustBeGenerated()) { + generateCppReferencePage(static_cast<Aggregate *>(node)); + } else if (node->isQmlType() || node->isJsType()) { + generateQmlTypePage(static_cast<QmlTypeNode *>(node)); + } else if (node->isQmlBasicType() || node->isJsBasicType()) { + generateQmlBasicTypePage(static_cast<QmlBasicTypeNode *>(node)); + } else if (node->isProxyNode()) { + generateProxyPage(static_cast<Aggregate *>(node)); + } + } + } + + if (node->isAggregate()) { + auto *aggregate = static_cast<Aggregate *>(node); + for (auto c : aggregate->childNodes()) { + if (node->isPageNode() && !node->isPrivate()) + generateDocumentation(c); + } + } +} + +void DocBookGenerator::generateProxyPage(Aggregate *aggregate) +{ + // Adapted from HtmlGenerator::generateProxyPage. + Q_ASSERT(aggregate->isProxyNode()); + + // Start producing the DocBook file. + QXmlStreamWriter &writer = *startDocument(aggregate); + + // Info container. + generateHeader(writer, aggregate->plainFullName(), "", aggregate); + + // No element synopsis. + + // Actual content. + if (!aggregate->doc().isEmpty()) { + startSection(writer, registerRef("details"), "Detailed Description"); + + generateBody(writer, aggregate); + generateAlsoList(writer, aggregate); + generateMaintainerList(writer, aggregate); + + endSection(writer); + } + + Sections sections(aggregate); + SectionVector *detailsSections = §ions.stdDetailsSections(); + + for (const auto §ion : qAsConst(*detailsSections)) { + if (section.isEmpty()) + continue; + + startSection(writer, section.title().toLower(), section.title()); + + const QVector<Node *> &members = section.members(); + for (const auto &member : members) { + if (!member->isPrivate()) { // ### check necessary? + if (!member->isClassNode()) { + generateDetailedMember(writer, member, aggregate); + } else { + startSectionBegin(writer); + generateFullName(writer, member, aggregate); + startSectionEnd(writer); + generateBrief(writer, member); + endSection(writer); + } + } + } + + endSection(writer); + } + + generateFooter(writer); + + endDocument(&writer); +} + +/*! + Generate the HTML page for a group, module, or QML module. + */ +void DocBookGenerator::generateCollectionNode(CollectionNode *cn) +{ + // Adapted from HtmlGenerator::generateCollectionNode. + // Start producing the DocBook file. + QXmlStreamWriter &writer = *startDocument(cn); + + // Info container. + generateHeader(writer, cn->fullTitle(), cn->subtitle(), cn); + + // Element synopsis. + generateDocBookSynopsis(writer, cn); + + // Actual content. + if (cn->isModule()) { + // Generate brief text and status for modules. + generateBrief(writer, cn); + generateStatus(writer, cn); + generateSince(writer, cn); + + NodeMultiMap nmm; + cn->getMemberNamespaces(nmm); + if (!nmm.isEmpty()) { + startSection(writer, registerRef("namespaces"), "Namespaces"); + generateAnnotatedList(writer, cn, nmm, "namespaces"); + endSection(writer); + } + nmm.clear(); + cn->getMemberClasses(nmm); + if (!nmm.isEmpty()) { + startSection(writer, registerRef("classes"), "Classes"); + generateAnnotatedList(writer, cn, nmm, "classes"); + endSection(writer); + } + nmm.clear(); + } + + Text brief = cn->doc().briefText(); + bool generatedTitle = false; + if (cn->isModule() && !brief.isEmpty()) { + startSection(writer, registerRef("details"), "Detailed Description"); + generatedTitle = true; + } else { + writeAnchor(writer, registerRef("details")); + } + + generateBody(writer, cn); + generateAlsoList(writer, cn); + + if (!cn->noAutoList() && (cn->isGroup() || cn->isQmlModule() || cn->isJsModule())) + generateAnnotatedList(writer, cn, cn->members(), "members"); + + if (generatedTitle) + endSection(writer); + + generateFooter(writer); + + endDocument(&writer); +} + +/*! + Generate the HTML page for a generic collection. This is usually + a collection of C++ elements that are related to an element in + a different module. + */ +void DocBookGenerator::generateGenericCollectionPage(CollectionNode *cn) +{ + // Adapted from HtmlGenerator::generateGenericCollectionPage. + // TODO: factor out this code to generate a file name. + QString name = cn->name().toLower(); + name.replace(QChar(' '), QString("-")); + QString filename = + cn->tree()->physicalModuleName() + "-" + name + "." + fileExtension(); + + // Start producing the DocBook file. + QXmlStreamWriter &writer = *startGenericDocument(cn, filename); + + // Info container. + generateHeader(writer, cn->fullTitle(), cn->subtitle(), cn); + + // Element synopsis. + generateDocBookSynopsis(writer, cn); + + // Actual content. + writer.writeStartElement(dbNamespace, "para"); + writer.writeCharacters("Each function or type documented here is related to a class or " + "namespace that is documented in a different module. The reference " + "page for that class or namespace will link to the function or type " + "on this page."); + writer.writeEndElement(); // para + + const CollectionNode *cnc = cn; + const QList<Node *> members = cn->members(); + for (const auto &member : members) + generateDetailedMember(writer, member, cnc); + + generateFooter(writer); + + endDocument(&writer); +} + +void DocBookGenerator::generateFullName(QXmlStreamWriter &writer, const Node *node, + const Node *relative) +{ + // From Generator::appendFullName. + writer.writeStartElement(dbNamespace, "link"); + writer.writeAttribute(xlinkNamespace, "href", fullDocumentLocation(node)); + writer.writeAttribute(xlinkNamespace, "role", targetType(node)); + writer.writeCharacters(node->fullName(relative)); + writer.writeEndElement(); // link +} + +void DocBookGenerator::generateFullName(QXmlStreamWriter &writer, const Node *apparentNode, + const QString &fullName, const Node *actualNode) +{ + // From Generator::appendFullName. + if (actualNode == nullptr) + actualNode = apparentNode; + writer.writeStartElement(dbNamespace, "link"); + writer.writeAttribute(xlinkNamespace, "href", fullDocumentLocation(actualNode)); + writer.writeAttribute("type", targetType(actualNode)); + writer.writeCharacters(fullName); + writer.writeEndElement(); // link +} + +QT_END_NAMESPACE diff --git a/src/qdoc/docbookgenerator.h b/src/qdoc/docbookgenerator.h new file mode 100644 index 000000000..202a0c5c7 --- /dev/null +++ b/src/qdoc/docbookgenerator.h @@ -0,0 +1,167 @@ +/**************************************************************************** +** +** Copyright (C) 2019 Thibaut Cuvelier +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/* + docbookgenerator.h +*/ + +#ifndef DOCBOOKGENERATOR_H +#define DOCBOOKGENERATOR_H + +#include <qhash.h> +#include <qregexp.h> +#include <qxmlstream.h> +#include "codemarker.h" +#include "config.h" +#include "xmlgenerator.h" + +#include <QtCore/qxmlstream.h> + +#include "codemarker.h" +#include "config.h" + +QT_BEGIN_NAMESPACE + +class DocBookGenerator : public XmlGenerator +{ +public: + explicit DocBookGenerator() = default; + + void initializeGenerator(const Config &config) override; + QString format() override; + +protected: + QString fileExtension() const override; + void generateDocumentation(Node *node) override; + void generateCppReferencePage(Node *node); + void generatePageNode(PageNode *pn); + void generateQmlTypePage(QmlTypeNode *qcn); + void generateQmlBasicTypePage(QmlBasicTypeNode *qbtn); + void generateCollectionNode(CollectionNode *cn); + void generateGenericCollectionPage(CollectionNode *cn); + void generateProxyPage(Aggregate *aggregate); + + void generateList(QXmlStreamWriter &writer, const Node *relative, const QString &selector); + void generateHeader(QXmlStreamWriter &writer, const QString &title, const QString &subtitle, + const Node *node); + void closeTextSections(QXmlStreamWriter &writer); + void generateFooter(QXmlStreamWriter &writer); + void generateDocBookSynopsis(QXmlStreamWriter &writer, const Node *node); + void generateRequisites(QXmlStreamWriter &writer, const Aggregate *inner); + void generateQmlRequisites(QXmlStreamWriter &writer, const QmlTypeNode *qcn); + void generateSortedNames(QXmlStreamWriter &writer, const ClassNode *cn, + const QVector<RelatedClass> &rc); + void generateSortedQmlNames(QXmlStreamWriter &writer, const Node *base, const NodeList &subs); + bool generateStatus(QXmlStreamWriter &writer, const Node *node); + bool generateThreadSafeness(QXmlStreamWriter &writer, const Node *node); + bool generateSince(QXmlStreamWriter &writer, const Node *node); + void generateBody(QXmlStreamWriter &writer, const Node *node); + + bool generateText(QXmlStreamWriter &writer, const Text &text, const Node *relative); + const Atom *generateAtomList(QXmlStreamWriter &writer, const Atom *atom, const Node *relative, + bool generate, int &numAtoms); + int generateAtom(QXmlStreamWriter &writer, const Atom *atom, const Node *relative); + +private: + QXmlStreamWriter *startDocument(const Node *node); + QXmlStreamWriter *startDocument(const ExampleNode *en, const QString &file); + QXmlStreamWriter *startGenericDocument(const Node *node, const QString &fileName); + static void endDocument(QXmlStreamWriter *writer); + + void generateAnnotatedList(QXmlStreamWriter &writer, const Node *relative, + const NodeList &nodeList, const QString &selector); + void generateAnnotatedList(QXmlStreamWriter &writer, const Node *relative, + const NodeMultiMap &nmm, const QString &selector); + void generateAnnotatedLists(QXmlStreamWriter &writer, const Node *relative, + const NodeMultiMap &nmm, const QString &selector); + void generateCompactList(QXmlStreamWriter &writer, ListType listType, const Node *relative, + const NodeMultiMap &nmm, const QString &commonPrefix, + const QString &selector); + void generateFileList(QXmlStreamWriter &writer, const ExampleNode *en, bool images); + void generateObsoleteMembers(QXmlStreamWriter &writer, const Sections §ions); + void generateObsoleteQmlMembers(QXmlStreamWriter &writer, const Sections §ions); + void generateSectionList(QXmlStreamWriter &writer, const Section §ion, const Node *relative, + Section::Status status = Section::Active); + void generateSectionInheritedList(QXmlStreamWriter &writer, const Section §ion, + const Node *relative); + void generateSynopsisName(QXmlStreamWriter &writer, const Node *node, const Node *relative, + bool generateNameLink); + void generateParameter(QXmlStreamWriter &writer, const Parameter ¶meter, + const Node *relative, bool generateExtra, bool generateType); + void generateSynopsis(QXmlStreamWriter &writer, const Node *node, const Node *relative, + Section::Style style); + void generateEnumValue(QXmlStreamWriter &writer, const QString &enumValue, + const Node *relative); + void generateDetailedMember(QXmlStreamWriter &writer, const Node *node, + const PageNode *relative); + void generateDetailedQmlMember(QXmlStreamWriter &writer, Node *node, const Aggregate *relative); + + void generateFullName(QXmlStreamWriter &writer, const Node *node, const Node *relative); + void generateFullName(QXmlStreamWriter &writer, const Node *apparentNode, + const QString &fullName, const Node *actualNode); + void generateBrief(QXmlStreamWriter &writer, const Node *node); + void generateAlsoList(QXmlStreamWriter &writer, const Node *node); + static void generateSignatureList(QXmlStreamWriter &writer, const NodeList &nodes); + void generateMaintainerList(QXmlStreamWriter &writer, const Aggregate *node); + void generateReimplementsClause(QXmlStreamWriter &writer, const FunctionNode *fn); + void generateClassHierarchy(QXmlStreamWriter &writer, const Node *relative, NodeMap &classMap); + void generateFunctionIndex(QXmlStreamWriter &writer, const Node *relative); + void generateLegaleseList(QXmlStreamWriter &writer, const Node *relative); + void generateExampleFilePage(const Node *en, const QString &file); + static void generateOverloadedSignal(QXmlStreamWriter &writer, const Node *node); + static void generatePrivateSignalNote(QXmlStreamWriter &writer); + static void generateInvokableNote(QXmlStreamWriter &writer, const Node *node); + void generateAssociatedPropertyNotes(QXmlStreamWriter &writer, const FunctionNode *fn); + bool generateQmlText(QXmlStreamWriter &writer, const Text &text, const Node *relative); + void generateRequiredLinks(QXmlStreamWriter &writer, const Node *node); + void generateLinkToExample(QXmlStreamWriter &writer, const ExampleNode *en, + const QString &baseUrl); + + void typified(QXmlStreamWriter &writer, const QString &string, const Node *relative, + bool trailingSpace = false, bool generateType = true); + void generateLink(QXmlStreamWriter &writer, const Atom *atom); + void beginLink(QXmlStreamWriter &writer, const QString &link, const Node *node, + const Node *relative); + void endLink(QXmlStreamWriter &writer); + + bool hasQuotingInformation {}; + bool inListItemLineOpen {}; + bool inLink {}; + int currentSectionLevel {}; + QStack<int> sectionLevels {}; + QString qflagsHref_; + + QString project; + QString projectDescription; + QString naturalLanguage; + QString buildversion; +}; + +QT_END_NAMESPACE + +#endif diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index 846db961a..6bcc084b5 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -80,6 +80,7 @@ bool Generator::qdocSingleExec_ = false; bool Generator::qdocWriteQaPages_ = false; bool Generator::useOutputSubdirs_ = true; bool Generator::useTimestamps_ = false; +bool Generator::useDocBookExtensions_ = false; QmlTypeNode *Generator::qmlTypeContext_ = nullptr; static QRegExp tag("</?@[^>]*>"); @@ -1560,11 +1561,7 @@ QString Generator::getOverloadedSignalCode(const Node *node) } /*! - If the node is an overloaded signal, and a node with an example on how to connect to it - - Someone didn't finish writing this comment, and I don't know what this - function is supposed to do, so I have not tried to complete the comment - yet. + If the node is an overloaded signal, add a node with an example on how to connect to it */ void Generator::generateOverloadedSignal(const Node *node, CodeMarker *marker) { diff --git a/src/qdoc/generator.h b/src/qdoc/generator.h index 6723884f1..f4f5a75df 100644 --- a/src/qdoc/generator.h +++ b/src/qdoc/generator.h @@ -84,6 +84,7 @@ public: static bool autolinkErrors() { return autolinkErrors_; } static void setQDocPass(QDocPass t) { qdocPass_ = t; } static void setUseTimestamps() { useTimestamps_ = true; } + static void setUseDocBookExtensions() { useDocBookExtensions_ = true; } static bool preparing() { return (qdocPass_ == Prepare); } static bool generating() { return (qdocPass_ == Generate); } static bool singleExec() { return qdocSingleExec_; } @@ -99,6 +100,7 @@ public: static QString cleanRef(const QString &ref); static QString plainCode(const QString &markedCode); static bool useTimestamps() { return useTimestamps_; } + static bool useDocBookExtensions() { return useDocBookExtensions_; } protected: static QFile *openSubPageFile(const Node *node, const QString &fileName); @@ -193,6 +195,8 @@ protected: void signatureList(const NodeList &nodes, const Node *relative, CodeMarker *marker); void addImageToCopy(const ExampleNode *en, const QString &file); + static bool compareNodes(const Node *a, const Node *b) { return (a->name() < b->name()); } + static bool comparePaths(const QString &a, const QString &b) { return (a < b); } private: static Generator *currentGenerator_; @@ -223,11 +227,10 @@ private: static bool qdocWriteQaPages_; static bool useOutputSubdirs_; static bool useTimestamps_; + static bool useDocBookExtensions_; static QmlTypeNode *qmlTypeContext_; void generateReimplementsClause(const FunctionNode *fn, CodeMarker *marker); - static bool compareNodes(Node *a, Node *b) { return (a->name() < b->name()); } - static bool comparePaths(QString a, QString b) { return (a < b); } static void copyTemplateFiles(const Config &config, const QString &configVar, const QString &subDir); diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 794e39fe4..912308a4c 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -4204,11 +4204,11 @@ QXmlStreamWriter &HtmlGenerator::xmlWriter() Generates bold Note lines that explain how function \a fn is associated with each of its associated properties. */ -void HtmlGenerator::generateAssociatedPropertyNotes(FunctionNode *fn) +void HtmlGenerator::generateAssociatedPropertyNotes(const FunctionNode *fn) { if (fn->hasAssociatedProperties()) { out() << "<p><b>Note:</b> "; - NodeList &nodes = fn->associatedProperties(); + NodeList nodes = fn->associatedProperties(); std::sort(nodes.begin(), nodes.end(), Node::nodeNameLessThan); for (const auto *node : qAsConst(nodes)) { QString msg; diff --git a/src/qdoc/htmlgenerator.h b/src/qdoc/htmlgenerator.h index 1e3c46ef3..81516ef15 100644 --- a/src/qdoc/htmlgenerator.h +++ b/src/qdoc/htmlgenerator.h @@ -81,7 +81,7 @@ protected: void generateManifestFile(const QString &manifest, const QString &element); void readManifestMetaContent(const Config &config); void generateKeywordAnchors(const Node *node); - void generateAssociatedPropertyNotes(FunctionNode *fn); + void generateAssociatedPropertyNotes(const FunctionNode *fn); private: enum SubTitleSize { SmallSubTitle, LargeSubTitle }; diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp index 2b2b7a6f8..5bb4c2d28 100644 --- a/src/qdoc/main.cpp +++ b/src/qdoc/main.cpp @@ -34,6 +34,7 @@ #include "cppcodeparser.h" #include "doc.h" #include "htmlgenerator.h" +#include "docbookgenerator.h" #include "jscodemarker.h" #include "location.h" #include "loggingcategory.h" @@ -559,6 +560,7 @@ int main(int argc, char **argv) HtmlGenerator htmlGenerator; WebXMLGenerator webXMLGenerator; + DocBookGenerator docBookGenerator; Config config(QCoreApplication::translate("QDoc", "qdoc"), app.arguments()); diff --git a/src/qdoc/node.h b/src/qdoc/node.h index 5a97d194a..d400fc1d4 100644 --- a/src/qdoc/node.h +++ b/src/qdoc/node.h @@ -1056,7 +1056,7 @@ public: QString signature(bool values, bool noReturnType) const override; const QString &overridesThis() const { return overridesThis_; } - NodeList &associatedProperties() { return associatedProperties_; } + const NodeList &associatedProperties() const { return associatedProperties_; } const QStringList &parentPath() const { return parentPath_; } bool hasAssociatedProperties() const { return !associatedProperties_.isEmpty(); } bool hasOneAssociatedProperty() const { return (associatedProperties_.size() == 1); } diff --git a/src/qdoc/qdoc.pro b/src/qdoc/qdoc.pro index c38c50b16..11a11b70f 100644 --- a/src/qdoc/qdoc.pro +++ b/src/qdoc/qdoc.pro @@ -39,6 +39,7 @@ HEADERS += atom.h \ cppcodemarker.h \ cppcodeparser.h \ doc.h \ + docbookgenerator.h \ editdistance.h \ generator.h \ helpprojectwriter.h \ @@ -72,6 +73,7 @@ SOURCES += atom.cpp \ cppcodemarker.cpp \ cppcodeparser.cpp \ doc.cpp \ + docbookgenerator.cpp \ editdistance.cpp \ generator.cpp \ helpprojectwriter.cpp \ diff --git a/src/qdoc/qdoccommandlineparser.cpp b/src/qdoc/qdoccommandlineparser.cpp index 3bd01fae5..02e8977ff 100644 --- a/src/qdoc/qdoccommandlineparser.cpp +++ b/src/qdoc/qdoccommandlineparser.cpp @@ -62,7 +62,8 @@ QDocCommandLineParser::QDocCommandLineParser() "path"), frameworkOption("F", "Add macOS framework to the include path for header files.", "framework"), - timestampsOption(QStringList() << QStringLiteral("timestamps")) + timestampsOption(QStringList() << QStringLiteral("timestamps")), + useDocBookExtensions(QStringList() << QStringLiteral("docbook-extensions")) { setApplicationDescription(QCoreApplication::translate("qdoc", "Qt documentation generator")); addHelpOption(); @@ -165,6 +166,10 @@ QDocCommandLineParser::QDocCommandLineParser() timestampsOption.setDescription( QCoreApplication::translate("qdoc", "Timestamp each qdoc log line.")); addOption(timestampsOption); + + useDocBookExtensions.setDescription(QCoreApplication::translate( + "qdoc", "Use the DocBook Library extensions for metadata.")); + addOption(useDocBookExtensions); } /*! diff --git a/src/qdoc/qdoccommandlineparser.h b/src/qdoc/qdoccommandlineparser.h index d88cb6ffc..2ab50c0bc 100644 --- a/src/qdoc/qdoccommandlineparser.h +++ b/src/qdoc/qdoccommandlineparser.h @@ -46,7 +46,7 @@ struct QDocCommandLineParser : public QCommandLineParser QCommandLineOption prepareOption, generateOption, logProgressOption; QCommandLineOption singleExecOption, writeQaPagesOption; QCommandLineOption includePathOption, includePathSystemOption, frameworkOption; - QCommandLineOption timestampsOption; + QCommandLineOption timestampsOption, useDocBookExtensions; }; QT_END_NAMESPACE diff --git a/src/qdoc/qdocindexfiles.cpp b/src/qdoc/qdocindexfiles.cpp index 1b247fe24..39d7e360e 100644 --- a/src/qdoc/qdocindexfiles.cpp +++ b/src/qdoc/qdocindexfiles.cpp @@ -1357,7 +1357,7 @@ void QDocIndexFiles::generateFunctionSection(QXmlStreamWriter &writer, FunctionN writer.writeAttribute("refness", QString::number(2)); if (fn->hasAssociatedProperties()) { QStringList associatedProperties; - for (const auto *node : qAsConst(fn->associatedProperties())) { + for (const auto *node : fn->associatedProperties()) { associatedProperties << node->name(); } associatedProperties.sort(); diff --git a/tests/auto/qdoc/generatedoutput/docbook.qdocconf b/tests/auto/qdoc/generatedoutput/docbook.qdocconf new file mode 100644 index 000000000..6fe708176 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/docbook.qdocconf @@ -0,0 +1,3 @@ +outputformats = DocBook +DocBook.nosubdirs = true +DocBook.outputsubdir = docbook diff --git a/tests/auto/qdoc/generatedoutput/docbook_test.qdocconf b/tests/auto/qdoc/generatedoutput/docbook_test.qdocconf new file mode 100644 index 000000000..e8095e405 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/docbook_test.qdocconf @@ -0,0 +1,2 @@ +include(test.qdocconf) +include(docbook.qdocconf) diff --git a/tests/auto/qdoc/generatedoutput/docbook_testcpp.qdocconf b/tests/auto/qdoc/generatedoutput/docbook_testcpp.qdocconf new file mode 100644 index 000000000..0abdf8169 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/docbook_testcpp.qdocconf @@ -0,0 +1,2 @@ +include(testcpp.qdocconf) +include(docbook.qdocconf) diff --git a/tests/auto/qdoc/generatedoutput/docbook_testqml.qdocconf b/tests/auto/qdoc/generatedoutput/docbook_testqml.qdocconf new file mode 100644 index 000000000..0a0a18b07 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/docbook_testqml.qdocconf @@ -0,0 +1,2 @@ +include(testqml.qdocconf) +include(docbook.qdocconf) diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoc-test-qmlmodule.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoc-test-qmlmodule.xml new file mode 100644 index 000000000..1629830f9 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoc-test-qmlmodule.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title></db:title> +<db:productname>Test</db:productname> +<db:titleabbrev>A test project for QDoc build artifacts</db:titleabbrev> +<db:abstract> +<db:para>QML Types for the Test module.</db:para> +</db:abstract> +</db:info> +<db:anchor xml:id="details"/> +<db:variablelist role="members"> +<db:varlistentry> +<db:term><db:link xlink:href="qml-qdoc-test-doctest.xml" xlink:role="">DocTest</db:link></db:term> +<db:listitem> +<db:para>Represents a doc test case.</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term><db:link xlink:href="qml-qdoc-test-abstractparent.xml" xlink:role="">AbstractParent</db:link></db:term> +<db:listitem> +<db:para>Abstract base QML type.</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term><db:link xlink:href="qml-qdoc-test-child.xml" xlink:role="">Child</db:link></db:term> +<db:listitem> +<db:para>A Child inheriting its parent.</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term><db:link xlink:href="qml-int.xml" xlink:role="">int</db:link></db:term> +<db:listitem> +<db:para>An integer basic type.</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term><db:link xlink:href="qml-qdoc-test-type.xml" xlink:role="">Type</db:link></db:term> +<db:listitem> +<db:para>A QML type documented in a .cpp file.</db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput-linking.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput-linking.xml new file mode 100644 index 000000000..75255b85d --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput-linking.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>Testing QDoc's link command</db:title> +<db:productname>Test</db:productname> +<db:titleabbrev>A test project for QDoc build artifacts</db:titleabbrev> +<db:abstract> +<db:para>This is a page for testing QDoc's link command.</db:para> +</db:abstract> +</db:info> +<db:anchor xml:id="link-test-target"/> +<db:section xml:id="link-targets"> +<db:title>Link targets</db:title> +<db:para>Valid parameters for the link command (<db:code>\l</db:code>) are page and section titles, targets defined with \target or \keyword commands, and API reference keywords (types, methods, namespaces, and so on).</db:para> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput.xml new file mode 100644 index 000000000..017cb8a0b --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>Testing QDoc output from .qdoc files</db:title> +<db:productname>Test</db:productname> +<db:titleabbrev>A test project for QDoc build artifacts</db:titleabbrev> +<db:abstract> +<db:para>This is a simple page for testing purposes only.</db:para> +</db:abstract> +</db:info> +<db:para>QDoc generates documentation for software projects. It does this by extracting <db:emphasis>QDoc comments</db:emphasis> from project source files. QDoc comments are signified by a C-style-like comment tag followed by an exclamation point, like this: <db:code>/*!</db:code> <db:code>This text is contained within QDoc comment tags.</db:code> <db:code>*/</db:code>.</db:para> +<db:section xml:id="supported-file-types"> +<db:title>Supported file types</db:title> +<db:para>QDoc parses <db:code>.cpp</db:code> and <db:code>.qdoc</db:code> files. It does extract comments from header (<db:code>.h</db:code>) files.</db:para> +</db:section> +<db:section xml:id="further-information"> +<db:title>Further information</db:title> +<db:para>This test document is written with the purpose of testing the output QDoc generates when parsing <db:code>.qdoc</db:code> files. It is fairly simple and makes use of a limited subset of QDoc's command. Those commands are:</db:para> +<db:itemizedlist> +<db:listitem> +<db:para><db:code>\page</db:code></db:para> +</db:listitem> +<db:listitem> +<db:para><db:code>\title</db:code></db:para> +</db:listitem> +<db:listitem> +<db:para><db:code>\brief</db:code></db:para> +</db:listitem> +<db:listitem> +<db:para><db:code>\e</db:code> (for emphasizing "QDoc comments")</db:para> +</db:listitem> +<db:listitem> +<db:para><db:code>\c</db:code> (for multiple monospace-formatted entries)</db:para> +</db:listitem> +<db:listitem> +<db:para><db:code>\section1</db:code></db:para> +</db:listitem> +<db:listitem> +<db:para><db:code>\list</db:code></db:para> +</db:listitem> +<db:listitem> +<db:para><db:code>\li</db:code></db:para> +</db:listitem> +<db:listitem> +<db:para><db:code>\endlist</db:code></db:para> +</db:listitem> +</db:itemizedlist> +</db:section> +<db:section xml:id="linking"> +<db:title>Linking</db:title> +<db:para>There are multiple ways to create hyperlinks to other topics:</db:para> +<db:itemizedlist> +<db:listitem> +<db:para><db:link xlink:href="qdoctests-qdocfileoutput-linking.xml">Linking to a page title</db:link></db:para> +</db:listitem> +<db:listitem> +<db:para><db:link xlink:href="qdoctests-qdocfileoutput-linking.xml#link-targets">Linking to a section title</db:link></db:para> +</db:listitem> +<db:listitem> +<db:para><db:link xlink:href="qdoctests-qdocfileoutput-linking.xml#link-test-target">Linking using a \target string</db:link></db:para> +</db:listitem> +<db:listitem> +<db:para><db:link xlink:href="qdoctests-qdocfileoutput-linking.xml">Linking using a \keyword string</db:link></db:para> +</db:listitem> +</db:itemizedlist> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-int.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-int.xml new file mode 100644 index 000000000..2dd4bc1c5 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-int.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>int QML Basic Type</db:title> +<db:productname>Test</db:productname> +<db:titleabbrev>A test project for QDoc build artifacts</db:titleabbrev> +<db:abstract> +<db:para>An integer basic type.</db:para> +</db:abstract> +</db:info> +<db:section xml:id="details"> +<db:title>Detailed Description</db:title> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-abstractparent.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-abstractparent.xml new file mode 100644 index 000000000..111ea3ad9 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-abstractparent.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>AbstractParent QML Type</db:title> +<db:productname>Test</db:productname> +<db:titleabbrev>A test project for QDoc build artifacts</db:titleabbrev> +<db:abstract> +<db:para>Abstract base QML type.</db:para> +</db:abstract> +</db:info> +<db:variablelist> +<db:varlistentry> +<db:term>Import Statement</db:term> +<db:listitem> +<db:para>import QDoc.Test 1.1</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term>Inherited By:</db:term> +<db:listitem> +<db:para><db:link xlink:href="qml-qdoc-test-child.xml" xlink:role="">Child</db:link></db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +<db:section xml:id="details"> +<db:title>Detailed Description</db:title> +</db:section> +<db:section xml:id="property-documentation"> +<db:title>Property Documentation</db:title> +<db:section xml:id="children-prop"> +<db:title>[default] children : list<Child></db:title> +<db:fieldsynopsis> +<db:type>list<Child></db:type> +<db:varname>children</db:varname> +<db:modifier>writable</db:modifier> +<db:modifier>[default]</db:modifier> + +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">Test</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>Children of the type.</db:para> +</db:section> +</db:section> +<db:section xml:id="method-documentation"> +<db:title>Method Documentation</db:title> +<db:section xml:id="rear-method"> +<db:title>void rear(<db:emphasis>child</db:emphasis>)</db:title> +<db:para>Do some abstract parenting on <db:code role="parameter">child</db:code>.</db:para> +</db:section> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-child.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-child.xml new file mode 100644 index 000000000..ef832021e --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-child.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>Child QML Type</db:title> +<db:productname>Test</db:productname> +<db:titleabbrev>A test project for QDoc build artifacts</db:titleabbrev> +<db:abstract> +<db:para>A Child inheriting its parent.</db:para> +</db:abstract> +</db:info> +<db:variablelist> +<db:varlistentry> +<db:term>Import Statement</db:term> +<db:listitem> +<db:para>import QDoc.Test 1.1</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term>Inherits:</db:term> +<db:listitem> +<db:para><db:link xlink:href="">AbstractParent</db:link></db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +<db:section xml:id="details"> +<db:title>Detailed Description</db:title> +</db:section> +<db:section xml:id="property-documentation"> +<db:title>Property Documentation</db:title> +<db:section xml:id="children-prop"> +<db:title>[default] children : list<Child></db:title> +<db:fieldsynopsis> +<db:type>list<Child></db:type> +<db:varname>children</db:varname> +<db:modifier>writable</db:modifier> +<db:modifier>[default]</db:modifier> + +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">Test</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>Children of the type.</db:para> +</db:section> +</db:section> +<db:section xml:id="method-documentation"> +<db:title>Method Documentation</db:title> +<db:section xml:id="rear-method"> +<db:title>void rear(<db:emphasis>child</db:emphasis>)</db:title> +<db:para>Do some abstract parenting on <db:code role="parameter">child</db:code>.</db:para> +</db:section> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-doctest.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-doctest.xml new file mode 100644 index 000000000..b3904a048 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-doctest.xml @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>DocTest QML Type</db:title> +<db:productname>Test</db:productname> +<db:titleabbrev>A test project for QDoc build artifacts</db:titleabbrev> +<db:abstract> +<db:para>Represents a doc test case.</db:para> +<db:para>This type was introduced in QDoc.Test 0.9.</db:para> +</db:abstract> +</db:info> +<db:variablelist> +<db:varlistentry> +<db:term>Import Statement</db:term> +<db:listitem> +<db:para>import QDoc.Test 1.1</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term>Since:</db:term> +<db:listitem> +<db:para>QDoc.Test 0.9</db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +<db:section xml:id="details"> +<db:title>Detailed Description</db:title> +<db:section xml:id="introduction"> +<db:title>Introduction</db:title> +<db:para>A documentation test case, itself documented inline in <db:link xlink:href="qml-qdoc-test-doctest.xml">DocTest</db:link>.qml.</db:para> +</db:section> +</db:section> +<db:section xml:id="property-documentation"> +<db:title>Property Documentation</db:title> +<db:section xml:id="active-prop"> +<db:title>active : bool</db:title> +<db:fieldsynopsis> +<db:type>bool</db:type> +<db:varname>active</db:varname> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>Whether the test is active.</db:para> +<db:para><db:emphasis>See also </db:emphasis> +<db:simplelist type="vert" role="see-also"><db:member><db:link xlink:href="qml-qdoc-test-doctest.xml#name-prop">name</db:link></db:member> +</db:simplelist> +</db:para></db:section> +<db:section xml:id="name-prop"> +<db:title>name : string</db:title> +<db:fieldsynopsis> +<db:type>string</db:type> +<db:varname>name</db:varname> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>Name of the test.</db:para> +<db:programlisting language="qml"><@type>DocTest</@type> { + <@name>name</@name>: <@string>&quot;test&quot;</@string> + <@comment>// ...</@comment> +} +</db:programlisting> +</db:section> +</db:section> +<db:section xml:id="method-documentation"> +<db:title>Method Documentation</db:title> +<db:section xml:id="fail-method"> +<db:title>fail(<db:emphasis>message</db:emphasis> = "oops")</db:title> +<db:para>Fails the current test case, with the optional <db:code role="parameter">message</db:code>.</db:para> +<db:para>This method was introduced in QDoc.Test 1.0.</db:para> +</db:section> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-type.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-type.xml new file mode 100644 index 000000000..1ab15056a --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-qdoc-test-type.xml @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>Type QML Type</db:title> +<db:productname>Test</db:productname> +<db:titleabbrev>A test project for QDoc build artifacts</db:titleabbrev> +<db:abstract> +<db:para>A QML type documented in a .cpp file.</db:para> +</db:abstract> +</db:info> +<db:variablelist> +<db:varlistentry> +<db:term>Import Statement</db:term> +<db:listitem> +<db:para>import QDoc.Test 1.1</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term>Instantiates:</db:term> +<db:listitem> +<db:para><db:link xlink:href="testqdoc-test.xml">Test</db:link></db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +<db:section xml:id="details"> +<db:title>Detailed Description</db:title> +</db:section> +<db:section xml:id="property-documentation"> +<db:title>Property Documentation</db:title> +<db:para>A group of properties sharing a documentation comment.</db:para> +<db:section xml:id="group-prop"> +<db:title>group group</db:title> +<db:bridgehead renderas="sect2" xml:id="group.first-prop">group.first : int</db:bridgehead> +<db:fieldsynopsis> +<db:type>int</db:type> +<db:varname>group.first</db:varname> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">Test</db:synopsisinfo> +</db:fieldsynopsis> +<db:bridgehead renderas="sect2" xml:id="group.second-prop">group.second : int</db:bridgehead> +<db:fieldsynopsis> +<db:type>int</db:type> +<db:varname>group.second</db:varname> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">Test</db:synopsisinfo> +</db:fieldsynopsis> +<db:bridgehead renderas="sect2" xml:id="group.third-prop">group.third : int</db:bridgehead> +<db:fieldsynopsis> +<db:type>int</db:type> +<db:varname>group.third</db:varname> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">Test</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>A property group.</db:para> +</db:section> +<db:section xml:id="id-prop"> +<db:title>[read-only] id : int</db:title> +<db:fieldsynopsis> +<db:type>int</db:type> +<db:varname>id</db:varname> +<db:modifier>[read-only]</db:modifier> + +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">Test</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>A read-only property.</db:para> +</db:section> +<db:section xml:id="name-prop"> +<db:title>name : string</db:title> +<db:fieldsynopsis> +<db:type>string</db:type> +<db:varname>name</db:varname> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">Test</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>Name of the Test.</db:para> +</db:section> +</db:section> +<db:section xml:id="attached-property-documentation"> +<db:title>Attached Property Documentation</db:title> +<db:section xml:id="type-attached-prop"> +<db:title>Type.type : enumeration</db:title> +<db:fieldsynopsis> +<db:type>enumeration</db:type> +<db:varname>Type.type</db:varname> +<db:modifier>attached</db:modifier> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">Test</db:synopsisinfo> +</db:fieldsynopsis> +<db:informaltable> +<db:thead> +<db:tr> +<db:th>Constant</db:th> +<db:th>Description</db:th> +</db:tr> +</db:thead> +<db:tr> +<db:td> +<db:para>Type.NoType</db:para> +</db:td> +<db:td> +<db:para>Nothing</db:para> +</db:td> +</db:tr> +<db:tr> +<db:td> +<db:para>Type.SomeType</db:para> +</db:td> +<db:td> +<db:para>Something</db:para> +</db:td> +</db:tr> +</db:informaltable> +</db:section> +</db:section> +<db:section xml:id="signal-documentation"> +<db:title>Signal Documentation</db:title> +<db:section xml:id="completed-signal"> +<db:title>completed(<db:emphasis>status</db:emphasis>)</db:title> +<db:para>This signal is emitted when the operation completed with <db:code role="parameter">status</db:code>.</db:para> +</db:section> +</db:section> +<db:section xml:id="attached-signal-documentation"> +<db:title>Attached Signal Documentation</db:title> +<db:section xml:id="configured-signal"> +<db:title>configured()</db:title> +<db:para>This attached signal is emitted when the type was configured.</db:para> +</db:section> +</db:section> +<db:section xml:id="method-documentation"> +<db:title>Method Documentation</db:title> +<db:para>Enables or disables this type.</db:para> +<db:section xml:id="copy-method"> +<db:title>Type copy(<db:emphasis>a</db:emphasis>)</db:title> +<db:para>Returns another Type based on <db:code role="parameter">a</db:code>.</db:para> +</db:section> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-uicomponents-progressbar.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-uicomponents-progressbar.xml new file mode 100644 index 000000000..3f162e8a4 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-uicomponents-progressbar.xml @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>ProgressBar QML Type</db:title> +<db:productname>Test</db:productname> +<db:titleabbrev>A test project for QDoc build artifacts</db:titleabbrev> +<db:abstract> +<db:para>A component that shows the progress of an event.</db:para> +</db:abstract> +</db:info> +<db:variablelist> +<db:varlistentry> +<db:term>Import Statement</db:term> +<db:listitem> +<db:para>import UIComponents 1.0</db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +<db:section xml:id="details"> +<db:title>Detailed Description</db:title> +<db:para>A <db:link xlink:href="qml-uicomponents-progressbar.xml">ProgressBar</db:link> shows the linear progress of an event as its <db:link xlink:href="qml-uicomponents-progressbar.xml#value-prop">value</db:link>. The range is specified using the <db:link xlink:href="qml-uicomponents-progressbar.xml#minimum-prop">minimum</db:link> and the <db:link xlink:href="qml-uicomponents-progressbar.xml#maximum-prop">maximum</db:link> values.</db:para> +<db:para>The <db:link xlink:href="qml-uicomponents-progressbar.xml">ProgressBar</db:link> component is part of the <db:link xlink:href="uicomponents-qmlmodule.xml">UI Components</db:link> module.</db:para> +<db:para>This documentation is part of the <db:link xlink:href="test-componentset-example.xml">UIComponents</db:link> example.</db:para> +</db:section> +<db:section xml:id="property-documentation"> +<db:title>Property Documentation</db:title> +<db:section xml:id="color-prop"> +<db:title>color : color</db:title> +<db:fieldsynopsis> +<db:type>color</db:type> +<db:varname>color</db:varname> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>The color of the <db:link xlink:href="qml-uicomponents-progressbar.xml">ProgressBar</db:link>'s gradient. Must bind to a color type.</db:para> +<db:para><db:emphasis>See also </db:emphasis> +<db:simplelist type="vert" role="see-also"><db:member><db:link xlink:href="qml-uicomponents-progressbar.xml#secondColor-prop">secondColor</db:link></db:member> +</db:simplelist> +</db:para></db:section> +<db:section xml:id="maximum-prop"> +<db:title>maximum : int</db:title> +<db:fieldsynopsis> +<db:type>int</db:type> +<db:varname>maximum</db:varname> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>The maximum value of the <db:link xlink:href="qml-uicomponents-progressbar.xml">ProgressBar</db:link> range. The <db:link xlink:href="qml-uicomponents-progressbar.xml#value-prop">value</db:link> must not be more than this value.</db:para> +</db:section> +<db:section xml:id="minimum-prop"> +<db:title>minimum : int</db:title> +<db:fieldsynopsis> +<db:type>int</db:type> +<db:varname>minimum</db:varname> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>The minimum value of the <db:link xlink:href="qml-uicomponents-progressbar.xml">ProgressBar</db:link> range. The <db:link xlink:href="qml-uicomponents-progressbar.xml#value-prop">value</db:link> must not be less than this value.</db:para> +</db:section> +<db:section xml:id="secondColor-prop"> +<db:title>secondColor : color</db:title> +<db:fieldsynopsis> +<db:type>color</db:type> +<db:varname>secondColor</db:varname> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>The second color of the <db:link xlink:href="qml-uicomponents-progressbar.xml">ProgressBar</db:link>'s gradient. Must bind to a color type.</db:para> +<db:para><db:emphasis>See also </db:emphasis> +<db:simplelist type="vert" role="see-also"><db:member><db:link xlink:href="qml-uicomponents-progressbar.xml#color-prop">color</db:link></db:member> +</db:simplelist> +</db:para></db:section> +<db:section xml:id="value-prop"> +<db:title>value : int</db:title> +<db:fieldsynopsis> +<db:type>int</db:type> +<db:varname>value</db:varname> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>The value of the progress.</db:para> +</db:section> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-uicomponents-switch.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-uicomponents-switch.xml new file mode 100644 index 000000000..7b1e169ef --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-uicomponents-switch.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>Switch QML Type</db:title> +<db:productname>Test</db:productname> +<db:titleabbrev>A test project for QDoc build artifacts</db:titleabbrev> +<db:abstract> +<db:para>A component that can be turned on or off.</db:para> +</db:abstract> +</db:info> +<db:variablelist> +<db:varlistentry> +<db:term>Import Statement</db:term> +<db:listitem> +<db:para>import UIComponents 1.0</db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +<db:section xml:id="details"> +<db:title>Detailed Description</db:title> +<db:para>A toggle switch has two states: an <db:code>on</db:code> and an <db:code>off</db:code> state. The <db:code>off</db:code> state is when the <db:link xlink:href="qml-uicomponents-switch.xml#on-prop">on</db:link> property is set to <db:code>false</db:code>.</db:para> +<db:para>The ToggleSwitch component is part of the <db:link xlink:href="uicomponents-qmlmodule.xml">UI Components</db:link> module.</db:para> +<db:para>This documentation is part of the <db:link xlink:href="test-componentset-example.xml">UIComponents</db:link> example.</db:para> +</db:section> +<db:section xml:id="property-documentation"> +<db:title>Property Documentation</db:title> +<db:section xml:id="on-prop"> +<db:title>on : bool</db:title> +<db:fieldsynopsis> +<db:type>bool</db:type> +<db:varname>on</db:varname> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>Indicates the state of the switch. If <db:code>false</db:code>, then the switch is in the <db:code>off</db:code> state.</db:para> +</db:section> +</db:section> +<db:section xml:id="method-documentation"> +<db:title>Method Documentation</db:title> +<db:section xml:id="toggle-method"> +<db:title>toggle()</db:title> +<db:para>A method to toggle the switch. If the switch is <db:code>on</db:code>, the toggling it will turn it <db:code>off</db:code>. Toggling a switch in the <db:code>off</db:code> position will turn it <db:code>on</db:code>.</db:para> +</db:section> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-uicomponents-tabwidget.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-uicomponents-tabwidget.xml new file mode 100644 index 000000000..0232dbe27 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-uicomponents-tabwidget.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>TabWidget QML Type</db:title> +<db:productname>Test</db:productname> +<db:titleabbrev>A test project for QDoc build artifacts</db:titleabbrev> +<db:abstract> +<db:para>A widget that places its children as tabs.</db:para> +</db:abstract> +</db:info> +<db:variablelist> +<db:varlistentry> +<db:term>Import Statement</db:term> +<db:listitem> +<db:para>import UIComponents 1.0</db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +<db:section xml:id="details"> +<db:title>Detailed Description</db:title> +<db:para>A <db:link xlink:href="qml-uicomponents-tabwidget.xml">TabWidget</db:link> places its children as tabs in a view. Selecting a tab involves selecting the tab at the top.</db:para> +<db:para>The <db:link xlink:href="qml-uicomponents-tabwidget.xml">TabWidget</db:link> component is part of the <db:link xlink:href="uicomponents-qmlmodule.xml">UI Components</db:link> module.</db:para> +<db:para>This documentation is part of the <db:link xlink:href="test-componentset-example.xml">UIComponents</db:link> example.</db:para> +<db:section xml:id="adding-tabs"> +<db:title>Adding Tabs</db:title> +<db:para>To add a tab, declare the tab as a child of the <db:link xlink:href="qml-uicomponents-tabwidget.xml">TabWidget</db:link>.</db:para> +<db:programlisting language="cpp">TabWidget { + id: tabwidget + + Rectangle { + id: tab1 + color: <@string>&quot;red&quot;</@string> + <@comment>//... omitted</@comment> + } + Rectangle { + id: tab2 + color: <@string>&quot;blue&quot;</@string> + <@comment>//... omitted</@comment> + } + +} +</db:programlisting> +</db:section> +</db:section> +<db:section xml:id="property-documentation"> +<db:title>Property Documentation</db:title> +<db:section xml:id="current-prop"> +<db:title>current : int</db:title> +<db:fieldsynopsis> +<db:type>int</db:type> +<db:varname>current</db:varname> +<db:modifier>writable</db:modifier> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>The currently active tab in the <db:link xlink:href="qml-uicomponents-tabwidget.xml">TabWidget</db:link>.</db:para> +</db:section> +<db:section xml:id="sampleReadOnlyProperty-prop"> +<db:title>[read-only] sampleReadOnlyProperty : int</db:title> +<db:fieldsynopsis> +<db:type>int</db:type> +<db:varname>sampleReadOnlyProperty</db:varname> +<db:modifier>[read-only]</db:modifier> + +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +</db:fieldsynopsis> +<db:para>A sample <db:code>read-only</db:code> property. A contrived property to demonstrate QDoc's ability to detect read-only properties.</db:para> +<db:para>The signature is:</db:para> +<db:programlisting language="cpp">readonly property <@type>int</@type> sampleReadOnlyProperty: <@number>0</@number> +</db:programlisting> +<db:para>Note that the property must be initialized to a value.</db:para> +</db:section> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/test-componentset-example.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/test-componentset-example.xml new file mode 100644 index 000000000..ac93617a2 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/test-componentset-example.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>QML Documentation Example</db:title> +<db:productname>Test</db:productname> +<db:titleabbrev>A test project for QDoc build artifacts</db:titleabbrev> +<db:abstract> +<db:para>A test project for QDoc build artifacts.</db:para></db:abstract> +</db:info> +<db:para>This example demonstrates one of the ways to document QML types.</db:para> +<db:para>In particular, there are sample types that are documented with QDoc commands comments. There are documentation comments for the QML types and their public interfaces. The types are grouped into a module, the <db:link xlink:href="uicomponents-qmlmodule.xml">UI Components</db:link> module.</db:para> +<db:para>The <db:link xlink:href="">uicomponents.qdoc</db:link> file generates the overview page for the <db:link xlink:href="uicomponents-qmlmodule.xml">UI Components</db:link> module page.</db:para> +<db:para>The generated documentation is available in the <db:link xlink:href="uicomponents-qmlmodule.xml">UI Components</db:link> module.</db:para> +<db:section xml:id="qml-class"> +<db:title>QML Class</db:title> +<db:para>The QML types use the <db:link xlink:href="">\qmltype</db:link> to document the type. In addition, they have the <db:link xlink:href="">\inmodule</db:link> command in order for QDoc to associate them to the <db:code>UIComponents</db:code> module.</db:para> +<db:para>QDoc uses the <db:link xlink:href="">\brief</db:link> command to place a basic description when listing the types.</db:para> +</db:section> +<db:section xml:id="properties-signals-handlers-and-methods"> +<db:title>Properties, Signals, Handlers, and Methods</db:title> +<db:para>The types have their properties, signals, handlers, and methods defined in their respective QML files. QDoc associates the properties and methods to the types, therefore, you only need to place the documentation above the property, method, or signal.</db:para> +<db:para>To document the type of a <db:emphasis>property alias</db:emphasis>, you must use the <db:link xlink:href="">\qmlproperty</db:link> command to specify the data type.</db:para> +<db:programlisting language="cpp">\qmlproperty <@type>int</@type> anAliasedProperty +An aliased property of type <@type>int</@type><@op>.</@op> +</db:programlisting> +<db:section xml:id="internal-documentation"> +<db:title>Internal Documentation</db:title> +<db:para>You may declare that a documentation is for internal use by placing the <db:link xlink:href="">\internal</db:link> command after the beginning QDoc comment <db:code>/*</db:code>. QDoc will prevent the internal documentation from appearing in the public API.</db:para> +<db:para>If you wish to omit certain parts of the documentation, you may use the <db:link xlink:href="">\omit</db:link> and <db:link xlink:href="">\endomit</db:link> command.</db:para> +</db:section> +</db:section> +<db:section xml:id="qml-types-with-c-implementation"> +<db:title>QML Types with C++ Implementation</db:title> +<db:para>This example only demonstrates the documentation for types in QML files, but the regular <db:link xlink:href="">QML commands</db:link> may be placed inside C++ classes to define the public API of the QML type.</db:para> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/testcpp-module.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testcpp-module.xml new file mode 100644 index 000000000..604e577df --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testcpp-module.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>QDoc Test C++ Classes</db:title> +<db:productname>TestCPP</db:productname> +<db:titleabbrev>TestCPP Reference Documentation</db:titleabbrev> +<db:abstract> +<db:para>A test module page.</db:para> +</db:abstract> +</db:info> +<db:para>A test module page.</db:para> +<db:section xml:id="namespaces"> +<db:title>Namespaces</db:title> +<db:variablelist role="namespaces"> +<db:varlistentry> +<db:term><db:link xlink:href="testqdoc.xml" xlink:role="namespace">TestQDoc</db:link></db:term> +<db:listitem> +<db:para>A namespace.</db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +</db:section> +<db:section xml:id="classes"> +<db:title>Classes</db:title> +<db:variablelist role="classes"> +<db:varlistentry> +<db:term><db:link xlink:href="testqdoc-test.xml" xlink:role="class">TestQDoc::Test</db:link></db:term> +<db:listitem> +<db:para>A class in a namespace.</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term><db:link xlink:href="testqdoc-testderived.xml" xlink:role="class">TestQDoc::TestDerived</db:link></db:term> +<db:listitem> +<db:para>A derived class in a namespace.</db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +</db:section> +<db:section xml:id="details"> +<db:title>Detailed Description</db:title> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-test.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-test.xml new file mode 100644 index 000000000..d97295245 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-test.xml @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>Test Class</db:title> +<db:subtitle>(TestQDoc::Test)</db:subtitle> +<db:productname>TestCPP</db:productname> +<db:titleabbrev>TestCPP Reference Documentation</db:titleabbrev> +<db:abstract> +<db:para>A class in a namespace.</db:para> +</db:abstract> +</db:info> +<db:variablelist> +<db:varlistentry> +<db:term>Header</db:term> +<db:listitem> +<db:para>Test</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term>qmake</db:term> +<db:listitem> +<db:para>QT += testcpp</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term>Inherited By</db:term> +<db:listitem> +<db:para><db:link xlink:href="testqdoc-testderived.xml" xlink:role="class">TestQDoc::TestDerived</db:link></db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +<db:section xml:id="details"> +<db:title>Detailed Description</db:title> +</db:section> +<db:section xml:id="member-function-documentation"> +<db:title>Member Function Documentation</db:title> +<db:section xml:id="inlineFunction"> +<db:title>Test::void inlineFunction()</db:title> +<db:methodsynopsis> +<db:void/> +<db:methodname>inlineFunction</db:methodname> +<db:void/> +<db:synopsisinfo db:role="meta">plain</db:synopsisinfo> +<db:synopsisinfo db:role="signature">void inlineFunction()</db:synopsisinfo> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">TestCPP</db:synopsisinfo> +</db:methodsynopsis> +<db:para>An inline function, documented using the \fn QDoc command.</db:para> +</db:section> +<db:section xml:id="someFunction"> +<db:title>Test::int someFunction(int <db:emphasis>v</db:emphasis>)</db:title> +<db:methodsynopsis> +<db:type>int</db:type> +<db:methodname>someFunction</db:methodname> +<db:methodparam> +<db:type>int</db:type> +<db:parameter>v</db:parameter> +</db:methodparam> +<db:synopsisinfo db:role="meta">plain</db:synopsisinfo> +<db:synopsisinfo db:role="signature">int someFunction(int v)</db:synopsisinfo> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">TestCPP</db:synopsisinfo> +</db:methodsynopsis> +<db:para>Function that takes a parameter <db:code role="parameter">v</db:code>. Also returns the value of <db:code role="parameter">v</db:code>.</db:para> +</db:section> +<db:section xml:id="someFunctionDefaultArg"> +<db:title>Test::void someFunctionDefaultArg(int <db:emphasis>i</db:emphasis>, bool <db:emphasis>b</db:emphasis> = false)</db:title> +<db:methodsynopsis> +<db:void/> +<db:methodname>someFunctionDefaultArg</db:methodname> +<db:methodparam> +<db:type>int</db:type> +<db:parameter>i</db:parameter> +</db:methodparam> +<db:methodparam> +<db:type>bool</db:type> +<db:parameter>b</db:parameter> +<db:initializer>false</db:initializer> +</db:methodparam> +<db:synopsisinfo db:role="meta">plain</db:synopsisinfo> +<db:synopsisinfo db:role="signature">void someFunctionDefaultArg(int i, bool b)</db:synopsisinfo> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">TestCPP</db:synopsisinfo> +</db:methodsynopsis> +<db:para>Function that takes a parameter <db:code role="parameter">i</db:code> and <db:code role="parameter">b</db:code>.</db:para> +</db:section> +<db:section xml:id="virtualFun"> +<db:title>[virtual] Test::void virtualFun()</db:title> +<db:methodsynopsis> +<db:modifier>virtual</db:modifier> +<db:void/> +<db:methodname>virtualFun</db:methodname> +<db:void/> +<db:synopsisinfo db:role="meta">plain</db:synopsisinfo> +<db:synopsisinfo db:role="signature">void virtualFun()</db:synopsisinfo> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">TestCPP</db:synopsisinfo> +</db:methodsynopsis> +<db:para>Function that must be reimplemented.</db:para> +</db:section> +</db:section> +<db:section xml:id="macro-documentation"> +<db:title>Macro Documentation</db:title> +<db:section xml:id="QDOCTEST_MACRO2"> +<db:title>QDOCTEST_MACRO2(<db:emphasis>x</db:emphasis>)</db:title> +<db:methodsynopsis> +<db:methodname>QDOCTEST_MACR</db:methodname> +<db:methodparam> +<db:type></db:type> +<db:parameter>x</db:parameter> +</db:methodparam> +<db:synopsisinfo db:role="meta">macrowithparams</db:synopsisinfo> +<db:synopsisinfo db:role="signature">QDOCTEST_MACRO2( x)</db:synopsisinfo> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">TestCPP</db:synopsisinfo> +</db:methodsynopsis> +<db:para>A macro with argument <db:code role="parameter">x</db:code>.</db:para> +<db:para>This function was introduced in Test 1.1.</db:para> +</db:section> +</db:section> +<db:section xml:id="obsolete"> +<db:title>Obsolete Members for Test</db:title> +<db:para><db:emphasis role="bold">The following members of class <db:link xlink:href="testqdoc-test.xml">Test</db:link> are obsolete.</db:emphasis> They are provided to keep old source code working. We strongly advise against using them in new code.</db:para> +<db:section xml:id="member-function-documentation"> +<db:title>Member Function Documentation</db:title> +<db:section xml:id="anotherObsoleteMember"> +<db:title>Test::void anotherObsoleteMember()</db:title> +<db:methodsynopsis> +<db:void/> +<db:methodname>anotherObsoleteMember</db:methodname> +<db:void/> +<db:synopsisinfo db:role="meta">plain</db:synopsisinfo> +<db:synopsisinfo db:role="signature">void anotherObsoleteMember()</db:synopsisinfo> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">obsolete</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">TestCPP</db:synopsisinfo> +</db:methodsynopsis> +<db:para>This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.</db:para> +<db:para>Use <db:link xlink:href="testqdoc-test.xml#obsoleteMember">obsoleteMember</db:link>() instead.</db:para> +</db:section> +<db:section xml:id="deprecatedMember"> +<db:title>Test::void deprecatedMember()</db:title> +<db:methodsynopsis> +<db:void/> +<db:methodname>deprecatedMember</db:methodname> +<db:void/> +<db:synopsisinfo db:role="meta">plain</db:synopsisinfo> +<db:synopsisinfo db:role="signature">void deprecatedMember()</db:synopsisinfo> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">obsolete</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">TestCPP</db:synopsisinfo> +</db:methodsynopsis> +<db:para>This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.</db:para> +<db:para>Use <db:link xlink:href="testqdoc-test.xml#someFunction">someFunction</db:link>() instead.</db:para> +</db:section> +<db:section xml:id="obsoleteMember"> +<db:title>Test::void obsoleteMember()</db:title> +<db:methodsynopsis> +<db:void/> +<db:methodname>obsoleteMember</db:methodname> +<db:void/> +<db:synopsisinfo db:role="meta">plain</db:synopsisinfo> +<db:synopsisinfo db:role="signature">void obsoleteMember()</db:synopsisinfo> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">obsolete</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">TestCPP</db:synopsisinfo> +</db:methodsynopsis> +<db:para>This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.</db:para> +<db:para>Use <db:link xlink:href="testqdoc-test.xml#someFunction">someFunction</db:link>() instead.</db:para> +</db:section> +</db:section> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-testderived.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-testderived.xml new file mode 100644 index 000000000..7a07adb85 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-testderived.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>TestDerived Class</db:title> +<db:subtitle>(TestQDoc::TestDerived)</db:subtitle> +<db:productname>TestCPP</db:productname> +<db:titleabbrev>TestCPP Reference Documentation</db:titleabbrev> +<db:abstract> +<db:para>A derived class in a namespace.</db:para> +</db:abstract> +</db:info> +<db:variablelist> +<db:varlistentry> +<db:term>Header</db:term> +<db:listitem> +<db:para>TestDerived</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term>qmake</db:term> +<db:listitem> +<db:para>QT += testcpp</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term>Inherits</db:term> +<db:listitem> +<db:para><db:link xlink:href="testqdoc-test.xml" xlink:role="class">TestQDoc::Test</db:link></db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +<db:section xml:id="details"> +<db:title>Detailed Description</db:title> +</db:section> +<db:section xml:id="member-function-documentation"> +<db:title>Member Function Documentation</db:title> +<db:section xml:id="virtualFun"> +<db:title>[override virtual] TestDerived::void virtualFun()</db:title> +<db:methodsynopsis> +<db:modifier>virtual</db:modifier> +<db:void/> +<db:methodname>virtualFun</db:methodname> +<db:modifier>override</db:modifier> +<db:void/> +<db:synopsisinfo db:role="meta">plain</db:synopsisinfo> +<db:synopsisinfo db:role="signature">void virtualFun() override</db:synopsisinfo> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">TestCPP</db:synopsisinfo> +</db:methodsynopsis> +<db:para>Reimplements: <db:link xlink:href="testqdoc-test.xml#virtualFun" type="function">Test::virtualFun()</db:link>.</db:para> +</db:section> +</db:section></db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc.xml new file mode 100644 index 000000000..c5ba1fe65 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>TestQDoc Namespace</db:title> +<db:productname>TestCPP</db:productname> +<db:titleabbrev>TestCPP Reference Documentation</db:titleabbrev> +<db:abstract> +<db:para>A namespace.</db:para> +</db:abstract> +</db:info> +<db:variablelist> +<db:varlistentry> +<db:term>Header</db:term> +<db:listitem> +<db:para>TestCPP</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term>qmake</db:term> +<db:listitem> +<db:para>QT += testcpp</db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +<db:section xml:id="details"> +<db:title>Detailed Description</db:title> +<db:section xml:id="usage"> +<db:title>Usage</db:title> +<db:para>This namespace is for testing QDoc output.</db:para> +</db:section> +</db:section> +<db:section xml:id="classes"> +<db:title>Classes</db:title> +<db:section> +<db:title>class <db:link xlink:href="testqdoc-test.xml" xlink:role="class">Test</db:link></db:title> +<db:para>A class in a namespace.</db:para> +</db:section> +<db:section> +<db:title>class <db:link xlink:href="testqdoc-testderived.xml" xlink:role="class">TestDerived</db:link></db:title> +<db:para>A derived class in a namespace.</db:para> +</db:section> +</db:section> +<db:section xml:id="macro-documentation"> +<db:title>Macro Documentation</db:title> +<db:section xml:id="QDOCTEST_MACRO"> +<db:title>QDOCTEST_MACRO</db:title> +<db:methodsynopsis> +<db:methodname>QDOCTEST_MAC</db:methodname> +<db:synopsisinfo db:role="meta">macrowithoutparams</db:synopsisinfo> +<db:synopsisinfo db:role="signature">QDOCTEST_MACRO</db:synopsisinfo> +<db:synopsisinfo db:role="access">public</db:synopsisinfo> +<db:synopsisinfo db:role="status">active</db:synopsisinfo> +<db:synopsisinfo db:role="threadsafeness">unspecified</db:synopsisinfo> +<db:synopsisinfo db:role="module">TestCPP</db:synopsisinfo> +</db:methodsynopsis> +</db:section> +</db:section> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/uicomponents-qmlmodule.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/uicomponents-qmlmodule.xml new file mode 100644 index 000000000..f43890289 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/uicomponents-qmlmodule.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<db:article xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="en"> +<db:info> +<db:title>UI Components</db:title> +<db:productname>Test</db:productname> +<db:titleabbrev>A test project for QDoc build artifacts</db:titleabbrev> +<db:abstract> +<db:para>Basic set of UI components.</db:para> +</db:abstract> +</db:info> +<db:anchor xml:id="details"/> +<db:para>This is a listing of a list of UI components implemented by QML types. These files are available for general import and they are based on the <db:link xlink:href="">Qt Quick Code Samples</db:link>.</db:para> +<db:para>This module is part of the <db:link xlink:href="test-componentset-example.xml">UIComponents</db:link> example.</db:para> +<db:variablelist role="members"> +<db:varlistentry> +<db:term><db:link xlink:href="qml-uicomponents-progressbar.xml" xlink:role="">ProgressBar</db:link></db:term> +<db:listitem> +<db:para>A component that shows the progress of an event.</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term><db:link xlink:href="qml-uicomponents-switch.xml" xlink:role="">Switch</db:link></db:term> +<db:listitem> +<db:para>A component that can be turned on or off.</db:para> +</db:listitem> +</db:varlistentry> +<db:varlistentry> +<db:term><db:link xlink:href="qml-uicomponents-tabwidget.xml" xlink:role="">TabWidget</db:link></db:term> +<db:listitem> +<db:para>A widget that places its children as tabs.</db:para> +</db:listitem> +</db:varlistentry> +</db:variablelist> +</db:article> diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index a705575a8..61157b770 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -37,16 +37,24 @@ private slots: void initTestCase(); void init(); + // HTML generator void htmlFromQDocFile(); void htmlFromCpp(); void htmlFromQml(); void htmlFromCppBug80259(); + // WebXML generator void webXmlFromQDocFile(); void webXmlFromCpp(); void webXmlFromQml(); void webXmlFromCppBug80259(); + // DocBook generator + void docBookFromQDocFile(); + void docBookFromCpp(); + void docBookFromQml(); + + // Output format independent tests void examplesManifestXml(); private: @@ -178,6 +186,14 @@ void tst_generatedOutput::webXmlFromQDocFile() "html/qdoctests-qdocfileoutput-linking.webxml"); } + +void tst_generatedOutput::docBookFromQDocFile() +{ + testAndCompare("docbook_test.qdocconf", + "docbook/qdoctests-qdocfileoutput.xml " + "docbook/qdoctests-qdocfileoutput-linking.xml"); +} + void tst_generatedOutput::htmlFromCpp() { testAndCompare("testcpp.qdocconf", @@ -187,7 +203,6 @@ void tst_generatedOutput::htmlFromCpp() "testqdoc.html"); } - void tst_generatedOutput::webXmlFromCpp() { testAndCompare("webxml_testcpp.qdocconf", @@ -196,6 +211,14 @@ void tst_generatedOutput::webXmlFromCpp() "html/testqdoc-testderived.webxml"); } +void tst_generatedOutput::docBookFromCpp() +{ + testAndCompare("docbook_testcpp.qdocconf", + "docbook/testcpp-module.xml " + "docbook/testqdoc-test.xml " + "docbook/testqdoc-testderived.xml " + "docbook/testqdoc.xml"); +} void tst_generatedOutput::htmlFromQml() { @@ -221,6 +244,23 @@ void tst_generatedOutput::webXmlFromQml() "html/uicomponents-qmlmodule.webxml"); } + +void tst_generatedOutput::docBookFromQml() +{ + testAndCompare("docbook_testqml.qdocconf", + "docbook/test-componentset-example.xml " + "docbook/uicomponents-qmlmodule.xml " + "docbook/qdoc-test-qmlmodule.xml " + "docbook/qml-qdoc-test-abstractparent.xml " + "docbook/qml-qdoc-test-child.xml " + "docbook/qml-qdoc-test-doctest.xml " + "docbook/qml-qdoc-test-type.xml " + "docbook/qml-uicomponents-progressbar.xml " + "docbook/qml-uicomponents-switch.xml " + "docbook/qml-uicomponents-tabwidget.xml " + "docbook/qml-int.xml"); +} + void tst_generatedOutput::htmlFromCppBug80259() { testAndCompare("bug80259/testmodule.qdocconf", -- cgit v1.2.3 From d4064dd83eca3df5c766d1c456fa060233a1288d Mon Sep 17 00:00:00 2001 From: Topi Reinio <topi.reinio@qt.io> Date: Thu, 2 Jan 2020 10:42:33 +0100 Subject: qdoc: Fix regression in C++ functions sharing a documentation comment After a recent refactoring, the function that distributes c++ documentation nodes failed to do anything with a function node that was sharing a comment with other nodes. Fix the issue and add a testcase for shared c++ \fn documentation comments. Fixes: QTBUG-81005 Change-Id: I6320bab232671f8cd969a37136708fc172de8409 Reviewed-by: Paul Wicking <paul.wicking@qt.io> --- src/qdoc/sections.cpp | 6 ++---- .../expected_output/html/testqdoc-test.webxml | 7 +++++++ .../expected_output/html/testqdoc-testderived.webxml | 4 ++-- .../expected_output/testqdoc-test-members.html | 2 ++ .../qdoc/generatedoutput/expected_output/testqdoc-test.html | 12 ++++++++++++ tests/auto/qdoc/generatedoutput/testcpp.cpp | 8 ++++++++ tests/auto/qdoc/generatedoutput/testcpp.h | 4 ++++ 7 files changed, 37 insertions(+), 6 deletions(-) diff --git a/src/qdoc/sections.cpp b/src/qdoc/sections.cpp index 7d5bcf03f..edfa212ce 100644 --- a/src/qdoc/sections.cpp +++ b/src/qdoc/sections.cpp @@ -826,10 +826,8 @@ void Sections::distributeNodeInDetailsVector(SectionVector &dv, Node *n) } if (fn->isIgnored()) return; - if (!fn->isSharingComment()) { - if (!fn->hasAssociatedProperties() || !fn->doc().isEmpty()) - dv[DetailsMemberFunctions].insert(n); - } + if (!fn->hasAssociatedProperties() || !fn->doc().isEmpty()) + dv[DetailsMemberFunctions].insert(n); return; } if (t->isRelatedNonmember()) { diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-test.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-test.webxml index 028921a6e..5d88b6e7c 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-test.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-test.webxml @@ -31,6 +31,13 @@ <para>Use <link raw="someFunction()" href="testqdoc-test.html#someFunction" type="function">someFunction()</link> instead.</para> </description> </function> + <function name="overload" fullname="TestQDoc::Test::overload" href="testqdoc-test.html#overload" status="active" access="protected" location="testcpp.h" filepath="/home/levon/work/official/qttools/tests/auto/qdoc/generatedoutput/testcpp.h" lineno="45" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="void" signature="void overload()"> + <description path="" line="0" column="0"/> + </function> + <function name="overload" fullname="TestQDoc::Test::overload" href="testqdoc-test.html#overload-1" status="active" access="protected" location="testcpp.h" filepath="/home/levon/work/official/qttools/tests/auto/qdoc/generatedoutput/testcpp.h" lineno="46" meta="plain" virtual="non" const="false" static="false" final="false" override="false" overload="true" overload-number="1" type="void" signature="void overload(bool b)"> + <parameter type="bool" name="b" default=""/> + <description path="" line="0" column="0"/> + </function> <function name="someFunction" fullname="TestQDoc::Test::someFunction" href="testqdoc-test.html#someFunction" status="active" access="public" location="testcpp.h" filepath="/home/levon/work/official/qttools/tests/auto/qdoc/generatedoutput/testcpp.h" lineno="36" documented="true" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="int" signature="int someFunction(int v)"> <parameter type="int" name="v" default=""/> <description path="/home/levon/work/official/qttools/tests/auto/qdoc/generatedoutput/testcpp.cpp" line="111" column="4"> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-testderived.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-testderived.webxml index 07b6c4caf..c0c8d852f 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-testderived.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/testqdoc-testderived.webxml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <WebXML> <document> - <class name="TestDerived" fullname="TestQDoc::TestDerived" href="testqdoc-testderived.html" status="active" access="public" location="testcpp.h" filepath="/home/levon/work/official/qttools/tests/auto/qdoc/generatedoutput/testcpp.h" lineno="45" documented="true" bases="TestQDoc::Test" module="TestCPP" brief="A derived class in a namespace"> + <class name="TestDerived" fullname="TestQDoc::TestDerived" href="testqdoc-testderived.html" status="active" access="public" location="testcpp.h" filepath="/home/levon/work/official/qttools/tests/auto/qdoc/generatedoutput/testcpp.h" lineno="49" documented="true" bases="TestQDoc::Test" module="TestCPP" brief="A derived class in a namespace"> <description path="/home/levon/work/official/qttools/tests/auto/qdoc/generatedoutput/testcpp.cpp" line="55" column="4"> <brief>A derived class in a namespace.</brief> </description> - <function name="virtualFun" fullname="TestQDoc::TestDerived::virtualFun" href="testqdoc-testderived.html#virtualFun" status="active" access="public" location="testcpp.h" filepath="/home/levon/work/official/qttools/tests/auto/qdoc/generatedoutput/testcpp.h" lineno="47" documented="true" meta="plain" virtual="virtual" const="false" static="false" final="false" override="true" type="void" signature="void virtualFun() override"> + <function name="virtualFun" fullname="TestQDoc::TestDerived::virtualFun" href="testqdoc-testderived.html#virtualFun" status="active" access="public" location="testcpp.h" filepath="/home/levon/work/official/qttools/tests/auto/qdoc/generatedoutput/testcpp.h" lineno="51" documented="true" meta="plain" virtual="virtual" const="false" static="false" final="false" override="true" type="void" signature="void virtualFun() override"> <description path="/home/levon/work/official/qttools/tests/auto/qdoc/generatedoutput/testcpp.cpp" line="134" column="4"/> </function> </class> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-members.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-members.html index a52123a32..3900ff8cb 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-members.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-members.html @@ -13,6 +13,8 @@ <p>This is the complete list of members for <a href="testqdoc-test.html">TestQDoc::Test</a>, including inherited members.</p> <ul> <li class="fn"><span class="name"><b><a href="testqdoc-test.html#inlineFunction">inlineFunction</a></b></span>()</li> +<li class="fn"><span class="name"><b><a href="testqdoc-test.html#overload">overload</a></b></span>()</li> +<li class="fn"><span class="name"><b><a href="testqdoc-test.html#overload-1">overload</a></b></span>(bool )</li> <li class="fn"><span class="name"><b><a href="testqdoc-test.html#someFunction">someFunction</a></b></span>(int ) : int</li> <li class="fn"><span class="name"><b><a href="testqdoc-test.html#someFunctionDefaultArg">someFunctionDefaultArg</a></b></span>(int , bool )</li> <li class="fn"><span class="name"><b><a href="testqdoc-test.html#virtualFun">virtualFun</a></b></span>()</li> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html index f172a10e7..c4fb4ad0a 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html @@ -13,6 +13,7 @@ <h3><a name="toc">Contents</a></h3> <ul> <li class="level1"><a href="#public-functions">Public Functions</a></li> +<li class="level1"><a href="#protected-functions">Protected Functions</a></li> <li class="level1"><a href="#macros">Macros</a></li> <li class="level1"><a href="#details">Detailed Description</a></li> </ul> @@ -38,6 +39,12 @@ <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="testqdoc-test.html#someFunctionDefaultArg">someFunctionDefaultArg</a></b>(int <i>i</i>, bool <i>b</i> = false)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="testqdoc-test.html#virtualFun">virtualFun</a></b>()</td></tr> </table></div> +<a name="protected-functions"></a> +<h2 id="protected-functions">Protected Functions</h2> +<div class="table"><table class="alignedsummary"> +<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="testqdoc-test.html#overload">overload</a></b>()</td></tr> +<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="testqdoc-test.html#overload-1">overload</a></b>(bool <i>b</i>)</td></tr> +</table></div> <a name="macros"></a> <h2 id="macros">Macros</h2> <div class="table"><table class="alignedsummary"> @@ -51,6 +58,11 @@ <!-- @@@Test --> <div class="func"> <h2>Member Function Documentation</h2> +<!-- $$$ --> +<div class="fngroup"> +<h3 class="fn fngroupitem" id="overload"><a name="overload"></a><code>[protected] </code><span class="type">void</span> Test::<span class="name">overload</span>()</h3><h3 class="fn fngroupitem" id="overload-1"><a name="overload-1"></a><code>[protected] </code><span class="type">void</span> Test::<span class="name">overload</span>(<span class="type">bool</span> <i>b</i>)</h3></div> +<p>Overloads that share a documentation comment, optionally taking a parameter <i>b</i>.</p> +<!-- @@@ --> <!-- $$$inlineFunction[overload1]$$$inlineFunction --> <h3 class="fn" id="inlineFunction"><a name="inlineFunction"></a><span class="type">void</span> Test::<span class="name">inlineFunction</span>()</h3> <p>An inline function, documented using the \fn QDoc command.</p> diff --git a/tests/auto/qdoc/generatedoutput/testcpp.cpp b/tests/auto/qdoc/generatedoutput/testcpp.cpp index 3277d496d..f33a6a83c 100644 --- a/tests/auto/qdoc/generatedoutput/testcpp.cpp +++ b/tests/auto/qdoc/generatedoutput/testcpp.cpp @@ -139,4 +139,12 @@ void TestDerived::virtualFun() return; } +/*! + \fn TestQDoc::Test::overload() + \fn TestQDoc::Test::overload(bool b) + + Overloads that share a documentation comment, optionally taking + a parameter \a b. +*/ + } // namespace TestQDoc diff --git a/tests/auto/qdoc/generatedoutput/testcpp.h b/tests/auto/qdoc/generatedoutput/testcpp.h index 733f9e751..c34ada99b 100644 --- a/tests/auto/qdoc/generatedoutput/testcpp.h +++ b/tests/auto/qdoc/generatedoutput/testcpp.h @@ -40,6 +40,10 @@ public: void deprecatedMember(); inline void inlineFunction() {}; virtual void virtualFun(); + +protected: + void overload() {} + void overload(bool b) { if (!b) return; } }; class TestDerived : public Test { -- cgit v1.2.3 From 4970167b75fb83bd46227d9d9315b6e215c8e457 Mon Sep 17 00:00:00 2001 From: Paul Wicking <paul.wicking@qt.io> Date: Sun, 5 Jan 2020 13:04:24 +0100 Subject: QDoc: Drop xml prolog from html output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The html output is not well-formed xml, so let's not claim that it is. Update expected output in tests to reflect the change in output. Task-number: QTBUG-73026 Change-Id: I0e6646eb33cafad7be543869585609d6f4cb0fdb Reviewed-by: Topi Reiniö <topi.reinio@qt.io> --- src/qdoc/htmlgenerator.cpp | 5 ----- tests/auto/qdoc/generatedoutput/expected_output/first.html | 1 - tests/auto/qdoc/generatedoutput/expected_output/index.html | 1 - .../qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html | 1 - .../expected_output/qdoctests-qdocfileoutput-linking.html | 1 - .../generatedoutput/expected_output/qdoctests-qdocfileoutput.html | 1 - tests/auto/qdoc/generatedoutput/expected_output/qml-int.html | 1 - .../expected_output/qml-qdoc-test-abstractparent.html | 1 - .../qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html | 1 - .../qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html | 1 - .../generatedoutput/expected_output/qml-qdoc-test-type-members.html | 1 - .../qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html | 1 - .../expected_output/qml-uicomponents-progressbar.html | 1 - .../generatedoutput/expected_output/qml-uicomponents-switch.html | 1 - .../generatedoutput/expected_output/qml-uicomponents-tabwidget.html | 1 - tests/auto/qdoc/generatedoutput/expected_output/second.html | 1 - .../generatedoutput/expected_output/test-componentset-example.html | 1 - tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html | 1 - .../qdoc/generatedoutput/expected_output/testqdoc-test-members.html | 1 - .../qdoc/generatedoutput/expected_output/testqdoc-test-obsolete.html | 1 - tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html | 1 - .../expected_output/testqdoc-testderived-members.html | 1 - .../qdoc/generatedoutput/expected_output/testqdoc-testderived.html | 1 - tests/auto/qdoc/generatedoutput/expected_output/testqdoc.html | 1 - tests/auto/qdoc/generatedoutput/expected_output/third.html | 1 - .../qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html | 1 - 26 files changed, 30 deletions(-) diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 794e39fe4..b38f55fd1 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -1830,11 +1830,6 @@ void HtmlGenerator::generateNavigationBar(const QString &title, const Node *node void HtmlGenerator::generateHeader(const QString &title, const Node *node, CodeMarker *marker) { -#ifndef QT_NO_TEXTCODEC - out() << QString("<?xml version=\"1.0\" encoding=\"%1\"?>\n").arg(outputEncoding); -#else - out() << QString("<?xml version=\"1.0\"?>\n"); -#endif out() << "<!DOCTYPE html>\n"; out() << QString("<html lang=\"%1\">\n").arg(naturalLanguage); out() << "<head>\n"; diff --git a/tests/auto/qdoc/generatedoutput/expected_output/first.html b/tests/auto/qdoc/generatedoutput/expected_output/first.html index 0a7f52a13..09e5b20bf 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/first.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/first.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/index.html b/tests/auto/qdoc/generatedoutput/expected_output/index.html index 8600e0867..b0cdbc5d4 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/index.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/index.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html b/tests/auto/qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html index 0d424fb73..bf90efe9f 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput-linking.html b/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput-linking.html index da5398612..1b81c7a2e 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput-linking.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput-linking.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput.html b/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput.html index 6f444482d..4fb32e5b6 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html index 108bf6a37..22156b261 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html index c1739608c..8ae53fd22 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html index c20ce7d8f..040796626 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html index b15559210..2578e31f1 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html index a0599c34d..79d9c8974 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html index 30c48adf5..2b471e8cb 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html index d860f022e..ea1da5176 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html index e4febbfcf..e2f61f90c 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html index 8598eec00..9309be8ab 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/second.html b/tests/auto/qdoc/generatedoutput/expected_output/second.html index c3d76d0f8..2b6694896 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/second.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/second.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/test-componentset-example.html b/tests/auto/qdoc/generatedoutput/expected_output/test-componentset-example.html index 40c874a3c..144897f58 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/test-componentset-example.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/test-componentset-example.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html b/tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html index fc05a8d14..604626ddb 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-members.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-members.html index 3900ff8cb..0eec5d7f1 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-members.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-members.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-obsolete.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-obsolete.html index 732300dd3..47039787c 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-obsolete.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-obsolete.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html index c4fb4ad0a..73ed7f78a 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived-members.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived-members.html index f5adf249c..2bdfe0e24 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived-members.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived-members.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived.html index a5478fc66..5ba6b7979 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc.html index 94ef710fc..dc8dfd27a 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/third.html b/tests/auto/qdoc/generatedoutput/expected_output/third.html index 93dc5a1c1..b538e4c6a 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/third.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/third.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html b/tests/auto/qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html index 5aa475abc..c78ba005f 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> -- cgit v1.2.3 From 82c44b81dc414ca8f6093bdd0379c93b95d2d610 Mon Sep 17 00:00:00 2001 From: Paul Wicking <paul.wicking@qt.io> Date: Sun, 5 Jan 2020 09:49:01 +0100 Subject: QDoc: Use html5 charset declaration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As we claim the html is html5 compliant (<!doctype html>), use the html5 charset declaration instead of html 4.01 style. Also, drop the trailing '/' (no need to close meta element). Update all test content to match the new output. Task-number: QTBUG-73026 Change-Id: I4cf58a342a2bfb9e76245bd3fb91525e6e59f622 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> --- src/qdoc/htmlgenerator.cpp | 2 +- tests/auto/qdoc/generatedoutput/expected_output/first.html | 2 +- tests/auto/qdoc/generatedoutput/expected_output/index.html | 2 +- .../auto/qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html | 2 +- .../expected_output/qdoctests-qdocfileoutput-linking.html | 2 +- .../qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput.html | 2 +- tests/auto/qdoc/generatedoutput/expected_output/qml-int.html | 2 +- .../generatedoutput/expected_output/qml-qdoc-test-abstractparent.html | 2 +- .../auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html | 2 +- .../qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html | 2 +- .../generatedoutput/expected_output/qml-qdoc-test-type-members.html | 2 +- tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html | 2 +- .../generatedoutput/expected_output/qml-uicomponents-progressbar.html | 2 +- .../qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html | 2 +- .../generatedoutput/expected_output/qml-uicomponents-tabwidget.html | 2 +- tests/auto/qdoc/generatedoutput/expected_output/second.html | 2 +- .../qdoc/generatedoutput/expected_output/test-componentset-example.html | 2 +- tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html | 2 +- .../qdoc/generatedoutput/expected_output/testqdoc-test-members.html | 2 +- .../qdoc/generatedoutput/expected_output/testqdoc-test-obsolete.html | 2 +- tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html | 2 +- .../generatedoutput/expected_output/testqdoc-testderived-members.html | 2 +- .../auto/qdoc/generatedoutput/expected_output/testqdoc-testderived.html | 2 +- tests/auto/qdoc/generatedoutput/expected_output/testqdoc.html | 2 +- tests/auto/qdoc/generatedoutput/expected_output/third.html | 2 +- .../qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index b38f55fd1..b7dc227ca 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -1833,7 +1833,7 @@ void HtmlGenerator::generateHeader(const QString &title, const Node *node, CodeM out() << "<!DOCTYPE html>\n"; out() << QString("<html lang=\"%1\">\n").arg(naturalLanguage); out() << "<head>\n"; - out() << " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n"; + out() << " <meta charset=\"utf-8\">\n"; if (node && !node->doc().location().isEmpty()) out() << "<!-- " << node->doc().location().fileName() << " -->\n"; diff --git a/tests/auto/qdoc/generatedoutput/expected_output/first.html b/tests/auto/qdoc/generatedoutput/expected_output/first.html index 09e5b20bf..1e92e7067 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/first.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/first.html @@ -1,7 +1,7 @@ <!DOCTYPE html> <html lang="en"> <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <meta charset="utf-8"> <!-- main.cpp --> <title>First Class | TestModule diff --git a/tests/auto/qdoc/generatedoutput/expected_output/index.html b/tests/auto/qdoc/generatedoutput/expected_output/index.html index b0cdbc5d4..cb5b7b6db 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/index.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/index.html @@ -1,7 +1,7 @@ - + doc index | TestModule diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html b/tests/auto/qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html index bf90efe9f..6a513e987 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qdoc-test-qmlmodule.html @@ -1,7 +1,7 @@ - + Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput-linking.html b/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput-linking.html index 1b81c7a2e..74b47375e 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput-linking.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput-linking.html @@ -1,7 +1,7 @@ - + Testing QDoc's link command | Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput.html b/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput.html index 4fb32e5b6..c4975e349 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput.html @@ -1,7 +1,7 @@ - + Testing QDoc output from .qdoc files | Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html index 22156b261..651f840cb 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html @@ -1,7 +1,7 @@ - + int QML Basic Type | Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html index 8ae53fd22..949dc7868 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html @@ -1,7 +1,7 @@ - + AbstractParent QML Type | Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html index 040796626..5ba40c99c 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html @@ -1,7 +1,7 @@ - + Child QML Type | Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html index 2578e31f1..a88d935be 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html @@ -1,7 +1,7 @@ - + DocTest QML Type | Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html index 79d9c8974..91cfa8643 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html @@ -1,7 +1,7 @@ - + List of All Members for Type | Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html index 2b471e8cb..d4c278659 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html @@ -1,7 +1,7 @@ - + Type QML Type | Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html index ea1da5176..6cfe36a83 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html @@ -1,7 +1,7 @@ - + ProgressBar QML Type | Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html index e2f61f90c..5ebae4905 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html @@ -1,7 +1,7 @@ - + Switch QML Type | Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html index 9309be8ab..2c48e1ddd 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html @@ -1,7 +1,7 @@ - + TabWidget QML Type | Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/second.html b/tests/auto/qdoc/generatedoutput/expected_output/second.html index 2b6694896..04a4862cd 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/second.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/second.html @@ -1,7 +1,7 @@ - + Second Class | TestModule diff --git a/tests/auto/qdoc/generatedoutput/expected_output/test-componentset-example.html b/tests/auto/qdoc/generatedoutput/expected_output/test-componentset-example.html index 144897f58..faf632bea 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/test-componentset-example.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/test-componentset-example.html @@ -1,7 +1,7 @@ - + QML Documentation Example | Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html b/tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html index 604626ddb..60bbd587c 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testcpp-module.html @@ -1,7 +1,7 @@ - + QDoc Test C++ Classes | TestCPP diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-members.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-members.html index 0eec5d7f1..5554519af 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-members.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-members.html @@ -1,7 +1,7 @@ - + List of All Members for Test | TestCPP diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-obsolete.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-obsolete.html index 47039787c..ef0e7bcac 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-obsolete.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test-obsolete.html @@ -1,7 +1,7 @@ - + Obsolete Members for Test | TestCPP diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html index 73ed7f78a..f373f725a 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html @@ -1,7 +1,7 @@ - + Test Class | TestCPP diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived-members.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived-members.html index 2bdfe0e24..89b206b27 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived-members.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived-members.html @@ -1,7 +1,7 @@ - + List of All Members for TestDerived | TestCPP diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived.html index 5ba6b7979..cafca0a8c 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-testderived.html @@ -1,7 +1,7 @@ - + TestDerived Class | TestCPP diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc.html index dc8dfd27a..a259e40af 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc.html @@ -1,7 +1,7 @@ - + TestQDoc Namespace | TestCPP diff --git a/tests/auto/qdoc/generatedoutput/expected_output/third.html b/tests/auto/qdoc/generatedoutput/expected_output/third.html index b538e4c6a..ee69a1689 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/third.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/third.html @@ -1,7 +1,7 @@ - + Third Class | TestModule diff --git a/tests/auto/qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html b/tests/auto/qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html index c78ba005f..baba2c57a 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/uicomponents-qmlmodule.html @@ -1,7 +1,7 @@ - + UI Components | Test -- cgit v1.2.3 From 3c2523b24220aefa4f3335f11fd8eb7993f29160 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Thu, 19 Dec 2019 18:57:39 +0100 Subject: QDoc: Fix whitespace (again) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Whitespace that got reintroduced from an old patch that integrated late. Fix it separately to avoid mixing with other changes. Change-Id: I6e905cd5710a31c671702a6ad9f5711b251e1020 Reviewed-by: Topi Reiniö --- src/qdoc/doc.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index 61838b69c..0d5d059d6 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -1723,15 +1723,13 @@ bool DocParser::isAutoLinkString(const QString &word, int &curPos) } else if (latin1Ch == '_' || latin1Ch == '@') { ++numStrangeSymbols; ++curPos; - } else if ((latin1Ch == ':') && - (curPos < len - 1) && - (word.at(curPos + 1) == QLatin1Char(':'))) { + } else if ((latin1Ch == ':') && (curPos < len - 1) + && (word.at(curPos + 1) == QLatin1Char(':'))) { ++numStrangeSymbols; curPos += 2; } else if (latin1Ch == '(') { if (curPos > startPos) { - if ((curPos < len - 1) && - (word.at(curPos + 1) == QLatin1Char(')'))) { + if ((curPos < len - 1) && (word.at(curPos + 1) == QLatin1Char(')'))) { ++numStrangeSymbols; pos += 2; break; -- cgit v1.2.3 From a18457ab5310b60290b4655f51aec859e7b3bc8a Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Thu, 19 Dec 2019 18:56:48 +0100 Subject: QDoc: clean up ctor/dtor in Atom MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Make calling code specify Atom type, remove superfluous ctor. * Move default initialization from initialization list to in-class for member that initializes the same in all ctors. * Move initialization from ctor body to initialization list. * Mark trivial dtor default. Change-Id: I5e4a9e5cdcf0b9f3ba68b53dcab34c2ab77b415d Reviewed-by: Topi Reiniö --- src/qdoc/atom.cpp | 2 +- src/qdoc/atom.h | 22 +++++++--------------- src/qdoc/doc.cpp | 4 ++-- 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/src/qdoc/atom.cpp b/src/qdoc/atom.cpp index 298d2bbd4..f4920f43e 100644 --- a/src/qdoc/atom.cpp +++ b/src/qdoc/atom.cpp @@ -377,7 +377,7 @@ void Atom::dump() const the space character. */ LinkAtom::LinkAtom(const QString &p1, const QString &p2) - : Atom(p1), + : Atom(Atom::Link, p1), resolved_(false), genus_(Node::DontCare), goal_(Node::NoType), diff --git a/src/qdoc/atom.h b/src/qdoc/atom.h index f7cb0b654..6b37618e8 100644 --- a/src/qdoc/atom.h +++ b/src/qdoc/atom.h @@ -134,37 +134,29 @@ public: friend class LinkAtom; - Atom(const QString &string) : next_(nullptr), type_(Link) { strs << string; } + Atom(AtomType type, const QString &string = "") : type_(type), strs(string) {} - Atom(AtomType type, const QString &string = "") : next_(nullptr), type_(type) + Atom(AtomType type, const QString &p1, const QString &p2) : type_(type), strs(p1) { - strs << string; - } - - Atom(AtomType type, const QString &p1, const QString &p2) : next_(nullptr), type_(type) - { - strs << p1; if (!p2.isEmpty()) strs << p2; } - Atom(Atom *previous, AtomType type, const QString &string = "") - : next_(previous->next_), type_(type) + Atom(Atom *previous, AtomType type, const QString &string) + : next_(previous->next_), type_(type), strs(string) { - strs << string; previous->next_ = this; } Atom(Atom *previous, AtomType type, const QString &p1, const QString &p2) - : next_(previous->next_), type_(type) + : next_(previous->next_), type_(type), strs(p1) { - strs << p1; if (!p2.isEmpty()) strs << p2; previous->next_ = this; } - virtual ~Atom() {} + virtual ~Atom() = default; void appendChar(QChar ch) { strs[0] += ch; } void appendString(const QString &string) { strs[0] += string; } @@ -194,7 +186,7 @@ public: protected: static QString noError_; - Atom *next_; + Atom *next_ = nullptr; AtomType type_; QStringList strs; }; diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index 0d5d059d6..89748b0ad 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -1860,7 +1860,7 @@ void DocParser::append(const QString &string) Atom::AtomType lastType = priv->text.lastAtom()->type(); if ((lastType == Atom::Code) && priv->text.lastAtom()->string().endsWith(QLatin1String("\n\n"))) priv->text.lastAtom()->chopString(); - priv->text << Atom(string); // The Atom type is Link. + priv->text << Atom(Atom::Link, string); } void DocParser::append(Atom::AtomType type, const QString &p1, const QString &p2) @@ -1877,7 +1877,7 @@ void DocParser::append(const QString &p1, const QString &p2) if ((lastType == Atom::Code) && priv->text.lastAtom()->string().endsWith(QLatin1String("\n\n"))) priv->text.lastAtom()->chopString(); if (p2.isEmpty()) - priv->text << Atom(p1); // The Atom type is Link. + priv->text << Atom(Atom::Link, p1); else priv->text << LinkAtom(p1, p2); } -- cgit v1.2.3 From 90f6b663a8cbbec92dd496508b77a7df7b6be8b8 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 2 Dec 2019 11:08:19 +0100 Subject: Qt Designer: No longer handle functions given for the DESIGNABLE property attribute Remove the parameter from the introspection interface and its handling. Change-Id: I1957563808811371f51c00312906f7f52da458f6 Reviewed-by: Jarek Kobus --- .../components/formeditor/qdesigner_resource.cpp | 2 +- src/designer/src/lib/sdk/abstractintrospection.cpp | 4 +-- src/designer/src/lib/sdk/abstractintrospection_p.h | 2 +- .../src/lib/shared/qdesigner_introspection.cpp | 17 +++---------- .../src/lib/shared/qdesigner_propertysheet.cpp | 29 +++++++--------------- 5 files changed, 16 insertions(+), 38 deletions(-) diff --git a/src/designer/src/components/formeditor/qdesigner_resource.cpp b/src/designer/src/components/formeditor/qdesigner_resource.cpp index 0725f9d1e..2a1cdce3f 100644 --- a/src/designer/src/components/formeditor/qdesigner_resource.cpp +++ b/src/designer/src/components/formeditor/qdesigner_resource.cpp @@ -1534,7 +1534,7 @@ bool QDesignerResource::checkProperty(QObject *obj, const QString &prop) const const QDesignerMetaObjectInterface *meta = core()->introspection()->metaObject(obj); const int pindex = meta->indexOfProperty(prop); - if (pindex != -1 && !(meta->property(pindex)->attributes(obj) & QDesignerMetaPropertyInterface::StoredAttribute)) + if (pindex != -1 && !meta->property(pindex)->attributes().testFlag(QDesignerMetaPropertyInterface::StoredAttribute)) return false; if (prop == QStringLiteral("objectName") || prop == QStringLiteral("spacerName")) // ### don't store the property objectName diff --git a/src/designer/src/lib/sdk/abstractintrospection.cpp b/src/designer/src/lib/sdk/abstractintrospection.cpp index c4e12635a..405796cdc 100644 --- a/src/designer/src/lib/sdk/abstractintrospection.cpp +++ b/src/designer/src/lib/sdk/abstractintrospection.cpp @@ -197,9 +197,9 @@ QDesignerMetaPropertyInterface::~QDesignerMetaPropertyInterface() = default; */ /*! - \fn Attributes QDesignerMetaPropertyInterface::attributes(const QObject *object) const + \fn Attributes QDesignerMetaPropertyInterface::attributes() const - Returns the attributes of the property for the gives \a object. + Returns the attributes of the property. */ /*! diff --git a/src/designer/src/lib/sdk/abstractintrospection_p.h b/src/designer/src/lib/sdk/abstractintrospection_p.h index 89047651c..985bba830 100644 --- a/src/designer/src/lib/sdk/abstractintrospection_p.h +++ b/src/designer/src/lib/sdk/abstractintrospection_p.h @@ -84,7 +84,7 @@ public: virtual Kind kind() const = 0; virtual AccessFlags accessFlags() const = 0; - virtual Attributes attributes(const QObject *object = nullptr) const = 0; + virtual Attributes attributes() const = 0; virtual QVariant::Type type() const = 0; virtual QString name() const = 0; diff --git a/src/designer/src/lib/shared/qdesigner_introspection.cpp b/src/designer/src/lib/shared/qdesigner_introspection.cpp index 344fed976..099dadc9c 100644 --- a/src/designer/src/lib/shared/qdesigner_introspection.cpp +++ b/src/designer/src/lib/shared/qdesigner_introspection.cpp @@ -99,7 +99,7 @@ namespace { Kind kind() const override { return m_kind; } AccessFlags accessFlags() const override { return m_access; } - Attributes attributes(const QObject *object = nullptr) const override; + Attributes attributes() const override; QVariant::Type type() const override { return m_property.type(); } QString name() const override { return m_name; } @@ -162,20 +162,9 @@ namespace { delete m_enumerator; } - QDesignerMetaProperty::Attributes QDesignerMetaProperty::attributes(const QObject *object) const + QDesignerMetaProperty::Attributes QDesignerMetaProperty::attributes() const { - if (!object) - return m_defaultAttributes; - Attributes rc; - if (m_property.isDesignable(object)) - rc |= DesignableAttribute; - if (m_property.isScriptable(object)) - rc |= ScriptableAttribute; - if (m_property.isStored(object)) - rc |= StoredAttribute; - if (m_property.isUser(object)) - rc |= UserAttribute; - return rc; + return m_defaultAttributes; } // -------------- QDesignerMetaMethod diff --git a/src/designer/src/lib/shared/qdesigner_propertysheet.cpp b/src/designer/src/lib/shared/qdesigner_propertysheet.cpp index e815dd4c0..cf0933757 100644 --- a/src/designer/src/lib/shared/qdesigner_propertysheet.cpp +++ b/src/designer/src/lib/shared/qdesigner_propertysheet.cpp @@ -1458,23 +1458,13 @@ bool QDesignerPropertySheet::isFakeLayoutProperty(int index) const return false; } -// Determine the "designable" state of a property. Properties, which have -// a per-object boolean test function that returns false are shown in -// disabled state ("checked" depending on "checkable", etc.) -// Properties, which are generally not designable independent -// of the object are not shown at all. -enum DesignableState { PropertyIsDesignable, - // Object has a Designable test function that returns false. - PropertyOfObjectNotDesignable, - PropertyNotDesignable }; - -static inline DesignableState designableState(const QDesignerMetaPropertyInterface *p, const QObject *object) -{ - if (p->attributes(object) & QDesignerMetaPropertyInterface::DesignableAttribute) - return PropertyIsDesignable; - return (p->attributes() & QDesignerMetaPropertyInterface::DesignableAttribute) ? - PropertyOfObjectNotDesignable : PropertyNotDesignable; -} +// Visible vs. Enabled: In Qt 5, it was possible to define a boolean function +// for the DESIGNABLE attribute of Q_PROPERTY. Qt Designer would use that to +// determine isEnabled() for the property and return isVisible() = false +// for properties that specified 'false' for DESIGNABLE. +// This was used for example for the "checked" property of QAbstractButton, +// QGroupBox and QAction, where "checkable" would determine isEnabled(). +// This is now implemented by querying the property directly. bool QDesignerPropertySheet::isVisible(int index) const { @@ -1550,8 +1540,7 @@ bool QDesignerPropertySheet::isVisible(int index) const if (!(p->accessFlags() & QDesignerMetaPropertyInterface::WriteAccess)) return false; - // Enabled handling: Hide only statically not designable properties - return designableState(p, d->m_object) != PropertyNotDesignable; + return p->attributes().testFlag(QDesignerMetaPropertyInterface::DesignableAttribute); } void QDesignerPropertySheet::setVisible(int index, bool visible) @@ -1588,7 +1577,7 @@ bool QDesignerPropertySheet::isEnabled(int index) const if (!p->accessFlags().testFlag(QDesignerMetaPropertyInterface::WriteAccess)) return false; - if (designableState(p, d->m_object) == PropertyOfObjectNotDesignable) + if (!p->attributes().testFlag(QDesignerMetaPropertyInterface::DesignableAttribute)) return false; const PropertyType type = propertyType(index); -- cgit v1.2.3 From f2df879cbd3e09f25d3c23f05fb76549a5a45296 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 21 Nov 2019 10:31:57 +0100 Subject: Fix empty content and index widgets when qhc is readonly Fixes: QTBUG-78146 Change-Id: I1e52e17d9024f566e761b804d56bf029f1d7b83f Reviewed-by: Kai Koehne --- src/assistant/help/qhelpcontentwidget.cpp | 1 + src/assistant/help/qhelpindexwidget.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/assistant/help/qhelpcontentwidget.cpp b/src/assistant/help/qhelpcontentwidget.cpp index f0702602e..47f96732e 100644 --- a/src/assistant/help/qhelpcontentwidget.cpp +++ b/src/assistant/help/qhelpcontentwidget.cpp @@ -276,6 +276,7 @@ void QHelpContentProvider::run() return; QHelpCollectionHandler collectionHandler(collectionFile); + collectionHandler.setReadOnly(true); if (!collectionHandler.openCollectionFile()) return; diff --git a/src/assistant/help/qhelpindexwidget.cpp b/src/assistant/help/qhelpindexwidget.cpp index fa70dd438..73de1489f 100644 --- a/src/assistant/help/qhelpindexwidget.cpp +++ b/src/assistant/help/qhelpindexwidget.cpp @@ -134,6 +134,7 @@ void QHelpIndexProvider::run() return; QHelpCollectionHandler collectionHandler(collectionFile); + collectionHandler.setReadOnly(true); if (!collectionHandler.openCollectionFile()) return; -- cgit v1.2.3 From 3a9b6fc440b6c1ca290ac1140d3f726cf6b11765 Mon Sep 17 00:00:00 2001 From: Levon Sargsyan Date: Mon, 6 Jan 2020 17:54:14 +0100 Subject: Change test function positions to match their declaration order Change-Id: I82bd549f93ce19b029c0e3c7220652e569ee07dc Reviewed-by: Paul Wicking --- .../qdoc/generatedoutput/tst_generatedoutput.cpp | 47 +++++++++++----------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index a705575a8..a56e0fd7d 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -171,13 +171,6 @@ void tst_generatedOutput::htmlFromQDocFile() "qdoctests-qdocfileoutput-linking.html"); } -void tst_generatedOutput::webXmlFromQDocFile() -{ - testAndCompare("webxml_test.qdocconf", - "html/qdoctests-qdocfileoutput.webxml " - "html/qdoctests-qdocfileoutput-linking.webxml"); -} - void tst_generatedOutput::htmlFromCpp() { testAndCompare("testcpp.qdocconf", @@ -187,16 +180,6 @@ void tst_generatedOutput::htmlFromCpp() "testqdoc.html"); } - -void tst_generatedOutput::webXmlFromCpp() -{ - testAndCompare("webxml_testcpp.qdocconf", - "html/testcpp-module.webxml " - "html/testqdoc-test.webxml " - "html/testqdoc-testderived.webxml"); -} - - void tst_generatedOutput::htmlFromQml() { testAndCompare("testqml.qdocconf", @@ -214,13 +197,6 @@ void tst_generatedOutput::htmlFromQml() "qml-int.html"); } -void tst_generatedOutput::webXmlFromQml() -{ - testAndCompare("webxml_testqml.qdocconf", - "html/test-componentset-example.webxml " - "html/uicomponents-qmlmodule.webxml"); -} - void tst_generatedOutput::htmlFromCppBug80259() { testAndCompare("bug80259/testmodule.qdocconf", @@ -230,6 +206,29 @@ void tst_generatedOutput::htmlFromCppBug80259() "index.html"); } +void tst_generatedOutput::webXmlFromQDocFile() +{ + testAndCompare("webxml_test.qdocconf", + "html/qdoctests-qdocfileoutput.webxml " + "html/qdoctests-qdocfileoutput-linking.webxml"); +} + +void tst_generatedOutput::webXmlFromCpp() +{ + testAndCompare("webxml_testcpp.qdocconf", + "html/testcpp-module.webxml " + "html/testqdoc-test.webxml " + "html/testqdoc-testderived.webxml"); +} + + +void tst_generatedOutput::webXmlFromQml() +{ + testAndCompare("webxml_testqml.qdocconf", + "html/test-componentset-example.webxml " + "html/uicomponents-qmlmodule.webxml"); +} + void tst_generatedOutput::webXmlFromCppBug80259() { testAndCompare("bug80259/webxml_testmodule.qdocconf", -- cgit v1.2.3 From ff95498d4cac875ce7b6be62e3c5208c7d8f94d3 Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Mon, 6 Jan 2020 13:46:53 +0100 Subject: Add RHI info to qtdiag Add some rudimentary output about available RHI backends. Task-number: QTBUG-78684 Change-Id: I1289c6f67affca33691e1ef701af106e0d494d9a Reviewed-by: Laszlo Agocs Reviewed-by: Paul Olav Tvete --- src/qtdiag/main.cpp | 4 ++ src/qtdiag/qtdiag.cpp | 108 +++++++++++++++++++++++++++++++++++++++++++++++++- src/qtdiag/qtdiag.h | 3 +- 3 files changed, 113 insertions(+), 2 deletions(-) diff --git a/src/qtdiag/main.cpp b/src/qtdiag/main.cpp index de56d7201..5851d3450 100644 --- a/src/qtdiag/main.cpp +++ b/src/qtdiag/main.cpp @@ -50,11 +50,13 @@ int main(int argc, char **argv) const QCommandLineOption glExtensionOption(QStringLiteral("gl-extensions"), QStringLiteral("List GL extensions")); const QCommandLineOption fontOption(QStringLiteral("fonts"), QStringLiteral("Output list of fonts")); const QCommandLineOption noVkOption(QStringLiteral("no-vulkan"), QStringLiteral("Do not output Vulkan information")); + const QCommandLineOption noRhiOption(QStringLiteral("no-rhi"), QStringLiteral("Do not output RHI information")); commandLineParser.setApplicationDescription(QStringLiteral("Prints diagnostic output about the Qt library.")); commandLineParser.addOption(noGlOption); commandLineParser.addOption(glExtensionOption); commandLineParser.addOption(fontOption); commandLineParser.addOption(noVkOption); + commandLineParser.addOption(noRhiOption); commandLineParser.addHelpOption(); commandLineParser.process(app); unsigned flags = commandLineParser.isSet(noGlOption) ? 0u : unsigned(QtDiagGl); @@ -64,6 +66,8 @@ int main(int argc, char **argv) flags |= QtDiagFonts; if (!commandLineParser.isSet(noVkOption)) flags |= QtDiagVk; + if (!commandLineParser.isSet(noRhiOption)) + flags |= QtDiagRhi; std::wcout << qtDiag(flags).toStdWString(); std::wcout.flush(); diff --git a/src/qtdiag/qtdiag.cpp b/src/qtdiag/qtdiag.cpp index 66d25bc64..8d9e42578 100644 --- a/src/qtdiag/qtdiag.cpp +++ b/src/qtdiag/qtdiag.cpp @@ -74,6 +74,21 @@ #include #include +#include +#include +#if QT_CONFIG(opengl) +# include +#endif +#if QT_CONFIG(vulkan) +# include +#endif +#ifdef Q_OS_WIN +#include +#endif +#if defined(Q_OS_MACOS) || defined(Q_OS_IOS) +# include +#endif + #ifdef QT_WIDGETS_LIB # include #endif @@ -258,6 +273,90 @@ void dumpVkInfo(QTextStream &str) } #endif // vulkan +void dumpRhiBackendInfo(QTextStream &str, const char *name, QRhi::Implementation impl, QRhiInitParams *initParams) +{ + struct RhiFeature { + const char *name; + QRhi::Feature val; + }; + const RhiFeature features[] = { + { "MultisampleTexture", QRhi::MultisampleTexture }, + { "MultisampleRenderBuffer", QRhi::MultisampleRenderBuffer }, + { "DebugMarkers", QRhi::DebugMarkers }, + { "Timestamps", QRhi::Timestamps }, + { "Instancing", QRhi::Instancing }, + { "CustomInstanceStepRate", QRhi::CustomInstanceStepRate }, + { "PrimitiveRestart", QRhi::PrimitiveRestart }, + { "NonDynamicUniformBuffers", QRhi::NonDynamicUniformBuffers }, + { "NonFourAlignedEffectiveIndexBufferOffset", QRhi::NonFourAlignedEffectiveIndexBufferOffset }, + { "NPOTTextureRepeat", QRhi::NPOTTextureRepeat }, + { "RedOrAlpha8IsRed", QRhi::RedOrAlpha8IsRed }, + { "ElementIndexUint", QRhi::ElementIndexUint }, + { "Compute", QRhi::Compute }, + { "WideLines", QRhi::WideLines }, + { "VertexShaderPointSize", QRhi::VertexShaderPointSize }, + { "BaseVertex", QRhi::BaseVertex }, + { "BaseInstance", QRhi::BaseInstance }, + { "TriangleFanTopology", QRhi::TriangleFanTopology }, + { "ReadBackNonUniformBuffer", QRhi::ReadBackNonUniformBuffer }, + { "ReadBackNonBaseMipLevel", QRhi::ReadBackNonBaseMipLevel }, + { nullptr, QRhi::Feature(0) } + }; + + QScopedPointer rhi(QRhi::create(impl, initParams, QRhi::Flags(), nullptr)); + if (rhi) { + str << name << ":\n"; + str << " Min Texture Size: " << rhi->resourceLimit(QRhi::TextureSizeMin) << "\n"; + str << " Max Texture Size: " << rhi->resourceLimit(QRhi::TextureSizeMax) << "\n"; + str << " Max Color Attachments: " << rhi->resourceLimit(QRhi::MaxColorAttachments) << "\n"; + str << " Frames in Flight: " << rhi->resourceLimit(QRhi::FramesInFlight) << "\n"; + str << " Uniform Buffer Alignment: " << rhi->ubufAlignment() << "\n"; + str << " Features:\n"; + for (int i = 0; features[i].name; i++) { + str << " " << (rhi->isFeatureSupported(features[i].val) ? "v" : "-") << " " << features[i].name << "\n"; + } + } +} + +void dumpRhiInfo(QTextStream &str) +{ + str << "Qt Rendering Hardware Interface supported backends:\n"; + +#if QT_CONFIG(opengl) + { + QRhiGles2InitParams params; + params.fallbackSurface = QRhiGles2InitParams::newFallbackSurface(); + dumpRhiBackendInfo(str, "OpenGL ES2", QRhi::OpenGLES2, ¶ms); + delete params.fallbackSurface; + } +#endif + +#if QT_CONFIG(vulkan) + { + QVulkanInstance vulkanInstance; + vulkanInstance.create(); + QRhiVulkanInitParams params; + params.inst = &vulkanInstance; + dumpRhiBackendInfo(str, "Vulkan", QRhi::Vulkan, ¶ms); + vulkanInstance.destroy(); + } +#endif + +#ifdef Q_OS_WIN + { + QRhiD3D11InitParams params; + dumpRhiBackendInfo(str, "Direct3D 11", QRhi::D3D11, ¶ms); + } +#endif + +#if defined(Q_OS_MACOS) || defined(Q_OS_IOS) + { + QRhiMetalInitParams params; + dumpRhiBackendInfo(str, "Metal", QRhi::Metal, ¶ms); + } +#endif +} + #define DUMP_CAPABILITY(str, integration, capability) \ if (platformIntegration->hasCapability(QPlatformIntegration::capability)) \ str << ' ' << #capability; @@ -664,7 +763,7 @@ QString qtDiag(unsigned flags) #ifndef QT_NO_OPENGL if (flags & QtDiagGl) { dumpGlInfo(str, flags & QtDiagGlExtensions); - str << "\n\n"; + str << "\n"; } #else Q_UNUSED(flags); @@ -688,8 +787,15 @@ QString qtDiag(unsigned flags) if (!description.isEmpty()) str << "\nGPU #" << (i + 1) << ":\n" << description << '\n'; } + str << "\n"; } } + + if (flags & QtDiagRhi) { + dumpRhiInfo(str); + str << "\n"; + } + return result; } diff --git a/src/qtdiag/qtdiag.h b/src/qtdiag/qtdiag.h index 359840647..1317d5a9b 100644 --- a/src/qtdiag/qtdiag.h +++ b/src/qtdiag/qtdiag.h @@ -37,7 +37,8 @@ enum QtDiagFlags { QtDiagGl = 0x1, QtDiagGlExtensions = 0x2, QtDiagFonts = 0x4, - QtDiagVk = 0x8 + QtDiagVk = 0x8, + QtDiagRhi = 0x10 }; QString qtDiag(unsigned flags = 0); -- cgit v1.2.3 From c56a6a47bfd7b8e974bdddfe4df87da4c67fc521 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Tue, 7 Jan 2020 12:11:56 +0100 Subject: Make DocBook-related QDoc test pass The 5.14 branch introduced changes to a test project that the DocBook test reuses on 5.15. Fix the expected data to make test test pass on 5.15. Change-Id: I10f76dc1b4384451a8bf21676b153a4bbf09b4e1 Reviewed-by: Paul Wicking --- .../expected_output/docbook/testqdoc-test.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-test.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-test.xml index d97295245..39292e2dc 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-test.xml +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-test.xml @@ -34,6 +34,18 @@ Member Function Documentation + +[protected] Test::void overload() +[protected] Test::void overload(bool b) + + +public +active +unspecified +TestCPP + +Overloads that share a documentation comment, optionally taking a parameter b. + Test::void inlineFunction() -- cgit v1.2.3 From 7fd5d435b76460e42cd25004056a39e05f376baa Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 8 Jan 2020 10:38:38 +0100 Subject: Qt Designer/Palette Editor: Improve the Preview Widget Add more widgets. Most importantly, add an item view with alternate colors to be able to view selection colors. Change-Id: I263ad4b5109e42b3e839892af5fd8d8d7066ca30 Reviewed-by: Jarek Kobus --- .../components/propertyeditor/previewwidget.cpp | 15 + .../src/components/propertyeditor/previewwidget.ui | 404 +++++++++++++-------- 2 files changed, 270 insertions(+), 149 deletions(-) diff --git a/src/designer/src/components/propertyeditor/previewwidget.cpp b/src/designer/src/components/propertyeditor/previewwidget.cpp index cc5a3af31..d041ec9be 100644 --- a/src/designer/src/components/propertyeditor/previewwidget.cpp +++ b/src/designer/src/components/propertyeditor/previewwidget.cpp @@ -28,6 +28,11 @@ #include "previewwidget.h" +#include +#include + +#include + QT_BEGIN_NAMESPACE using namespace qdesigner_internal; @@ -36,6 +41,16 @@ PreviewWidget::PreviewWidget(QWidget *parent) : QWidget(parent) { ui.setupUi(this); + ui.treeWidget->expandAll(); + auto model = ui.treeWidget->model(); + ui.treeWidget->setCurrentIndex(model->index(0, 0, model->index(0, 0))); + auto toolButtonMenu = new QMenu(ui.menuToolButton); + toolButtonMenu->addAction(tr("Option 1")); + toolButtonMenu->addSeparator(); + auto checkable = toolButtonMenu->addAction(tr("Checkable")); + checkable->setCheckable(true); + ui.menuToolButton->setMenu(toolButtonMenu); + ui.menuToolButton->setPopupMode(QToolButton::InstantPopup); } PreviewWidget::~PreviewWidget() = default; diff --git a/src/designer/src/components/propertyeditor/previewwidget.ui b/src/designer/src/components/propertyeditor/previewwidget.ui index fc81c8b85..64c29229f 100644 --- a/src/designer/src/components/propertyeditor/previewwidget.ui +++ b/src/designer/src/components/propertyeditor/previewwidget.ui @@ -1,4 +1,5 @@ - + + ********************************************************************* ** ** Copyright (C) 2016 The Qt Company Ltd. @@ -27,191 +28,296 @@ ** ********************************************************************* qdesigner_internal::PreviewWidget - - + + 0 0 - 471 - 251 + 608 + 367 - - - 1 - 1 + + 0 0 - + Preview Window - - - 9 - - - 6 - - - - - 0 + + + + + Buttons - - 6 - - - - - LineEdit - - - - - - - - ComboBox - - - - - - - - 0 - - - 6 - - - - - - - - PushButton - - - - - - - - - Qt::Horizontal - - - - - - - Qt::Horizontal - - - - - - - - 32767 - 50 - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Expanding - - - - 20 - 20 - - - - - - - - Qt::Horizontal + + true + + + + + + + RadioButton1 + + + true + + + + + + + RadioButton2 + + + + + + + RadioButton3 + + + + + + + CheckBox1 + + + true + + + + + + + Tristate CheckBox + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + PushButton + + + + + + + ToggleButton + + + true + + + true + + + false + + + + + + + + + ToolButton + + + + + + + Menu + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + - - - - ButtonGroup2 + + + + Item Views + + + true - - - 9 - - - 6 - + - - - CheckBox1 - - + + true + + + Column 1 + + + + + Top Level 1 + + + + Nested Item 1 + + + + + Nested Item 2 + + + + + Nested Item 3 + + + + + + + + + + Simple Input Widgets + + + true + + + + + + + + LineEdit + + + true + + + + + + + + ComboBox + + + + + Item1 + + + + + Item2 + + + + + + - - - CheckBox2 - - + + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + - - - - ButtonGroup + + + + Display Widgets - - - 9 - - - 6 - + - - - RadioButton1 + + + 50 - - true + + Qt::Horizontal - - - RadioButton2 + + + QLabel - - - RadioButton3 + + + QFrame::StyledPanel + + + QLabel with frame -- cgit v1.2.3 From e3f1d3fef117d6dbf7952995506ef1dec9423067 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 8 Jan 2020 10:06:04 +0100 Subject: Qt Designer/Palette Editor: Set preview palette on QMdiSubWindow Ensure the highlight color (which affects the subwindow border) has a visible effect. Change-Id: Ic4a3e9295aa85fb248546714fd29f02eca2ce2a5 Reviewed-by: Jarek Kobus --- src/designer/src/components/propertyeditor/previewframe.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/designer/src/components/propertyeditor/previewframe.cpp b/src/designer/src/components/propertyeditor/previewframe.cpp index a97e46877..c093663e2 100644 --- a/src/designer/src/components/propertyeditor/previewframe.cpp +++ b/src/designer/src/components/propertyeditor/previewframe.cpp @@ -78,7 +78,7 @@ PreviewFrame::PreviewFrame(QWidget *parent) : void PreviewFrame::setPreviewPalette(const QPalette &pal) { - ensureMdiSubWindow()->widget()->setPalette(pal); + ensureMdiSubWindow()->setPalette(pal); } void PreviewFrame::setSubWindowActive(bool active) -- cgit v1.2.3 From 47b91fe6ce0e56e8abc8b2a5e1ba5dbf4453e9f8 Mon Sep 17 00:00:00 2001 From: Jani Heikkinen Date: Wed, 8 Jan 2020 15:06:43 +0200 Subject: Bump copyright year Change-Id: I81c229523e0d896f25d6d961c9857b615218ecbb Reviewed-by: Jarek Kobus --- src/assistant/assistant/mainwindow.cpp | 4 ++-- src/designer/src/designer/versiondialog.cpp | 4 ++-- src/linguist/linguist/mainwindow.cpp | 4 ++-- src/qdbus/qdbusviewer/mainwindow.cpp | 4 ++-- src/qdoc/doc/qdoc-manual-markupcmds.qdoc | 4 ++-- src/qdoc/doc/qdoc-manual-qdocconf.qdoc | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/assistant/assistant/mainwindow.cpp b/src/assistant/assistant/mainwindow.cpp index fc5fe5b3f..11eda313c 100644 --- a/src/assistant/assistant/mainwindow.cpp +++ b/src/assistant/assistant/mainwindow.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Assistant of the Qt Toolkit. @@ -907,7 +907,7 @@ void MainWindow::showAboutDialog() "

          Version %2

          " "

          Browser: %3

          " "

          Copyright (C) %4 The Qt Company Ltd.

          ") - .arg(tr("Qt Assistant"), QLatin1String(QT_VERSION_STR), browser, QStringLiteral("2019")), + .arg(tr("Qt Assistant"), QLatin1String(QT_VERSION_STR), browser, QStringLiteral("2020")), resources); QLatin1String path(":/qt-project.org/assistant/images/assistant-128.png"); aboutDia.setPixmap(QString(path)); diff --git a/src/designer/src/designer/versiondialog.cpp b/src/designer/src/designer/versiondialog.cpp index 767d25171..8e2e399e0 100644 --- a/src/designer/src/designer/versiondialog.cpp +++ b/src/designer/src/designer/versiondialog.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. @@ -160,7 +160,7 @@ VersionDialog::VersionDialog(QWidget *parent) lbl->setText(tr("%1" "
          Copyright (C) %2 The Qt Company Ltd." - ).arg(version, QStringLiteral("2019"))); + ).arg(version, QStringLiteral("2020"))); lbl->setWordWrap(true); lbl->setOpenExternalLinks(true); diff --git a/src/linguist/linguist/mainwindow.cpp b/src/linguist/linguist/mainwindow.cpp index 235efd747..fde084d56 100644 --- a/src/linguist/linguist/mainwindow.cpp +++ b/src/linguist/linguist/mainwindow.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Linguist of the Qt Toolkit. @@ -1360,7 +1360,7 @@ void MainWindow::about() const QString description = tr("Qt Linguist is a tool for adding translations to Qt applications."); const QString copyright - = tr("Copyright (C) %1 The Qt Company Ltd.").arg(QStringLiteral("2019")); + = tr("Copyright (C) %1 The Qt Company Ltd.").arg(QStringLiteral("2020")); box.setText(QStringLiteral("

          %1

          " "

          %2

          " "

          %3

          ").arg(version, description, copyright)); diff --git a/src/qdbus/qdbusviewer/mainwindow.cpp b/src/qdbus/qdbusviewer/mainwindow.cpp index ed0f882c9..37a2ef783 100644 --- a/src/qdbus/qdbusviewer/mainwindow.cpp +++ b/src/qdbus/qdbusviewer/mainwindow.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd and/or its subsidiary(-ies). +** Copyright (C) 2020 The Qt Company Ltd and/or its subsidiary(-ies). ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the tools applications of the Qt Toolkit. @@ -90,7 +90,7 @@ void MainWindow::about() "

          %1

          " "

          Version %2

          " "

          Copyright (C) %3 The Qt Company Ltd.

          ") - .arg(tr("D-Bus Viewer"), QLatin1String(QT_VERSION_STR), QStringLiteral("2019"))); + .arg(tr("D-Bus Viewer"), QLatin1String(QT_VERSION_STR), QStringLiteral("2020"))); box.setWindowTitle(tr("D-Bus Viewer")); box.exec(); } diff --git a/src/qdoc/doc/qdoc-manual-markupcmds.qdoc b/src/qdoc/doc/qdoc-manual-markupcmds.qdoc index 22b0b4e6b..9c11fdd49 100644 --- a/src/qdoc/doc/qdoc-manual-markupcmds.qdoc +++ b/src/qdoc/doc/qdoc-manual-markupcmds.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the documentation of the Qt Toolkit. @@ -3840,7 +3840,7 @@ Qt Development Frameworks Qt Project - + Qt Project diff --git a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc index 534c06a74..91f08cbd3 100644 --- a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc +++ b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the documentation of the Qt Toolkit. @@ -1944,7 +1944,7 @@ dita.metadata.default.author = Qt Development Frameworks dita.metadata.default.permissions = all dita.metadata.default.publisher = Qt Project - dita.metadata.default.copyryear = 2018 + dita.metadata.default.copyryear = 2020 dita.metadata.default.copyrholder = Qt Project dita.metadata.default.audience = programmer \endcode -- cgit v1.2.3 From 9e6943370585bdc791caae6c83555b3aa5efe063 Mon Sep 17 00:00:00 2001 From: Sona Kurazyan Date: Fri, 8 Nov 2019 16:49:12 +0100 Subject: Stop using SAX classes SAX classes for parsing XML documents will be deprecated soon. Re-implemented SAX-based xml parsing classes using QXmlStreamReader. All the parsers now inherit from XmlParser, which drives the parsing loop and allows overriding the methods for handling different XML tokens in a specific way depending on the use-case. Task-number: QTBUG-76177 Change-Id: I5393cc7218beffb4e48187e435c89d1d179deb37 Reviewed-by: Friedemann Kleint --- src/linguist/linguist/linguist.pro | 2 +- src/linguist/linguist/messagemodel.h | 2 - src/linguist/linguist/phrase.cpp | 80 +++++++++++------------ src/linguist/lupdate/ui.cpp | 99 ++++++++++++++-------------- src/linguist/shared/formats.pri | 10 ++- src/linguist/shared/xliff.cpp | 122 ++++++++++++++++++----------------- src/linguist/shared/xmlparser.cpp | 109 +++++++++++++++++++++++++++++++ src/linguist/shared/xmlparser.h | 63 ++++++++++++++++++ 8 files changed, 323 insertions(+), 164 deletions(-) create mode 100644 src/linguist/shared/xmlparser.cpp create mode 100644 src/linguist/shared/xmlparser.h diff --git a/src/linguist/linguist/linguist.pro b/src/linguist/linguist/linguist.pro index af74df8ec..d083896c3 100644 --- a/src/linguist/linguist/linguist.pro +++ b/src/linguist/linguist/linguist.pro @@ -1,4 +1,4 @@ -QT += core-private gui-private widgets xml uitools-private printsupport +QT += core-private gui-private widgets uitools-private printsupport DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII diff --git a/src/linguist/linguist/messagemodel.h b/src/linguist/linguist/messagemodel.h index 5c2d95ec2..32f868d51 100644 --- a/src/linguist/linguist/messagemodel.h +++ b/src/linguist/linguist/messagemodel.h @@ -37,8 +37,6 @@ #include #include #include -#include - QT_BEGIN_NAMESPACE diff --git a/src/linguist/linguist/phrase.cpp b/src/linguist/linguist/phrase.cpp index b7b9835f5..064e79f40 100644 --- a/src/linguist/linguist/phrase.cpp +++ b/src/linguist/linguist/phrase.cpp @@ -28,6 +28,7 @@ #include "phrase.h" #include "translator.h" +#include "xmlparser.h" #include #include @@ -36,9 +37,7 @@ #include #include #include -#include -#include -#include +#include QT_BEGIN_NAMESPACE @@ -104,24 +103,26 @@ bool operator==(const Phrase &p, const Phrase &q) p.definition() == q.definition() && p.phraseBook() == q.phraseBook(); } -class QphHandler : public QXmlDefaultHandler +class QphHandler : public XmlParser { public: - QphHandler(PhraseBook *phraseBook) - : pb(phraseBook), ferrorCount(0) { } - - virtual bool startElement(const QString &namespaceURI, - const QString &localName, const QString &qName, - const QXmlAttributes &atts); - virtual bool endElement(const QString &namespaceURI, - const QString &localName, const QString &qName); - virtual bool characters(const QString &ch); - virtual bool fatalError(const QXmlParseException &exception); + QphHandler(PhraseBook *phraseBook, QXmlStreamReader &reader) + : XmlParser(reader), pb(phraseBook), ferrorCount(0) + { + } + ~QphHandler() override = default; QString language() const { return m_language; } QString sourceLanguage() const { return m_sourceLanguage; } private: + bool startElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName, const QXmlStreamAttributes &atts) override; + bool endElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName) override; + bool characters(const QStringRef &ch) override; + bool fatalError(qint64 line, qint64 column, const QString &message) override; + PhraseBook *pb; QString source; QString target; @@ -133,14 +134,15 @@ private: int ferrorCount; }; -bool QphHandler::startElement(const QString & /* namespaceURI */, - const QString & /* localName */, - const QString &qName, - const QXmlAttributes &atts) +bool QphHandler::startElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName, const QXmlStreamAttributes &atts) { + Q_UNUSED(namespaceURI) + Q_UNUSED(localName) + if (qName == QLatin1String("QPH")) { - m_language = atts.value(QLatin1String("language")); - m_sourceLanguage = atts.value(QLatin1String("sourcelanguage")); + m_language = atts.value(QLatin1String("language")).toString(); + m_sourceLanguage = atts.value(QLatin1String("sourcelanguage")).toString(); } else if (qName == QLatin1String("phrase")) { source.truncate(0); target.truncate(0); @@ -150,10 +152,12 @@ bool QphHandler::startElement(const QString & /* namespaceURI */, return true; } -bool QphHandler::endElement(const QString & /* namespaceURI */, - const QString & /* localName */, - const QString &qName) +bool QphHandler::endElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName) { + Q_UNUSED(namespaceURI) + Q_UNUSED(localName) + if (qName == QLatin1String("source")) source = accum; else if (qName == QLatin1String("target")) @@ -165,20 +169,20 @@ bool QphHandler::endElement(const QString & /* namespaceURI */, return true; } -bool QphHandler::characters(const QString &ch) +bool QphHandler::characters(const QStringRef &ch) { accum += ch; return true; } -bool QphHandler::fatalError(const QXmlParseException &exception) +bool QphHandler::fatalError(qint64 line, qint64 column, const QString &message) { if (ferrorCount++ == 0) { QString msg = PhraseBook::tr("Parse error at line %1, column %2 (%3).") - .arg(exception.lineNumber()).arg(exception.columnNumber()) - .arg(exception.message()); - QMessageBox::information(0, - QObject::tr("Qt Linguist"), msg); + .arg(line) + .arg(column) + .arg(message); + QMessageBox::information(nullptr, QObject::tr("Qt Linguist"), msg); } return false; } @@ -223,20 +227,10 @@ bool PhraseBook::load(const QString &fileName, bool *langGuessed) m_fileName = fileName; - QXmlInputSource in(&f); - QXmlSimpleReader reader; - // don't click on these! - reader.setFeature(QLatin1String("http://xml.org/sax/features/namespaces"), false); - reader.setFeature(QLatin1String("http://xml.org/sax/features/namespace-prefixes"), true); - reader.setFeature(QLatin1String("http://trolltech.com/xml/features/report-whitespace" - "-only-CharData"), false); - QphHandler *hand = new QphHandler(this); - reader.setContentHandler(hand); - reader.setErrorHandler(hand); - - bool ok = reader.parse(in); - reader.setContentHandler(0); - reader.setErrorHandler(0); + QXmlStreamReader reader(&f); + QphHandler *hand = new QphHandler(this, reader); + reader.setNamespaceProcessing(false); + bool ok = hand->parse(); Translator::languageAndCountry(hand->language(), &m_language, &m_country); *langGuessed = false; diff --git a/src/linguist/lupdate/ui.cpp b/src/linguist/lupdate/ui.cpp index ce4ecc045..f91ffac5b 100644 --- a/src/linguist/lupdate/ui.cpp +++ b/src/linguist/lupdate/ui.cpp @@ -29,40 +29,41 @@ #include "lupdate.h" #include +#include #include #include #include #include - -#include -#include -#include -#include - +#include QT_BEGIN_NAMESPACE -class UiReader : public QXmlDefaultHandler +class UiReader : public XmlParser { public: - UiReader(Translator &translator, ConversionData &cd) - : m_translator(translator), m_cd(cd), m_lineNumber(-1), m_isTrString(false), - m_insideStringList(false), m_idBasedTranslations(false) - {} - - bool startElement(const QString &namespaceURI, const QString &localName, - const QString &qName, const QXmlAttributes &atts); - bool endElement(const QString &namespaceURI, const QString &localName, - const QString &qName); - bool characters(const QString &ch); - bool fatalError(const QXmlParseException &exception); - - void setDocumentLocator(QXmlLocator *locator) { m_locator = locator; } + UiReader(Translator &translator, ConversionData &cd, QXmlStreamReader &reader) + : XmlParser(reader), + m_translator(translator), + m_cd(cd), + m_lineNumber(-1), + m_isTrString(false), + m_insideStringList(false), + m_idBasedTranslations(false) + { + } + ~UiReader() override = default; private: + bool startElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName, const QXmlStreamAttributes &atts) override; + bool endElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName) override; + bool characters(const QStringRef &ch) override; + bool fatalError(qint64 line, qint64 column, const QString &message) override; + void flush(); - void readTranslationAttributes(const QXmlAttributes &atts); + void readTranslationAttributes(const QXmlStreamAttributes &atts); Translator &m_translator; ConversionData &m_cd; @@ -71,7 +72,6 @@ private: QString m_comment; QString m_extracomment; QString m_id; - QXmlLocator *m_locator; QString m_accum; int m_lineNumber; @@ -80,8 +80,8 @@ private: bool m_idBasedTranslations; }; -bool UiReader::startElement(const QString &namespaceURI, - const QString &localName, const QString &qName, const QXmlAttributes &atts) +bool UiReader::startElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName, const QXmlStreamAttributes &atts) { Q_UNUSED(namespaceURI); Q_UNUSED(localName); @@ -95,16 +95,16 @@ bool UiReader::startElement(const QString &namespaceURI, m_insideStringList = true; readTranslationAttributes(atts); } else if (qName == QLatin1String("ui")) { // UI "header" - const int translationTypeIndex = atts.index(QStringLiteral("idbasedtr")); - m_idBasedTranslations = translationTypeIndex >= 0 - && atts.value(translationTypeIndex) == QLatin1String("true"); + const auto attr = QStringLiteral("idbasedtr"); + m_idBasedTranslations = + atts.hasAttribute(attr) && atts.value(attr) == QLatin1String("true"); } m_accum.clear(); return true; } -bool UiReader::endElement(const QString &namespaceURI, - const QString &localName, const QString &qName) +bool UiReader::endElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName) { Q_UNUSED(namespaceURI); Q_UNUSED(localName); @@ -127,17 +127,18 @@ bool UiReader::endElement(const QString &namespaceURI, return true; } -bool UiReader::characters(const QString &ch) +bool UiReader::characters(const QStringRef &ch) { - m_accum += ch; + m_accum += ch.toString(); return true; } -bool UiReader::fatalError(const QXmlParseException &exception) +bool UiReader::fatalError(qint64 line, qint64 column, const QString &message) { QString msg = LU::tr("XML error: Parse error at line %1, column %2 (%3).") - .arg(exception.lineNumber()).arg(exception.columnNumber()) - .arg(exception.message()); + .arg(line) + .arg(column) + .arg(message); m_cd.appendError(msg); return false; } @@ -160,17 +161,17 @@ void UiReader::flush() } } -void UiReader::readTranslationAttributes(const QXmlAttributes &atts) +void UiReader::readTranslationAttributes(const QXmlStreamAttributes &atts) { - const QString notr = atts.value(QStringLiteral("notr")); + const auto notr = atts.value(QStringLiteral("notr")); if (notr.isEmpty() || notr != QStringLiteral("true")) { m_isTrString = true; - m_comment = atts.value(QStringLiteral("comment")); - m_extracomment = atts.value(QStringLiteral("extracomment")); + m_comment = atts.value(QStringLiteral("comment")).toString(); + m_extracomment = atts.value(QStringLiteral("extracomment")).toString(); if (m_idBasedTranslations) - m_id = atts.value(QStringLiteral("id")); + m_id = atts.value(QStringLiteral("id")).toString(); if (!m_cd.m_noUiLines) - m_lineNumber = m_locator->lineNumber(); + m_lineNumber = static_cast(reader.lineNumber()); } else { m_isTrString = false; } @@ -184,20 +185,14 @@ bool loadUI(Translator &translator, const QString &filename, ConversionData &cd) cd.appendError(LU::tr("Cannot open %1: %2").arg(filename, file.errorString())); return false; } - QXmlInputSource in(&file); - QXmlSimpleReader reader; - reader.setFeature(QLatin1String("http://xml.org/sax/features/namespaces"), false); - reader.setFeature(QLatin1String("http://xml.org/sax/features/namespace-prefixes"), true); - reader.setFeature(QLatin1String( - "http://trolltech.com/xml/features/report-whitespace-only-CharData"), false); - UiReader handler(translator, cd); - reader.setContentHandler(&handler); - reader.setErrorHandler(&handler); - bool result = reader.parse(in); + + QXmlStreamReader reader(&file); + reader.setNamespaceProcessing(false); + + UiReader uiReader(translator, cd, reader); + bool result = uiReader.parse(); if (!result) cd.appendError(LU::tr("Parse error in UI file")); - reader.setContentHandler(0); - reader.setErrorHandler(0); return result; } diff --git a/src/linguist/shared/formats.pri b/src/linguist/shared/formats.pri index e5f388f2a..d77dacac5 100644 --- a/src/linguist/shared/formats.pri +++ b/src/linguist/shared/formats.pri @@ -1,17 +1,15 @@ - -# infrastructure -QT *= xml - INCLUDEPATH *= $$PWD SOURCES += \ $$PWD/numerus.cpp \ $$PWD/translator.cpp \ - $$PWD/translatormessage.cpp + $$PWD/translatormessage.cpp \ + $$PWD/xmlparser.cpp HEADERS += \ $$PWD/translator.h \ - $$PWD/translatormessage.h + $$PWD/translatormessage.h \ + $$PWF/xmlparser.h # "real" formats readers and writers SOURCES += \ diff --git a/src/linguist/shared/xliff.cpp b/src/linguist/shared/xliff.cpp index c499e9ea5..bc47289b4 100644 --- a/src/linguist/shared/xliff.cpp +++ b/src/linguist/shared/xliff.cpp @@ -27,6 +27,7 @@ ****************************************************************************/ #include "translator.h" +#include "xmlparser.h" #include #include @@ -36,11 +37,6 @@ #include #include -#include -#include -#include - - // The string value is historical and reflects the main purpose: Keeping // obsolete entries separate from the magic file message (which both have // no location information, but typically reside at opposite ends of the file). @@ -368,22 +364,22 @@ static void writeMessage(QTextStream &ts, const TranslatorMessage &msg, const QR } } - -class XLIFFHandler : public QXmlDefaultHandler +class XLIFFHandler : public XmlParser { public: - XLIFFHandler(Translator &translator, ConversionData &cd); + XLIFFHandler(Translator &translator, ConversionData &cd, QXmlStreamReader &reader); + ~XLIFFHandler() override = default; - bool startElement(const QString& namespaceURI, const QString &localName, - const QString &qName, const QXmlAttributes &atts ); - bool endElement(const QString& namespaceURI, const QString &localName, - const QString &qName ); - bool characters(const QString &ch); - bool fatalError(const QXmlParseException &exception); +private: + bool startElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName, const QXmlStreamAttributes &atts) override; + bool endElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName) override; + bool characters(const QStringRef &ch) override; + bool fatalError(qint64 line, qint64 column, const QString &message) override; - bool endDocument(); + bool endDocument() override; -private: enum XliffContext { XC_xliff, XC_group, @@ -442,14 +438,16 @@ private: QStack m_contextStack; }; -XLIFFHandler::XLIFFHandler(Translator &translator, ConversionData &cd) - : m_translator(translator), m_cd(cd), - m_translate(true), - m_approved(true), - m_lineNumber(-1), - m_URITT(QLatin1String(TrollTsNamespaceURI)), - m_URI(QLatin1String(XLIFF11namespaceURI)), - m_URI12(QLatin1String(XLIFF12namespaceURI)) +XLIFFHandler::XLIFFHandler(Translator &translator, ConversionData &cd, QXmlStreamReader &reader) + : XmlParser(reader, true), + m_translator(translator), + m_cd(cd), + m_translate(true), + m_approved(true), + m_lineNumber(-1), + m_URITT(QLatin1String(TrollTsNamespaceURI)), + m_URI(QLatin1String(XLIFF11namespaceURI)), + m_URI12(QLatin1String(XLIFF12namespaceURI)) {} @@ -485,33 +483,35 @@ bool XLIFFHandler::hasContext(XliffContext ctx) const return false; } -bool XLIFFHandler::startElement(const QString& namespaceURI, - const QString &localName, const QString &qName, const QXmlAttributes &atts ) +bool XLIFFHandler::startElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName, const QXmlStreamAttributes &atts) { Q_UNUSED(qName); if (namespaceURI == m_URITT) goto bail; - if (namespaceURI != m_URI && namespaceURI != m_URI12) - return false; + if (namespaceURI != m_URI && namespaceURI != m_URI12) { + return fatalError(reader.lineNumber(), reader.columnNumber(), + QLatin1String("Unknown namespace in the XLIFF file")); + } if (localName == QLatin1String("xliff")) { // make sure that the stack is not empty during parsing pushContext(XC_xliff); } else if (localName == QLatin1String("file")) { - m_fileName = atts.value(QLatin1String("original")); - m_language = atts.value(QLatin1String("target-language")); + m_fileName = atts.value(QLatin1String("original")).toString(); + m_language = atts.value(QLatin1String("target-language")).toString(); m_language.replace(QLatin1Char('-'), QLatin1Char('_')); - m_sourceLanguage = atts.value(QLatin1String("source-language")); + m_sourceLanguage = atts.value(QLatin1String("source-language")).toString(); m_sourceLanguage.replace(QLatin1Char('-'), QLatin1Char('_')); if (m_sourceLanguage == QLatin1String("en")) m_sourceLanguage.clear(); } else if (localName == QLatin1String("group")) { if (atts.value(QLatin1String("restype")) == QLatin1String(restypeContext)) { - m_context = atts.value(QLatin1String("resname")); + m_context = atts.value(QLatin1String("resname")).toString(); pushContext(XC_restype_context); } else { if (atts.value(QLatin1String("restype")) == QLatin1String(restypePlurals)) { pushContext(XC_restype_plurals); - m_id = atts.value(QLatin1String("id")); + m_id = atts.value(QLatin1String("id")).toString(); if (atts.value(QLatin1String("translate")) == QLatin1String("no")) m_translate = false; } else { @@ -523,7 +523,7 @@ bool XLIFFHandler::startElement(const QString& namespaceURI, if (atts.value(QLatin1String("translate")) == QLatin1String("no")) m_translate = false; if (!hasContext(XC_restype_plurals)) { - m_id = atts.value(QLatin1String("id")); + m_id = atts.value(QLatin1String("id")).toString(); if (m_id.startsWith(QLatin1String("_msg"))) m_id.clear(); } @@ -539,19 +539,18 @@ bool XLIFFHandler::startElement(const QString& namespaceURI, if (atts.value(QLatin1String("restype")) != QLatin1String(restypeDummy)) pushContext(XC_restype_translation); } else if (localName == QLatin1String("context-group")) { - QString purpose = atts.value(QLatin1String("purpose")); - if (purpose == QLatin1String("location")) + if (atts.value(QLatin1String("purpose")) == QLatin1String("location")) pushContext(XC_context_group); else pushContext(XC_context_group_any); } else if (currentContext() == XC_context_group && localName == QLatin1String("context")) { - QString ctxtype = atts.value(QLatin1String("context-type")); + const auto ctxtype = atts.value(QLatin1String("context-type")); if (ctxtype == QLatin1String("linenumber")) pushContext(XC_context_linenumber); else if (ctxtype == QLatin1String("sourcefile")) pushContext(XC_context_filename); } else if (currentContext() == XC_context_group_any && localName == QLatin1String("context")) { - QString ctxtype = atts.value(QLatin1String("context-type")); + const auto ctxtype = atts.value(QLatin1String("context-type")); if (ctxtype == QLatin1String(contextMsgctxt)) pushContext(XC_context_comment); else if (ctxtype == QLatin1String(contextOldMsgctxt)) @@ -563,7 +562,7 @@ bool XLIFFHandler::startElement(const QString& namespaceURI, else pushContext(XC_translator_comment); } else if (localName == QLatin1String("ph")) { - QString ctype = atts.value(QLatin1String("ctype")); + QString ctype = atts.value(QLatin1String("ctype")).toString(); if (ctype.startsWith(QLatin1String("x-ch-"))) m_ctype = ctype.mid(5); pushContext(XC_ph); @@ -574,19 +573,21 @@ bail: return true; } -bool XLIFFHandler::endElement(const QString &namespaceURI, const QString& localName, - const QString &qName) +bool XLIFFHandler::endElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName) { Q_UNUSED(qName); if (namespaceURI == m_URITT) { if (hasContext(XC_trans_unit) || hasContext(XC_restype_plurals)) - m_extra[localName] = accum; + m_extra[localName.toString()] = accum; else - m_translator.setExtra(localName, accum); + m_translator.setExtra(localName.toString(), accum); return true; } - if (namespaceURI != m_URI && namespaceURI != m_URI12) - return false; + if (namespaceURI != m_URI && namespaceURI != m_URI12) { + return fatalError(reader.lineNumber(), reader.columnNumber(), + QLatin1String("Unknown namespace in the XLIFF file")); + } //qDebug() << "URI:" << namespaceURI << "QNAME:" << qName; if (localName == QLatin1String("xliff")) { popContext(XC_xliff); @@ -640,15 +641,19 @@ bool XLIFFHandler::endElement(const QString &namespaceURI, const QString& localN if (!m_hadAlt) m_oldSources.append(QString()); if (!hasContext(XC_restype_plurals)) { - if (!finalizeMessage(false)) - return false; + if (!finalizeMessage(false)) { + return fatalError(reader.lineNumber(), reader.columnNumber(), + QLatin1String("Element processing failed")); + } } } else if (localName == QLatin1String("alt-trans")) { popContext(XC_alt_trans); } else if (localName == QLatin1String("group")) { if (popContext(XC_restype_plurals)) { - if (!finalizeMessage(true)) - return false; + if (!finalizeMessage(true)) { + return fatalError(reader.lineNumber(), reader.columnNumber(), + QLatin1String("Element processing failed")); + } } else if (popContext(XC_restype_context)) { m_context.clear(); } else { @@ -658,7 +663,7 @@ bool XLIFFHandler::endElement(const QString &namespaceURI, const QString& localN return true; } -bool XLIFFHandler::characters(const QString &ch) +bool XLIFFHandler::characters(const QStringRef &ch) { if (currentContext() == XC_ph) { // handle the content of elements @@ -670,7 +675,7 @@ bool XLIFFHandler::characters(const QString &ch) accum.append(chr); } } else { - QString t = ch; + QString t = ch.toString(); t.replace(QLatin1String("\r"), QLatin1String("")); accum.append(t); } @@ -730,23 +735,20 @@ bool XLIFFHandler::finalizeMessage(bool isPlural) return true; } -bool XLIFFHandler::fatalError(const QXmlParseException &exception) +bool XLIFFHandler::fatalError(qint64 line, qint64 column, const QString &message) { QString msg = QString::asprintf("XML error: Parse error at line %d, column %d (%s).\n", - exception.lineNumber(), exception.columnNumber(), - exception.message().toLatin1().data()); + static_cast(line), static_cast(column), + message.toLatin1().data()); m_cd.appendError(msg); return false; } bool loadXLIFF(Translator &translator, QIODevice &dev, ConversionData &cd) { - QXmlInputSource in(&dev); - QXmlSimpleReader reader; - XLIFFHandler hand(translator, cd); - reader.setContentHandler(&hand); - reader.setErrorHandler(&hand); - return reader.parse(in); + QXmlStreamReader reader(&dev); + XLIFFHandler hand(translator, cd, reader); + return hand.parse(); } bool saveXLIFF(const Translator &translator, QIODevice &dev, ConversionData &cd) diff --git a/src/linguist/shared/xmlparser.cpp b/src/linguist/shared/xmlparser.cpp new file mode 100644 index 000000000..bcdca12bb --- /dev/null +++ b/src/linguist/shared/xmlparser.cpp @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Linguist of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "xmlparser.h" + +QT_BEGIN_NAMESPACE + +bool XmlParser::parse() +{ + while (!reader.atEnd()) { + reader.readNext(); + if (reader.hasError()) { + fatalError(reader.lineNumber(), reader.columnNumber(), reader.errorString()); + return false; + } + + switch (reader.tokenType()) { + case QXmlStreamReader::StartElement: + if (!startElement(reader.namespaceUri(), reader.name(), reader.qualifiedName(), + reader.attributes())) { + return false; + } + break; + case QXmlStreamReader::EndElement: + if (!endElement(reader.namespaceUri(), reader.name(), reader.qualifiedName())) { + return false; + } + break; + case QXmlStreamReader::Characters: + if (reportWhitespaceOnlyData + || (!reader.isWhitespace() && !reader.text().toString().trimmed().isEmpty())) { + if (!characters(reader.text())) + return false; + } + break; + default: + break; + } + } + if (reader.isEndDocument() && !endDocument()) + return false; + + return true; +} + +bool XmlParser::startElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName, const QXmlStreamAttributes &atts) +{ + Q_UNUSED(namespaceURI) + Q_UNUSED(localName) + Q_UNUSED(qName) + Q_UNUSED(atts) + return true; +} + +bool XmlParser::endElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName) +{ + Q_UNUSED(namespaceURI) + Q_UNUSED(localName) + Q_UNUSED(qName) + return true; +} + +bool XmlParser::characters(const QStringRef &text) +{ + Q_UNUSED(text) + return true; +} + +bool XmlParser::fatalError(qint64 line, qint64 column, const QString &message) +{ + Q_UNUSED(line) + Q_UNUSED(column) + Q_UNUSED(message) + return true; +} + +bool XmlParser::endDocument() +{ + return true; +} + +QT_END_NAMESPACE diff --git a/src/linguist/shared/xmlparser.h b/src/linguist/shared/xmlparser.h new file mode 100644 index 000000000..4028c7067 --- /dev/null +++ b/src/linguist/shared/xmlparser.h @@ -0,0 +1,63 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Linguist of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef XMLPARSER_H +#define XMLPARSER_H + +#include +#include + +QT_BEGIN_NAMESPACE + +class XmlParser +{ +public: + XmlParser(QXmlStreamReader &r, bool whitespaceOnlyData = false) + : reader(r), reportWhitespaceOnlyData(whitespaceOnlyData) + { + } + virtual ~XmlParser() = default; + + bool parse(); + +protected: + virtual bool startElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName, const QXmlStreamAttributes &atts); + virtual bool endElement(const QStringRef &namespaceURI, const QStringRef &localName, + const QStringRef &qName); + virtual bool characters(const QStringRef &text); + virtual bool endDocument(); + virtual bool fatalError(qint64 line, qint64 column, const QString &message); + + QXmlStreamReader &reader; + bool reportWhitespaceOnlyData; +}; + +QT_END_NAMESPACE + +#endif // XMLPARSER_H -- cgit v1.2.3 From 8b280f7b97fa08bcb03a872678cbb4a9cae1166c Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 8 Jan 2020 16:28:21 +0100 Subject: Update internal assistant documentation Fixes: QTBUG-65810 Change-Id: I02fa147bed30342f12f26f6ba0169ef6d9f98e79 Reviewed-by: Jani Heikkinen --- src/assistant/assistant/assistant.qch | Bin 546816 -> 208896 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/assistant/assistant/assistant.qch b/src/assistant/assistant/assistant.qch index fded08e62..b58b7ecca 100644 Binary files a/src/assistant/assistant/assistant.qch and b/src/assistant/assistant/assistant.qch differ -- cgit v1.2.3 From 13dbd946a3325855c23b16b0864c88d87c914c85 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 29 Nov 2019 10:35:49 +0100 Subject: QtHelp: Add filter settings struct and editor for it Adds the QHelpFilterSettings class, describing all the available filter details. Adds the QHelpFilterSettingsWidget class, serving as an editor for all available filter. It also provides methods for storing and retrieving filter details into / from the help settings. Change-Id: Ie87578fc30d8114b95508f5b761e7914447c247a Reviewed-by: Karsten Heimrich --- src/assistant/help/help.pro | 17 +- src/assistant/help/helpsystem.qrc | 4 + src/assistant/help/images/mac/minus.png | Bin 0 -> 488 bytes src/assistant/help/images/mac/plus.png | Bin 0 -> 810 bytes src/assistant/help/images/win/minus.png | Bin 0 -> 429 bytes src/assistant/help/images/win/plus.png | Bin 0 -> 709 bytes src/assistant/help/qfilternamedialog.cpp | 65 ++++ src/assistant/help/qfilternamedialog.ui | 55 +++ src/assistant/help/qfilternamedialog_p.h | 56 +++ src/assistant/help/qhelpfiltersettings.cpp | 170 +++++++++ src/assistant/help/qhelpfiltersettings_p.h | 85 +++++ src/assistant/help/qhelpfiltersettingswidget.cpp | 428 +++++++++++++++++++++++ src/assistant/help/qhelpfiltersettingswidget.h | 78 +++++ src/assistant/help/qhelpfiltersettingswidget.ui | 83 +++++ src/assistant/help/qoptionswidget.cpp | 229 ++++++++++++ src/assistant/help/qoptionswidget_p.h | 76 ++++ 16 files changed, 1344 insertions(+), 2 deletions(-) create mode 100644 src/assistant/help/images/mac/minus.png create mode 100644 src/assistant/help/images/mac/plus.png create mode 100644 src/assistant/help/images/win/minus.png create mode 100644 src/assistant/help/images/win/plus.png create mode 100644 src/assistant/help/qfilternamedialog.cpp create mode 100644 src/assistant/help/qfilternamedialog.ui create mode 100644 src/assistant/help/qfilternamedialog_p.h create mode 100644 src/assistant/help/qhelpfiltersettings.cpp create mode 100644 src/assistant/help/qhelpfiltersettings_p.h create mode 100644 src/assistant/help/qhelpfiltersettingswidget.cpp create mode 100644 src/assistant/help/qhelpfiltersettingswidget.h create mode 100644 src/assistant/help/qhelpfiltersettingswidget.ui create mode 100644 src/assistant/help/qoptionswidget.cpp create mode 100644 src/assistant/help/qoptionswidget_p.h diff --git a/src/assistant/help/help.pro b/src/assistant/help/help.pro index cd7781dde..ff7a81374 100644 --- a/src/assistant/help/help.pro +++ b/src/assistant/help/help.pro @@ -12,10 +12,13 @@ DEFINES -= QT_ASCII_CAST_WARNINGS RESOURCES += helpsystem.qrc SOURCES += \ qcompressedhelpinfo.cpp \ + qfilternamedialog.cpp \ qhelpenginecore.cpp \ qhelpengine.cpp \ qhelpfilterdata.cpp \ qhelpfilterengine.cpp \ + qhelpfiltersettings.cpp \ + qhelpfiltersettingswidget.cpp \ qhelpdbreader.cpp \ qhelpcontentwidget.cpp \ qhelpindexwidget.cpp \ @@ -26,15 +29,19 @@ SOURCES += \ qhelpsearchindexwriter_default.cpp \ qhelpsearchindexreader_default.cpp \ qhelpsearchindexreader.cpp \ - qhelp_global.cpp + qhelp_global.cpp \ + qoptionswidget.cpp HEADERS += \ qcompressedhelpinfo.h \ + qfilternamedialog_p.h \ qhelpenginecore.h \ qhelpengine.h \ qhelpengine_p.h \ qhelpfilterdata.h \ qhelpfilterengine.h \ + qhelpfiltersettings_p.h \ + qhelpfiltersettingswidget.h \ qhelp_global.h \ qhelpdbreader_p.h \ qhelpcontentwidget.h \ @@ -45,6 +52,12 @@ HEADERS += \ qhelpsearchresultwidget.h \ qhelpsearchindexwriter_default_p.h \ qhelpsearchindexreader_default_p.h \ - qhelpsearchindexreader_p.h + qhelpsearchindexreader_p.h \ + qoptionswidget_p.h + +FORMS += \ + qhelpfiltersettingswidget.ui \ + qfilternamedialog.ui + load(qt_module) diff --git a/src/assistant/help/helpsystem.qrc b/src/assistant/help/helpsystem.qrc index 785923aad..611008639 100644 --- a/src/assistant/help/helpsystem.qrc +++ b/src/assistant/help/helpsystem.qrc @@ -4,5 +4,9 @@ images/1rightarrow.png images/3leftarrow.png images/3rightarrow.png + images/mac/minus.png + images/mac/plus.png + images/win/minus.png + images/win/plus.png diff --git a/src/assistant/help/images/mac/minus.png b/src/assistant/help/images/mac/minus.png new file mode 100644 index 000000000..8d2eaed52 Binary files /dev/null and b/src/assistant/help/images/mac/minus.png differ diff --git a/src/assistant/help/images/mac/plus.png b/src/assistant/help/images/mac/plus.png new file mode 100644 index 000000000..1ee45423e Binary files /dev/null and b/src/assistant/help/images/mac/plus.png differ diff --git a/src/assistant/help/images/win/minus.png b/src/assistant/help/images/win/minus.png new file mode 100644 index 000000000..c0dc274bb Binary files /dev/null and b/src/assistant/help/images/win/minus.png differ diff --git a/src/assistant/help/images/win/plus.png b/src/assistant/help/images/win/plus.png new file mode 100644 index 000000000..ecf058941 Binary files /dev/null and b/src/assistant/help/images/win/plus.png differ diff --git a/src/assistant/help/qfilternamedialog.cpp b/src/assistant/help/qfilternamedialog.cpp new file mode 100644 index 000000000..8563a3355 --- /dev/null +++ b/src/assistant/help/qfilternamedialog.cpp @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Assistant of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +#include "qfilternamedialog_p.h" + +QT_BEGIN_NAMESPACE + +QFilterNameDialog::QFilterNameDialog(QWidget *parent) + : QDialog(parent) +{ + m_ui.setupUi(this); + connect(m_ui.buttonBox->button(QDialogButtonBox::Ok), &QAbstractButton::clicked, + this, &QDialog::accept); + connect(m_ui.buttonBox->button(QDialogButtonBox::Cancel), &QAbstractButton::clicked, + this, &QDialog::reject); + connect(m_ui.lineEdit, &QLineEdit::textChanged, + this, &QFilterNameDialog::updateOkButton); + m_ui.buttonBox->button(QDialogButtonBox::Ok)->setDisabled(true); +} + +void QFilterNameDialog::setFilterName(const QString &filter) +{ + m_ui.lineEdit->setText(filter); + m_ui.lineEdit->selectAll(); +} + +QString QFilterNameDialog::filterName() const +{ + return m_ui.lineEdit->text(); +} + +void QFilterNameDialog::updateOkButton() +{ + m_ui.buttonBox->button(QDialogButtonBox::Ok) + ->setDisabled(m_ui.lineEdit->text().isEmpty()); +} + +QT_END_NAMESPACE diff --git a/src/assistant/help/qfilternamedialog.ui b/src/assistant/help/qfilternamedialog.ui new file mode 100644 index 000000000..1da584a80 --- /dev/null +++ b/src/assistant/help/qfilternamedialog.ui @@ -0,0 +1,55 @@ + + + FilterNameDialogClass + + + + 0 + 0 + 312 + 77 + + + + Add Filter + + + + + + Filter Name: + + + + + + + + + + Qt::Vertical + + + + 20 + 1 + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + diff --git a/src/assistant/help/qfilternamedialog_p.h b/src/assistant/help/qfilternamedialog_p.h new file mode 100644 index 000000000..f805e9308 --- /dev/null +++ b/src/assistant/help/qfilternamedialog_p.h @@ -0,0 +1,56 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Assistant of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QFILTERNAMEDIALOG_H +#define QFILTERNAMEDIALOG_H + +#include +#include "ui_qfilternamedialog.h" + +QT_BEGIN_NAMESPACE + +class QFilterNameDialog : public QDialog +{ + Q_OBJECT + +public: + QFilterNameDialog(QWidget *parent = nullptr); + + void setFilterName(const QString &filter); + QString filterName() const; + +private slots: + void updateOkButton(); + +private: + Ui::FilterNameDialogClass m_ui; +}; + +QT_END_NAMESPACE + +#endif // QFILTERNAMEDIALOG_H diff --git a/src/assistant/help/qhelpfiltersettings.cpp b/src/assistant/help/qhelpfiltersettings.cpp new file mode 100644 index 000000000..e9a1c3f4e --- /dev/null +++ b/src/assistant/help/qhelpfiltersettings.cpp @@ -0,0 +1,170 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Assistant of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qhelpfiltersettings_p.h" +#include "qhelpfilterdata.h" + +#include +#include + +QT_BEGIN_NAMESPACE + +class QHelpFilterSettingsPrivate : public QSharedData +{ +public: + QHelpFilterSettingsPrivate() = default; + QHelpFilterSettingsPrivate(const QHelpFilterSettingsPrivate &other) = default; + ~QHelpFilterSettingsPrivate() = default; + + QMap m_filterToData; + QString m_currentFilter; +}; + +QHelpFilterSettings::QHelpFilterSettings() + : d(new QHelpFilterSettingsPrivate) +{ +} + +QHelpFilterSettings::QHelpFilterSettings(const QHelpFilterSettings &) = default; + +QHelpFilterSettings::QHelpFilterSettings(QHelpFilterSettings &&) = default; + +QHelpFilterSettings::~QHelpFilterSettings() = default; + +QHelpFilterSettings &QHelpFilterSettings::operator=(const QHelpFilterSettings &) = default; + +QHelpFilterSettings &QHelpFilterSettings::operator=(QHelpFilterSettings &&) = default; + +void QHelpFilterSettings::setFilter(const QString &filterName, + const QHelpFilterData &filterData) +{ + d->m_filterToData.insert(filterName, filterData); +} + +void QHelpFilterSettings::removeFilter(const QString &filterName) +{ + d->m_filterToData.remove(filterName); +} + +QStringList QHelpFilterSettings::filterNames() const +{ + return d->m_filterToData.keys(); +} + +QHelpFilterData QHelpFilterSettings::filterData(const QString &filterName) const +{ + return d->m_filterToData.value(filterName); +} + +QMap QHelpFilterSettings::filters() const +{ + return d->m_filterToData; +} + +void QHelpFilterSettings::setCurrentFilter(const QString &filterName) +{ + d->m_currentFilter = filterName; +} + +QString QHelpFilterSettings::currentFilter() const +{ + return d->m_currentFilter; +} + +QHelpFilterSettings QHelpFilterSettings::readSettings(QHelpFilterEngine *filterEngine) +{ + QHelpFilterSettings filterSettings; + + const QStringList allFilters = filterEngine->filters(); + for (const QString &filter : allFilters) + filterSettings.setFilter(filter, filterEngine->filterData(filter)); + + filterSettings.setCurrentFilter(filterEngine->activeFilter()); + + return filterSettings; +} + +static QMap subtract(const QMap &minuend, + const QMap &subtrahend) +{ + QMap result = minuend; + + for (auto itSubtrahend = subtrahend.cbegin(); itSubtrahend != subtrahend.cend(); ++itSubtrahend) { + auto itResult = result.find(itSubtrahend.key()); + if (itResult != result.end() && itSubtrahend.value() == itResult.value()) + result.erase(itResult); + } + + return result; +} + +bool QHelpFilterSettings::applySettings(QHelpFilterEngine *filterEngine, + const QHelpFilterSettings &settings) +{ + bool changed = false; + const QHelpFilterSettings oldSettings = readSettings(filterEngine); + + const QMap filtersToRemove = subtract( + oldSettings.filters(), + settings.filters()); + const QMap filtersToAdd = subtract( + settings.filters(), + oldSettings.filters()); + + const QString ¤tFilter = filterEngine->activeFilter(); + + for (const QString &filter : filtersToRemove.keys()) { + filterEngine->removeFilter(filter); + if (currentFilter == filter && !filtersToAdd.contains(filter)) + filterEngine->setActiveFilter(QString()); + changed = true; + } + + for (auto it = filtersToAdd.cbegin(); it != filtersToAdd.cend(); ++it) { + filterEngine->setFilterData(it.key(), it.value()); + changed = true; + } + + if (changed) + filterEngine->setActiveFilter(settings.currentFilter()); + + return changed; +} + +QT_END_NAMESPACE diff --git a/src/assistant/help/qhelpfiltersettings_p.h b/src/assistant/help/qhelpfiltersettings_p.h new file mode 100644 index 000000000..50e30e492 --- /dev/null +++ b/src/assistant/help/qhelpfiltersettings_p.h @@ -0,0 +1,85 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Assistant of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QHELPFILTERSETTINGS_H +#define QHELPFILTERSETTINGS_H + +#include + +QT_BEGIN_NAMESPACE + +template +class QMap; +class QHelpFilterData; +class QHelpFilterEngine; +class QHelpFilterSettingsPrivate; + +class QHelpFilterSettings final +{ +public: + QHelpFilterSettings(); + QHelpFilterSettings(const QHelpFilterSettings &other); + QHelpFilterSettings(QHelpFilterSettings &&other); + ~QHelpFilterSettings(); + + QHelpFilterSettings &operator=(const QHelpFilterSettings &other); + QHelpFilterSettings &operator=(QHelpFilterSettings &&other); + + void swap(QHelpFilterSettings &other) noexcept + { d.swap(other.d); } + + void setFilter(const QString &filterName, const QHelpFilterData &filterData); + void removeFilter(const QString &filterName); + QStringList filterNames() const; + QHelpFilterData filterData(const QString &filterName) const; + QMap filters() const; + + void setCurrentFilter(const QString &filterName); + QString currentFilter() const; + + static QHelpFilterSettings readSettings(QHelpFilterEngine *filterEngine); + static bool applySettings(QHelpFilterEngine *filterEngine, const QHelpFilterSettings &settings); + +private: + QSharedDataPointer d; +}; + +QT_END_NAMESPACE + +#endif // QHELPFILTERSETTINGS_H diff --git a/src/assistant/help/qhelpfiltersettingswidget.cpp b/src/assistant/help/qhelpfiltersettingswidget.cpp new file mode 100644 index 000000000..15cc4f475 --- /dev/null +++ b/src/assistant/help/qhelpfiltersettingswidget.cpp @@ -0,0 +1,428 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Assistant of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qhelpfilterdata.h" +#include "qhelpfiltersettings_p.h" +#include "qhelpfiltersettingswidget.h" +#include "ui_qhelpfiltersettingswidget.h" +#include "qfilternamedialog_p.h" + +#include +#include + +QT_BEGIN_NAMESPACE + +static QStringList versionsToStringList(const QList &versions) +{ + QStringList versionList; + for (const QVersionNumber &version : versions) + versionList.append(version.isNull() ? QString() : version.toString()); + return versionList; +} + +static QList stringListToVersions(const QStringList &versionList) +{ + QList versions; + for (const QString &versionString : versionList) + versions.append(QVersionNumber::fromString(versionString)); + return versions; +} + +class QHelpFilterSettingsWidgetPrivate +{ + QHelpFilterSettingsWidget *q_ptr; + Q_DECLARE_PUBLIC(QHelpFilterSettingsWidget) +public: + QHelpFilterSettingsWidgetPrivate() = default; + + QHelpFilterSettings filterSettings() const; + void setFilterSettings(const QHelpFilterSettings &settings); + + void updateCurrentFilter(); + void componentsChanged(const QStringList &components); + void versionsChanged(const QStringList &versions); + void addFilterClicked(); + void renameFilterClicked(); + void removeFilterClicked(); + void addFilter(const QString &filterName, + const QHelpFilterData &filterData = QHelpFilterData()); + void removeFilter(const QString &filterName); + QString getUniqueFilterName(const QString &windowTitle, + const QString &initialFilterName); + QString suggestedNewFilterName(const QString &initialFilterName) const; + + QMap m_filterToItem; + QHash m_itemToFilter; + + Ui::QHelpFilterSettingsWidget m_ui; + QStringList m_components; + QList m_versions; + QHelpFilterSettings m_filterSettings; +}; + +void QHelpFilterSettingsWidgetPrivate::setFilterSettings(const QHelpFilterSettings &settings) +{ + QString currentFilter = m_itemToFilter.value(m_ui.filterWidget->currentItem()); + if (currentFilter.isEmpty()) { + if (!m_filterSettings.currentFilter().isEmpty()) + currentFilter = m_filterSettings.currentFilter(); + else + currentFilter = settings.currentFilter(); + } + + m_filterSettings = settings; + + m_ui.filterWidget->clear(); + m_ui.componentWidget->clear(); + m_ui.versionWidget->clear(); + m_itemToFilter.clear(); + m_filterToItem.clear(); + + for (const QString &filterName : m_filterSettings.filterNames()) { + QListWidgetItem *item = new QListWidgetItem(filterName); + m_ui.filterWidget->addItem(item); + m_itemToFilter.insert(item, filterName); + m_filterToItem.insert(filterName, item); + if (filterName == currentFilter) + m_ui.filterWidget->setCurrentItem(item); + } + + if (!m_ui.filterWidget->currentItem() && !m_filterToItem.isEmpty()) + m_ui.filterWidget->setCurrentItem(m_filterToItem.first()); + + updateCurrentFilter(); +} + +QHelpFilterSettings QHelpFilterSettingsWidgetPrivate::filterSettings() const +{ + return m_filterSettings; +} + +void QHelpFilterSettingsWidgetPrivate::updateCurrentFilter() +{ + const QString ¤tFilter = m_itemToFilter.value(m_ui.filterWidget->currentItem()); + + const bool filterSelected = !currentFilter.isEmpty(); + m_ui.componentWidget->setEnabled(filterSelected); + m_ui.versionWidget->setEnabled(filterSelected); + m_ui.renameButton->setEnabled(filterSelected); + m_ui.removeButton->setEnabled(filterSelected); + + m_ui.componentWidget->setOptions(m_components, + m_filterSettings.filterData(currentFilter).components()); + m_ui.versionWidget->setOptions(versionsToStringList(m_versions), + versionsToStringList(m_filterSettings.filterData(currentFilter).versions())); +} + +void QHelpFilterSettingsWidgetPrivate::componentsChanged(const QStringList &components) +{ + const QString ¤tFilter = m_itemToFilter.value(m_ui.filterWidget->currentItem()); + if (currentFilter.isEmpty()) + return; + + QHelpFilterData filterData = m_filterSettings.filterData(currentFilter); + filterData.setComponents(components); + m_filterSettings.setFilter(currentFilter, filterData); +} + +void QHelpFilterSettingsWidgetPrivate::versionsChanged(const QStringList &versions) +{ + const QString ¤tFilter = m_itemToFilter.value(m_ui.filterWidget->currentItem()); + if (currentFilter.isEmpty()) + return; + + QHelpFilterData filterData = m_filterSettings.filterData(currentFilter); + filterData.setVersions(stringListToVersions(versions)); + m_filterSettings.setFilter(currentFilter, filterData); +} + +void QHelpFilterSettingsWidgetPrivate::addFilterClicked() +{ + Q_Q(QHelpFilterSettingsWidget); + + const QString newFilterName = getUniqueFilterName(q->tr("Add Filter"), + suggestedNewFilterName(q->tr("New Filter"))); + if (newFilterName.isEmpty()) + return; + + addFilter(newFilterName); +} + +void QHelpFilterSettingsWidgetPrivate::renameFilterClicked() +{ + Q_Q(QHelpFilterSettingsWidget); + + const QString ¤tFilter = m_itemToFilter.value(m_ui.filterWidget->currentItem()); + if (currentFilter.isEmpty()) + return; + + const QString newFilterName = getUniqueFilterName(q->tr("Rename Filter"), currentFilter); + if (newFilterName.isEmpty()) + return; + + const QHelpFilterData oldFilterData = m_filterSettings.filterData(currentFilter); + removeFilter(currentFilter); + addFilter(newFilterName, oldFilterData); + + if (m_filterSettings.currentFilter() == currentFilter) + m_filterSettings.setCurrentFilter(newFilterName); +} + +void QHelpFilterSettingsWidgetPrivate::removeFilterClicked() +{ + Q_Q(QHelpFilterSettingsWidget); + + const QString ¤tFilter = m_itemToFilter.value(m_ui.filterWidget->currentItem()); + if (currentFilter.isEmpty()) + return; + + if (QMessageBox::question(q, q->tr("Remove Filter"), + q->tr("Are you sure you want to remove the \"%1\" filter?") + .arg(currentFilter), + QMessageBox::Yes | QMessageBox::No) + != QMessageBox::Yes) { + return; + } + + removeFilter(currentFilter); + + if (m_filterSettings.currentFilter() == currentFilter) + m_filterSettings.setCurrentFilter(QString()); +} + +void QHelpFilterSettingsWidgetPrivate::addFilter(const QString &filterName, + const QHelpFilterData &filterData) +{ + QListWidgetItem *item = new QListWidgetItem(filterName); + m_filterSettings.setFilter(filterName, filterData); + m_filterToItem.insert(filterName, item); + m_itemToFilter.insert(item, filterName); + m_ui.filterWidget->insertItem(m_filterToItem.keys().indexOf(filterName), item); + + m_ui.filterWidget->setCurrentItem(item); + updateCurrentFilter(); +} + +void QHelpFilterSettingsWidgetPrivate::removeFilter(const QString &filterName) +{ + QListWidgetItem *item = m_filterToItem.value(filterName); + m_itemToFilter.remove(item); + m_filterToItem.remove(filterName); + delete item; + + m_filterSettings.removeFilter(filterName); +} + +QString QHelpFilterSettingsWidgetPrivate::getUniqueFilterName(const QString &windowTitle, + const QString &initialFilterName) +{ + Q_Q(QHelpFilterSettingsWidget); + + QString newFilterName = initialFilterName; + while (1) { + QFilterNameDialog dialog(q); + dialog.setWindowTitle(windowTitle); + dialog.setFilterName(newFilterName); + if (dialog.exec() == QDialog::Rejected) + return QString(); + + newFilterName = dialog.filterName(); + if (!m_filterToItem.contains(newFilterName)) + break; + + if (QMessageBox::warning(q, q->tr("Filter Exists"), + q->tr("The filter \"%1\" already exists.") + .arg(newFilterName), + QMessageBox::Retry | QMessageBox::Cancel) + == QMessageBox::Cancel) { + return QString(); + } + } + + return newFilterName; +} + +QString QHelpFilterSettingsWidgetPrivate::suggestedNewFilterName(const QString &initialFilterName) const +{ + QString newFilterName = initialFilterName; + + int counter = 1; + while (m_filterToItem.contains(newFilterName)) { + newFilterName = initialFilterName + QLatin1Char(' ') + + QString::number(++counter); + } + + return newFilterName; +} + +/*! + \class QHelpFilterSettingsWidget + \inmodule QtHelp + \since 5.15 + \brief The QHelpFilterSettingsWidget class provides a widget that allows + for creating, editing and removing filters. + + The instance of QHelpFilterSettingsWidget may be a part of + a preferences dialog. Before showing the dialog, \l setAvailableComponents() + and \l setAvailableVersions() should be called, otherwise the filter + settings widget will only offer a creation of empty filters, + which wouldn't be useful. In addition, \l readSettings should also + be called to fill up the filter settings widget with the list of filters + already stored in the filter engine. The creation of new filters, + modifications to existing filters and removal of unneeded filters are + handled by the widget automatically. If you want to store the current + state of the widget and apply it to the filter engine e.g. after + the user clicked the apply button - call \l applySettings(). +*/ + +/*! + Constructs a filter settings widget with \a parent as parent widget. +*/ +QHelpFilterSettingsWidget::QHelpFilterSettingsWidget(QWidget *parent) + : QWidget(parent) + , d_ptr(new QHelpFilterSettingsWidgetPrivate()) +{ + Q_D(QHelpFilterSettingsWidget); + d->q_ptr = this; + d->m_ui.setupUi(this); + + // TODO: make resources configurable + QString resourcePath = QLatin1String(":/qt-project.org/assistant/images/"); +#ifdef Q_OS_MACOS + resourcePath.append(QLatin1String("mac")); +#else + resourcePath.append(QLatin1String("win")); +#endif + d->m_ui.addButton->setIcon(QIcon(resourcePath + QLatin1String("/plus.png"))); + d->m_ui.removeButton->setIcon(QIcon(resourcePath + QLatin1String("/minus.png"))); + + connect(d->m_ui.componentWidget, &QOptionsWidget::optionSelectionChanged, + [this](const QStringList &options) { + Q_D(QHelpFilterSettingsWidget); + d->componentsChanged(options); + }); + connect(d->m_ui.versionWidget, &QOptionsWidget::optionSelectionChanged, + [this](const QStringList &options) { + Q_D(QHelpFilterSettingsWidget); + d->versionsChanged(options); + }); + connect(d->m_ui.filterWidget, &QListWidget::currentItemChanged, + this, [this](QListWidgetItem *) { + Q_D(QHelpFilterSettingsWidget); + d->updateCurrentFilter(); + }); + connect(d->m_ui.filterWidget, &QListWidget::itemDoubleClicked, + [this](QListWidgetItem *) { + Q_D(QHelpFilterSettingsWidget); + d->renameFilterClicked(); + }); + + // TODO: repeat these actions on context menu + connect(d->m_ui.addButton, &QAbstractButton::clicked, + [this]() { + Q_D(QHelpFilterSettingsWidget); + d->addFilterClicked(); + }); + connect(d->m_ui.renameButton, &QAbstractButton::clicked, + [this]() { + Q_D(QHelpFilterSettingsWidget); + d->renameFilterClicked(); + }); + connect(d->m_ui.removeButton, &QAbstractButton::clicked, + [this]() { + Q_D(QHelpFilterSettingsWidget); + d->removeFilterClicked(); + }); + + d->m_ui.componentWidget->setNoOptionText(tr("No Component")); + d->m_ui.componentWidget->setInvalidOptionText(tr("Invalid Component")); + d->m_ui.versionWidget->setNoOptionText(tr("No Version")); + d->m_ui.versionWidget->setInvalidOptionText(tr("Invalid Version")); +} + +/*! + Destroys the filter settings widget. +*/ +QHelpFilterSettingsWidget::~QHelpFilterSettingsWidget() = default; + +/*! + Sets the list of all available components to \a components. + \sa QHelpFilterEngine::availableComponents() +*/ +void QHelpFilterSettingsWidget::setAvailableComponents(const QStringList &components) +{ + Q_D(QHelpFilterSettingsWidget); + d->m_components = components; + d->updateCurrentFilter(); +} + +/*! + Sets the list of all available version numbers to \a versions. + \sa QHelpFilterEngine::availableVersions() +*/ +void QHelpFilterSettingsWidget::setAvailableVersions(const QList &versions) +{ + Q_D(QHelpFilterSettingsWidget); + d->m_versions = versions; + d->updateCurrentFilter(); +} + +/*! + Reads the filter settings stored inside \a filterEngine and sets up + this filter settings widget accordingly. +*/ +void QHelpFilterSettingsWidget::readSettings(QHelpFilterEngine *filterEngine) +{ + Q_D(QHelpFilterSettingsWidget); + const QHelpFilterSettings settings = QHelpFilterSettings::readSettings(filterEngine); + d->setFilterSettings(settings); +} + +/*! + Writes the filter settings, currently presented in this filter settings + widget, to the \a filterEngine. The old settings stored in the filter + engine will be overwritten. +*/ +bool QHelpFilterSettingsWidget::applySettings(QHelpFilterEngine *filterEngine) +{ + Q_D(QHelpFilterSettingsWidget); + return QHelpFilterSettings::applySettings(filterEngine, d->filterSettings()); +} + +QT_END_NAMESPACE diff --git a/src/assistant/help/qhelpfiltersettingswidget.h b/src/assistant/help/qhelpfiltersettingswidget.h new file mode 100644 index 000000000..1b6606054 --- /dev/null +++ b/src/assistant/help/qhelpfiltersettingswidget.h @@ -0,0 +1,78 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Assistant of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QHELPFILTERSETTINGSWIDGET_H +#define QHELPFILTERSETTINGSWIDGET_H + +#include + +#include + +QT_BEGIN_NAMESPACE + +class QVersionNumber; + +class QHelpFilterEngine; +class QHelpFilterSettingsWidgetPrivate; + +class QHELP_EXPORT QHelpFilterSettingsWidget : public QWidget +{ + Q_OBJECT +public: + QHelpFilterSettingsWidget(QWidget *parent); + + ~QHelpFilterSettingsWidget(); + + void setAvailableComponents(const QStringList &components); + void setAvailableVersions(const QList &versions); + + // TODO: filterEngine may be moved to c'tor or to setFilterEngine() setter + void readSettings(QHelpFilterEngine *filterEngine); + bool applySettings(QHelpFilterEngine *filterEngine); + +private: + QScopedPointer d_ptr; + Q_DECLARE_PRIVATE(QHelpFilterSettingsWidget) + Q_DISABLE_COPY_MOVE(QHelpFilterSettingsWidget) +}; + +QT_END_NAMESPACE + +#endif + diff --git a/src/assistant/help/qhelpfiltersettingswidget.ui b/src/assistant/help/qhelpfiltersettingswidget.ui new file mode 100644 index 000000000..7e16e3f7b --- /dev/null +++ b/src/assistant/help/qhelpfiltersettingswidget.ui @@ -0,0 +1,83 @@ + + + QHelpFilterSettingsWidget + + + + 0 + 0 + 347 + 127 + + + + Form + + + + + + Filter + + + + + + + QFrame::NoFrame + + + Components + + + + + + + Versions + + + + + + + + + + + + + + + + Add... + + + + + + + Rename... + + + + + + + Remove + + + + + + + + QOptionsWidget + QWidget +
          qoptionswidget_p.h
          + 1 +
          +
          + + +
          diff --git a/src/assistant/help/qoptionswidget.cpp b/src/assistant/help/qoptionswidget.cpp new file mode 100644 index 000000000..21fdfe07a --- /dev/null +++ b/src/assistant/help/qoptionswidget.cpp @@ -0,0 +1,229 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Assistant of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qoptionswidget_p.h" + +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class ListWidgetDelegate : public QItemDelegate +{ +public: + ListWidgetDelegate(QWidget *w) : QItemDelegate(w), m_widget(w) {} + + static bool isSeparator(const QModelIndex &index) { + return index.data(Qt::AccessibleDescriptionRole).toString() == QLatin1String("separator"); + } + static void setSeparator(QListWidgetItem *item) { + item->setData(Qt::AccessibleDescriptionRole, QString::fromLatin1("separator")); + item->setFlags(item->flags() & ~(Qt::ItemIsSelectable|Qt::ItemIsEnabled)); + } + +protected: + void paint(QPainter *painter, + const QStyleOptionViewItem &option, + const QModelIndex &index) const override { + if (isSeparator(index)) { + QRect rect = option.rect; + if (const QAbstractItemView *view = qobject_cast(option.widget)) + rect.setWidth(view->viewport()->width()); + QStyleOption opt; + opt.rect = rect; + m_widget->style()->drawPrimitive(QStyle::PE_IndicatorToolBarSeparator, &opt, painter, m_widget); + } else { + QItemDelegate::paint(painter, option, index); + } + } + + QSize sizeHint(const QStyleOptionViewItem &option, + const QModelIndex &index) const override { + if (isSeparator(index)) { + int pm = m_widget->style()->pixelMetric(QStyle::PM_DefaultFrameWidth, nullptr, m_widget); + return QSize(pm, pm); + } + return QItemDelegate::sizeHint(option, index); + } +private: + QWidget *m_widget; +}; + +static QStringList subtract(const QStringList &minuend, const QStringList &subtrahend) +{ + QStringList result = minuend; + for (const QString &str : subtrahend) + result.removeOne(str); + return result; +} + +QOptionsWidget::QOptionsWidget(QWidget *parent) + : QWidget(parent) + , m_noOptionText(tr("No Option")) + , m_invalidOptionText(tr("Invalid Option")) +{ + m_listWidget = new QListWidget(this); + m_listWidget->setItemDelegate(new ListWidgetDelegate(m_listWidget)); + QVBoxLayout *layout = new QVBoxLayout(this); + layout->addWidget(m_listWidget); + layout->setContentsMargins(QMargins()); + + connect(m_listWidget, &QListWidget::itemChanged, this, &QOptionsWidget::itemChanged); +} + +void QOptionsWidget::clear() +{ + setOptions(QStringList(), QStringList()); +} + +void QOptionsWidget::setOptions(const QStringList &validOptions, + const QStringList &selectedOptions) +{ + m_listWidget->clear(); + m_optionToItem.clear(); + m_itemToOption.clear(); + + m_validOptions = validOptions; + m_validOptions.removeDuplicates(); + std::sort(m_validOptions.begin(), m_validOptions.end()); + + m_selectedOptions = selectedOptions; + m_selectedOptions.removeDuplicates(); + std::sort(m_selectedOptions.begin(), m_selectedOptions.end()); + + m_invalidOptions = subtract(m_selectedOptions, m_validOptions); + const QStringList validSelectedOptions = subtract(m_selectedOptions, m_invalidOptions); + const QStringList validUnselectedOptions = subtract(m_validOptions, m_selectedOptions); + + for (const QString &option : validSelectedOptions) + appendItem(option, true, true); + + for (const QString &option : m_invalidOptions) + appendItem(option, false, true); + + if ((validSelectedOptions.count() + m_invalidOptions.count()) + && validUnselectedOptions.count()) { + appendSeparator(); + } + + for (const QString &option : validUnselectedOptions) { + appendItem(option, true, false); + if (option.isEmpty() && validUnselectedOptions.count() > 1) // special No Option item + appendSeparator(); + } +} + +QStringList QOptionsWidget::validOptions() const +{ + return m_validOptions; +} + +QStringList QOptionsWidget::selectedOptions() const +{ + return m_selectedOptions; +} + +void QOptionsWidget::setNoOptionText(const QString &text) +{ + if (m_noOptionText == text) + return; + + m_noOptionText = text; + + // update GUI + const auto itEnd = m_optionToItem.constEnd(); + for (auto it = m_optionToItem.constBegin(); it != itEnd; ++it) { + const QString optionName = it.key(); + if (optionName.isEmpty()) + it.value()->setText(optionText(optionName, m_validOptions.contains(optionName))); + } +} + +void QOptionsWidget::setInvalidOptionText(const QString &text) +{ + if (m_invalidOptionText == text) + return; + + m_invalidOptionText = text; + + // update GUI + for (const QString &option : m_invalidOptions) + m_optionToItem.value(option)->setText(optionText(option, false)); +} + +QString QOptionsWidget::optionText(const QString &optionName, bool valid) const +{ + QString text = optionName; + if (optionName.isEmpty()) + text = QLatin1Char('[') + m_noOptionText + QLatin1Char(']'); + if (!valid) + text += QLatin1String("\t[") + m_invalidOptionText + QLatin1Char(']'); + return text; +} + +QListWidgetItem *QOptionsWidget::appendItem(const QString &optionName, bool valid, bool selected) +{ + QListWidgetItem *optionItem = new QListWidgetItem(optionText(optionName, valid), m_listWidget); + optionItem->setCheckState(selected ? Qt::Checked : Qt::Unchecked); + m_listWidget->insertItem(m_listWidget->count(), optionItem); + m_optionToItem[optionName] = optionItem; + m_itemToOption[optionItem] = optionName; + return optionItem; +} + +void QOptionsWidget::appendSeparator() +{ + QListWidgetItem *separatorItem = new QListWidgetItem(m_listWidget); + ListWidgetDelegate::setSeparator(separatorItem); + m_listWidget->insertItem(m_listWidget->count(), separatorItem); +} + +void QOptionsWidget::itemChanged(QListWidgetItem *item) +{ + const auto it = m_itemToOption.constFind(item); + if (it == m_itemToOption.constEnd()) + return; + + const QString option = *it; + + if (item->checkState() == Qt::Checked && !m_selectedOptions.contains(option)) { + m_selectedOptions.append(option); + std::sort(m_selectedOptions.begin(), m_selectedOptions.end()); + } else if (item->checkState() == Qt::Unchecked && m_selectedOptions.contains(option)) { + m_selectedOptions.removeOne(option); + } else { + return; + } + + emit optionSelectionChanged(m_selectedOptions); +} + + +QT_END_NAMESPACE diff --git a/src/assistant/help/qoptionswidget_p.h b/src/assistant/help/qoptionswidget_p.h new file mode 100644 index 000000000..ff075e464 --- /dev/null +++ b/src/assistant/help/qoptionswidget_p.h @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Assistant of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QOPTIONSWIDGET_H +#define QOPTIONSWIDGET_H + +#include +#include + +QT_BEGIN_NAMESPACE + +class QListWidget; +class QListWidgetItem; + +class QOptionsWidget : public QWidget +{ + Q_OBJECT +public: + QOptionsWidget(QWidget *parent = nullptr); + + void clear(); + void setOptions(const QStringList &validOptions, + const QStringList &selectedOptions); + QStringList validOptions() const; + QStringList selectedOptions() const; + + void setNoOptionText(const QString &text); + void setInvalidOptionText(const QString &text); + +signals: + void optionSelectionChanged(const QStringList &options); + +private: + QString optionText(const QString &optionName, bool valid) const; + QListWidgetItem *appendItem(const QString &optionName, bool valid, bool selected); + void appendSeparator(); + void itemChanged(QListWidgetItem *item); + + QListWidget *m_listWidget = nullptr; + QString m_noOptionText; + QString m_invalidOptionText; + QStringList m_validOptions; + QStringList m_invalidOptions; + QStringList m_selectedOptions; + QMap m_optionToItem; + QMap m_itemToOption; +}; + +QT_END_NAMESPACE + +#endif // OPTIONSWIDGET_H -- cgit v1.2.3 From 288306ae98fd7c7c6ecc90255796863739241443 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 29 Nov 2019 10:59:11 +0100 Subject: Assistant: extract doc settings/widget in separate classes Change-Id: I6eb8545a069febd578604207ae6f4f9311bb9aec Reviewed-by: Karsten Heimrich --- src/assistant/assistant/assistant.pro | 5 + src/assistant/assistant/helpdocsettings.cpp | 231 ++++++++++++++++++++++ src/assistant/assistant/helpdocsettings.h | 82 ++++++++ src/assistant/assistant/helpdocsettingswidget.cpp | 194 ++++++++++++++++++ src/assistant/assistant/helpdocsettingswidget.h | 73 +++++++ src/assistant/assistant/helpdocsettingswidget.ui | 76 +++++++ src/assistant/help/qcompressedhelpinfo.cpp | 12 ++ src/assistant/help/qcompressedhelpinfo.h | 1 + 8 files changed, 674 insertions(+) create mode 100644 src/assistant/assistant/helpdocsettings.cpp create mode 100644 src/assistant/assistant/helpdocsettings.h create mode 100644 src/assistant/assistant/helpdocsettingswidget.cpp create mode 100644 src/assistant/assistant/helpdocsettingswidget.h create mode 100644 src/assistant/assistant/helpdocsettingswidget.ui diff --git a/src/assistant/assistant/assistant.pro b/src/assistant/assistant/assistant.pro index b63be28c7..b68447b5b 100644 --- a/src/assistant/assistant/assistant.pro +++ b/src/assistant/assistant/assistant.pro @@ -24,6 +24,8 @@ HEADERS += aboutdialog.h \ contentwindow.h \ findwidget.h \ filternamedialog.h \ + helpdocsettings.h \ + helpdocsettingswidget.h \ helpenginewrapper.h \ helpbrowsersupport.h \ helpviewer.h \ @@ -57,6 +59,8 @@ SOURCES += aboutdialog.cpp \ contentwindow.cpp \ findwidget.cpp \ filternamedialog.cpp \ + helpdocsettings.cpp \ + helpdocsettingswidget.cpp \ helpenginewrapper.cpp \ helpbrowsersupport.cpp \ helpviewer.cpp \ @@ -98,6 +102,7 @@ FORMS += bookmarkdialog.ui \ bookmarkmanagerwidget.ui \ bookmarkwidget.ui \ filternamedialog.ui \ + helpdocsettingswidget.ui \ preferencesdialog.ui \ topicchooser.ui diff --git a/src/assistant/assistant/helpdocsettings.cpp b/src/assistant/assistant/helpdocsettings.cpp new file mode 100644 index 000000000..dc4afdb86 --- /dev/null +++ b/src/assistant/assistant/helpdocsettings.cpp @@ -0,0 +1,231 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Assistant of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "helpdocsettings.h" + +#include +#include +#include + +#include + +#include + +QT_BEGIN_NAMESPACE + +class HelpDocSettingsPrivate : public QSharedData +{ +public: + HelpDocSettingsPrivate() = default; + HelpDocSettingsPrivate(const HelpDocSettingsPrivate &other) = default; + ~HelpDocSettingsPrivate() = default; + + QMap m_namespaceToComponent; + QMap m_componentToNamespace; + + QMap m_namespaceToVersion; + QMap m_versionToNamespace; + + QMap m_namespaceToFileName; + QMap m_fileNameToNamespace; +}; + + +HelpDocSettings::HelpDocSettings() + : d(new HelpDocSettingsPrivate) +{ +} + +HelpDocSettings::HelpDocSettings(const HelpDocSettings &) = default; + +HelpDocSettings::HelpDocSettings(HelpDocSettings &&) = default; + +HelpDocSettings::~HelpDocSettings() = default; + +HelpDocSettings &HelpDocSettings::operator=(const HelpDocSettings &) = default; + +HelpDocSettings &HelpDocSettings::operator=(HelpDocSettings &&) = default; + +bool HelpDocSettings::addDocumentation(const QString &fileName) +{ + const QCompressedHelpInfo info = QCompressedHelpInfo::fromCompressedHelpFile(fileName); + + if (info.isNull()) + return false; + + const QString namespaceName = info.namespaceName(); + + if (d->m_namespaceToFileName.contains(namespaceName)) + return false; + + if (d->m_fileNameToNamespace.contains(fileName)) + return false; + + const QString component = info.component(); + const QVersionNumber version = info.version(); + + d->m_namespaceToFileName.insert(namespaceName, fileName); + d->m_fileNameToNamespace.insert(fileName, namespaceName); + + d->m_namespaceToComponent.insert(namespaceName, component); + d->m_componentToNamespace[component].append(namespaceName); + + d->m_namespaceToVersion.insert(namespaceName, version); + d->m_versionToNamespace[version].append(namespaceName); + + return true; +} + +bool HelpDocSettings::removeDocumentation(const QString &namespaceName) +{ + if (namespaceName.isEmpty()) + return false; + + const QString fileName = d->m_namespaceToFileName.value(namespaceName); + if (fileName.isEmpty()) + return false; + + const QString component = d->m_namespaceToComponent.value(namespaceName); + const QVersionNumber version = d->m_namespaceToVersion.value(namespaceName); + + d->m_namespaceToComponent.remove(namespaceName); + d->m_namespaceToVersion.remove(namespaceName); + d->m_namespaceToFileName.remove(namespaceName); + d->m_fileNameToNamespace.remove(fileName); + d->m_componentToNamespace[component].removeOne(namespaceName); + if (d->m_componentToNamespace[component].isEmpty()) + d->m_componentToNamespace.remove(component); + d->m_versionToNamespace[version].removeOne(namespaceName); + if (d->m_versionToNamespace[version].isEmpty()) + d->m_versionToNamespace.remove(version); + + return true; +} + +QString HelpDocSettings::namespaceName(const QString &fileName) const +{ + return d->m_fileNameToNamespace.value(fileName); +} + +QStringList HelpDocSettings::components() const +{ + return d->m_componentToNamespace.keys(); +} + +QList HelpDocSettings::versions() const +{ + return d->m_versionToNamespace.keys(); +} + +QStringList HelpDocSettings::namespaces() const +{ + return d->m_namespaceToFileName.keys(); +} + +QMap HelpDocSettings::namespaceToFileName() const +{ + return d->m_namespaceToFileName; +} + +HelpDocSettings HelpDocSettings::readSettings(QHelpEngineCore *helpEngine) +{ + QHelpFilterEngine *filterEngine = helpEngine->filterEngine(); + + HelpDocSettings docSettings; + docSettings.d->m_namespaceToComponent = filterEngine->namespaceToComponent(); + docSettings.d->m_namespaceToVersion = filterEngine->namespaceToVersion(); + for (auto it = docSettings.d->m_namespaceToComponent.constBegin(); + it != docSettings.d->m_namespaceToComponent.constEnd(); ++it) { + const QString namespaceName = it.key(); + const QString namespaceFileName = helpEngine->documentationFileName(namespaceName); + docSettings.d->m_namespaceToFileName.insert(namespaceName, namespaceFileName); + docSettings.d->m_fileNameToNamespace.insert(namespaceFileName, namespaceName); + docSettings.d->m_componentToNamespace[it.value()].append(namespaceName); + } + for (auto it = docSettings.d->m_namespaceToVersion.constBegin(); + it != docSettings.d->m_namespaceToVersion.constEnd(); ++it) { + docSettings.d->m_versionToNamespace[it.value()].append(it.key()); + } + + return docSettings; +} + +static QMap subtract(const QMap &minuend, + const QMap &subtrahend) +{ + auto result = minuend; + + for (auto itSubtrahend = subtrahend.cbegin(); itSubtrahend != subtrahend.cend(); ++itSubtrahend) { + auto itResult = result.find(itSubtrahend.key()); + if (itResult != result.end() && itSubtrahend.value() == itResult.value()) + result.erase(itResult); + } + + return result; +} + +bool HelpDocSettings::applySettings(QHelpEngineCore *helpEngine, + const HelpDocSettings &settings) +{ + const HelpDocSettings oldSettings = readSettings(helpEngine); + + const QMap docsToRemove = subtract( + oldSettings.namespaceToFileName(), + settings.namespaceToFileName()); + const QMap docsToAdd = subtract( + settings.namespaceToFileName(), + oldSettings.namespaceToFileName()); + + bool changed = false; + for (const QString &namespaceName : docsToRemove.keys()) { + if (!helpEngine->unregisterDocumentation(namespaceName)) + qWarning() << "Cannot unregister documentation:" << namespaceName; + changed = true; + } + + for (const QString &fileName : docsToAdd.values()) { + if (!helpEngine->registerDocumentation(fileName)) + qWarning() << "Cannot register documentation file:" << fileName; + changed = true; + } + + return changed; +} + +QT_END_NAMESPACE diff --git a/src/assistant/assistant/helpdocsettings.h b/src/assistant/assistant/helpdocsettings.h new file mode 100644 index 000000000..7476eb63a --- /dev/null +++ b/src/assistant/assistant/helpdocsettings.h @@ -0,0 +1,82 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Assistant of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef HELPDOCSETTINGS_H +#define HELPDOCSETTINGS_H + +#include + +QT_BEGIN_NAMESPACE + +class QVersionNumber; +class QHelpEngineCore; +class HelpDocSettingsPrivate; + +class HelpDocSettings final +{ +public: + HelpDocSettings(); + HelpDocSettings(const HelpDocSettings &other); + HelpDocSettings(HelpDocSettings &&other); + ~HelpDocSettings(); + + HelpDocSettings &operator=(const HelpDocSettings &other); + HelpDocSettings &operator=(HelpDocSettings &&other); + + void swap(HelpDocSettings &other) noexcept + { d.swap(other.d); } + + bool addDocumentation(const QString &fileName); + bool removeDocumentation(const QString &namespaceName); + QString namespaceName(const QString &fileName) const; + QStringList components() const; + QList versions() const; + QStringList namespaces() const; + QMap namespaceToFileName() const; + + static HelpDocSettings readSettings(QHelpEngineCore *helpEngine); + static bool applySettings(QHelpEngineCore *helpEngine, const HelpDocSettings &settings); + +private: + QSharedDataPointer d; +}; + +QT_END_NAMESPACE + +#endif // HELPDOCSETTINGS_H diff --git a/src/assistant/assistant/helpdocsettingswidget.cpp b/src/assistant/assistant/helpdocsettingswidget.cpp new file mode 100644 index 000000000..94ca2b25a --- /dev/null +++ b/src/assistant/assistant/helpdocsettingswidget.cpp @@ -0,0 +1,194 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Assistant of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "helpdocsettings.h" +#include "helpdocsettingswidget.h" +#include "ui_helpdocsettingswidget.h" + +#include +#include + +QT_BEGIN_NAMESPACE + +class HelpDocSettingsWidgetPrivate +{ + HelpDocSettingsWidget *q_ptr; + Q_DECLARE_PUBLIC(HelpDocSettingsWidget) +public: + HelpDocSettingsWidgetPrivate() = default; + + void addDocumentation(); + void removeDocumentation(); + void applyDocListFilter(QListWidgetItem *item); + + QMap m_namespaceToItem; + QHash m_itemToNamespace; + + Ui::HelpDocSettingsWidget m_ui; + HelpDocSettings m_settings; +}; + +void HelpDocSettingsWidgetPrivate::addDocumentation() +{ + Q_Q(HelpDocSettingsWidget); + + const QStringList &fileNames = QFileDialog::getOpenFileNames(q, + q->tr("Add Documentation"), QString(), q->tr("Qt Compressed Help Files (*.qch)")); + if (fileNames.isEmpty()) + return; + + bool added = false; + + for (const QString &fileName : fileNames) { + if (!m_settings.addDocumentation(fileName)) + continue; + + if (!added) { + added = true; + m_ui.registeredDocsListWidget->clearSelection(); + } + + const QString namespaceName = m_settings.namespaceName(fileName); + QListWidgetItem *item = new QListWidgetItem(namespaceName); + m_namespaceToItem.insert(namespaceName, item); + m_itemToNamespace.insert(item, namespaceName); + m_ui.registeredDocsListWidget->insertItem(m_namespaceToItem.keys().indexOf(namespaceName), item); + + item->setSelected(true); + applyDocListFilter(item); + } + + if (added) + emit q->docSettingsChanged(m_settings); +} + +void HelpDocSettingsWidgetPrivate::removeDocumentation() +{ + Q_Q(HelpDocSettingsWidget); + + const QList selectedItems = m_ui.registeredDocsListWidget->selectedItems(); + if (selectedItems.isEmpty()) + return; + + for (QListWidgetItem *item : selectedItems) { + const QString namespaceName = m_itemToNamespace.value(item); + m_itemToNamespace.remove(item); + m_namespaceToItem.remove(namespaceName); + delete item; + + m_settings.removeDocumentation(namespaceName); + } + + emit q->docSettingsChanged(m_settings); +} + +void HelpDocSettingsWidgetPrivate::applyDocListFilter(QListWidgetItem *item) +{ + const QString namespaceName = m_itemToNamespace.value(item); + const QString nameFilter = m_ui.registeredDocsFilterLineEdit->text(); + + const bool matches = nameFilter.isEmpty() || namespaceName.contains(nameFilter); + + if (!matches) + item->setSelected(false); + item->setHidden(!matches); +} + +HelpDocSettingsWidget::HelpDocSettingsWidget(QWidget *parent) + : QWidget(parent) + , d_ptr(new HelpDocSettingsWidgetPrivate()) +{ + Q_D(HelpDocSettingsWidget); + d->q_ptr = this; + d->m_ui.setupUi(this); + + connect(d->m_ui.docAddButton, &QAbstractButton::clicked, + [this]() { + Q_D(HelpDocSettingsWidget); + d->addDocumentation(); + }); + connect(d->m_ui.docRemoveButton, &QAbstractButton::clicked, + [this]() { + Q_D(HelpDocSettingsWidget); + d->removeDocumentation(); + }); + connect(d->m_ui.registeredDocsFilterLineEdit, &QLineEdit::textChanged, + [this](const QString &) { + Q_D(HelpDocSettingsWidget); + for (const auto item : d->m_namespaceToItem) + d->applyDocListFilter(item); + }); + connect(d->m_ui.registeredDocsListWidget, &QListWidget::itemSelectionChanged, + [this]() { + Q_D(HelpDocSettingsWidget); + d->m_ui.docRemoveButton->setEnabled( + !d->m_ui.registeredDocsListWidget->selectedItems().isEmpty()); + }); +} + +HelpDocSettingsWidget::~HelpDocSettingsWidget() = default; + +void HelpDocSettingsWidget::setDocSettings(const HelpDocSettings &settings) +{ + Q_D(HelpDocSettingsWidget); + d->m_settings = settings; + + d->m_ui.registeredDocsListWidget->clear(); + d->m_namespaceToItem.clear(); + d->m_itemToNamespace.clear(); + + for (const QString &namespaceName : d->m_settings.namespaces()) { + QListWidgetItem *item = new QListWidgetItem(namespaceName); + d->m_namespaceToItem.insert(namespaceName, item); + d->m_itemToNamespace.insert(item, namespaceName); + d->m_ui.registeredDocsListWidget->addItem(item); + d->applyDocListFilter(item); + } + + d->m_ui.docRemoveButton->setEnabled( + !d->m_ui.registeredDocsListWidget->selectedItems().isEmpty()); +} + +HelpDocSettings HelpDocSettingsWidget::docSettings() const +{ + Q_D(const HelpDocSettingsWidget); + return d->m_settings; +} + +QT_END_NAMESPACE diff --git a/src/assistant/assistant/helpdocsettingswidget.h b/src/assistant/assistant/helpdocsettingswidget.h new file mode 100644 index 000000000..3ed089353 --- /dev/null +++ b/src/assistant/assistant/helpdocsettingswidget.h @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Assistant of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef HELPDOCSETTINGSWIDGET_H +#define HELPDOCSETTINGSWIDGET_H + +#include + +QT_BEGIN_NAMESPACE + +class HelpDocSettings; +class HelpDocSettingsWidgetPrivate; + +class HelpDocSettingsWidget : public QWidget +{ + Q_OBJECT +public: + HelpDocSettingsWidget(QWidget *parent = nullptr); + + ~HelpDocSettingsWidget(); + + void setDocSettings(const HelpDocSettings &settings); + HelpDocSettings docSettings() const; + +Q_SIGNALS: + void docSettingsChanged(const HelpDocSettings &settings); + +private: + QScopedPointer d_ptr; + Q_DECLARE_PRIVATE(HelpDocSettingsWidget) + Q_DISABLE_COPY_MOVE(HelpDocSettingsWidget) +}; + +QT_END_NAMESPACE + +#endif + diff --git a/src/assistant/assistant/helpdocsettingswidget.ui b/src/assistant/assistant/helpdocsettingswidget.ui new file mode 100644 index 000000000..4897dfe86 --- /dev/null +++ b/src/assistant/assistant/helpdocsettingswidget.ui @@ -0,0 +1,76 @@ + + + HelpDocSettingsWidget + + + + 0 + 0 + 268 + 128 + + + + Form + + + + + + Registered Documentation + + + + + + + <Filter> + + + true + + + + + + + + + Add... + + + + + + + Remove + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + QAbstractItemView::ExtendedSelection + + + + + + + + diff --git a/src/assistant/help/qcompressedhelpinfo.cpp b/src/assistant/help/qcompressedhelpinfo.cpp index bbdc64157..a3c5b75d5 100644 --- a/src/assistant/help/qcompressedhelpinfo.cpp +++ b/src/assistant/help/qcompressedhelpinfo.cpp @@ -55,12 +55,14 @@ public: , m_namespaceName(other.m_namespaceName) , m_component(other.m_component) , m_version(other.m_version) + , m_isNull(other.m_isNull) { } ~QCompressedHelpInfoPrivate() = default; QString m_namespaceName; QString m_component; QVersionNumber m_version; + bool m_isNull = true; }; /*! @@ -150,6 +152,15 @@ QVersionNumber QCompressedHelpInfo::version() const return d->m_version; } +/*! + Returns \c true if the info is invalid, otherwise returns + \c false. +*/ +bool QCompressedHelpInfo::isNull() const +{ + return d->m_isNull; +} + /*! Returns the QCompressedHelpInfo instance for the \a documentationFileName of the existing qch file. @@ -164,6 +175,7 @@ QCompressedHelpInfo QCompressedHelpInfo::fromCompressedHelpFile(const QString &d info.d->m_namespaceName = reader.namespaceName(); info.d->m_component = reader.virtualFolder(); info.d->m_version = QVersionNumber::fromString(reader.version()); + info.d->m_isNull = false; return info; } return QCompressedHelpInfo(); diff --git a/src/assistant/help/qcompressedhelpinfo.h b/src/assistant/help/qcompressedhelpinfo.h index c392bb74c..7b3c78c12 100644 --- a/src/assistant/help/qcompressedhelpinfo.h +++ b/src/assistant/help/qcompressedhelpinfo.h @@ -66,6 +66,7 @@ public: QString namespaceName() const; QString component() const; QVersionNumber version() const; + bool isNull() const; static QCompressedHelpInfo fromCompressedHelpFile(const QString &documentationFileName); -- cgit v1.2.3 From bf9ada4549bba26ff25c1f689b33a2afa1ad2b81 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 29 Nov 2019 11:09:08 +0100 Subject: Assistant: Use the refactored stuff in the Assistant Change-Id: I69fd2e98079b172e8649697c8fd56064867be9fd Reviewed-by: Karsten Heimrich --- src/assistant/assistant/helpenginewrapper.cpp | 6 + src/assistant/assistant/helpenginewrapper.h | 3 + src/assistant/assistant/preferencesdialog.cpp | 482 ++------------------------ src/assistant/assistant/preferencesdialog.h | 47 +-- src/assistant/assistant/preferencesdialog.ui | 153 +++----- 5 files changed, 79 insertions(+), 612 deletions(-) diff --git a/src/assistant/assistant/helpenginewrapper.cpp b/src/assistant/assistant/helpenginewrapper.cpp index 17e4bde8c..d69138ff8 100644 --- a/src/assistant/assistant/helpenginewrapper.cpp +++ b/src/assistant/assistant/helpenginewrapper.cpp @@ -670,6 +670,12 @@ void HelpEngineWrapper::setTopicChooserGeometry(const QByteArray &geometry) d->m_helpEngine->setCustomValue(TopicChooserGeometryKey, geometry); } +QHelpEngineCore *HelpEngineWrapper::helpEngine() const +{ + return d->m_helpEngine; +} + + // -- TimeoutForwarder TimeoutForwarder::TimeoutForwarder(const QString &fileName) diff --git a/src/assistant/assistant/helpenginewrapper.h b/src/assistant/assistant/helpenginewrapper.h index 6026a0473..81d8ffa1f 100644 --- a/src/assistant/assistant/helpenginewrapper.h +++ b/src/assistant/assistant/helpenginewrapper.h @@ -46,6 +46,7 @@ class QHelpIndexModel; class QHelpIndexWidget; class QHelpSearchEngine; class QHelpFilterEngine; +class QHelpEngineCore; enum { ShowHomePage = 0, @@ -175,6 +176,8 @@ public: const QByteArray topicChooserGeometry() const; void setTopicChooserGeometry(const QByteArray &geometry); + QHelpEngineCore *helpEngine() const; + signals: // For asynchronous doc updates triggered by external actions. diff --git a/src/assistant/assistant/preferencesdialog.cpp b/src/assistant/assistant/preferencesdialog.cpp index 66d6381d3..ebd2a96e8 100644 --- a/src/assistant/assistant/preferencesdialog.cpp +++ b/src/assistant/assistant/preferencesdialog.cpp @@ -28,42 +28,24 @@ #include "preferencesdialog.h" #include "centralwidget.h" -#include "filternamedialog.h" #include "fontpanel.h" #include "helpenginewrapper.h" #include "openpagesmanager.h" +#include "helpdocsettingswidget.h" #include + #include -#include -#include #include #include #include - -#include +#include #include QT_BEGIN_NAMESPACE -static QStringList versionsToStringList(const QList &versions) -{ - QStringList versionList; - for (const QVersionNumber &version : versions) - versionList.append(version.isNull() ? QString() : version.toString()); - return versionList; -} - -static QList stringListToVersions(const QStringList &versionList) -{ - QList versions; - for (const QString &versionString : versionList) - versions.append(QVersionNumber::fromString(versionString)); - return versions; -} - PreferencesDialog::PreferencesDialog(QWidget *parent) : QDialog(parent) , m_appFontChanged(false) @@ -74,18 +56,6 @@ PreferencesDialog::PreferencesDialog(QWidget *parent) { m_ui.setupUi(this); - QString resourcePath = QLatin1String(":/qt-project.org/assistant/images/"); -#ifdef Q_OS_MACOS - resourcePath.append(QLatin1String("mac")); -#else - resourcePath.append(QLatin1String("win")); -#endif - - m_ui.filterAddButton->setIcon(QIcon(resourcePath + QLatin1String("/plus.png"))); - m_ui.filterRemoveButton->setIcon(QIcon(resourcePath + QLatin1String("/minus.png"))); - - // TODO: filter docs via lineedit - connect(m_ui.buttonBox->button(QDialogButtonBox::Ok), &QAbstractButton::clicked, this, &PreferencesDialog::okClicked); connect(m_ui.buttonBox->button(QDialogButtonBox::Apply), &QAbstractButton::clicked, @@ -93,56 +63,30 @@ PreferencesDialog::PreferencesDialog(QWidget *parent) connect(m_ui.buttonBox->button(QDialogButtonBox::Cancel), &QAbstractButton::clicked, this, &QDialog::reject); - m_originalSetup = readOriginalSetup(); - m_currentSetup = m_originalSetup; + m_docSettings = HelpDocSettings::readSettings(helpEngine.helpEngine()); if (m_hideDocsTab) { m_ui.tabWidget->removeTab(m_ui.tabWidget->indexOf(m_ui.docsTab)); } else { - connect(m_ui.docAddButton, &QAbstractButton::clicked, - this, &PreferencesDialog::addDocumentation); - connect(m_ui.docRemoveButton, &QAbstractButton::clicked, - this, &PreferencesDialog::removeDocumentation); - connect(m_ui.registeredDocsFilterLineEdit, &QLineEdit::textChanged, - this, [this](const QString &) { - for (const auto item : m_namespaceToItem) - applyDocListFilter(item); - }); - connect(m_ui.registeredDocsListWidget, &QListWidget::itemSelectionChanged, - this, [this](){ - m_ui.docRemoveButton->setEnabled( - !m_ui.registeredDocsListWidget->selectedItems().isEmpty()); + connect(m_ui.docSettingsWidget, &HelpDocSettingsWidget::docSettingsChanged, + [this](const HelpDocSettings &settings) { + m_docSettings = settings; + if (m_hideFiltersTab) + return; + + m_ui.filterSettingsWidget->setAvailableComponents(m_docSettings.components()); + m_ui.filterSettingsWidget->setAvailableVersions(m_docSettings.versions()); }); - updateDocumentationPage(); + m_ui.docSettingsWidget->setDocSettings(m_docSettings); } if (m_hideFiltersTab) { m_ui.tabWidget->removeTab(m_ui.tabWidget->indexOf(m_ui.filtersTab)); } else { - connect(m_ui.componentWidget, &OptionsWidget::optionSelectionChanged, - this, &PreferencesDialog::componentsChanged); - connect(m_ui.versionWidget, &OptionsWidget::optionSelectionChanged, - this, &PreferencesDialog::versionsChanged); - connect(m_ui.filterWidget, &QListWidget::currentItemChanged, - this, &PreferencesDialog::filterSelected); - connect(m_ui.filterWidget, &QListWidget::itemDoubleClicked, - this, &PreferencesDialog::renameFilterClicked); - - // TODO: repeat these actions on context menu - connect(m_ui.filterAddButton, &QAbstractButton::clicked, - this, &PreferencesDialog::addFilterClicked); - connect(m_ui.filterRenameButton, &QAbstractButton::clicked, - this, &PreferencesDialog::renameFilterClicked); - connect(m_ui.filterRemoveButton, &QAbstractButton::clicked, - this, &PreferencesDialog::removeFilterClicked); - - m_ui.componentWidget->setNoOptionText(tr("No Component")); - m_ui.componentWidget->setInvalidOptionText(tr("Invalid Component")); - m_ui.versionWidget->setNoOptionText(tr("No Version")); - m_ui.versionWidget->setInvalidOptionText(tr("Invalid Version")); - - updateFilterPage(); + m_ui.filterSettingsWidget->setAvailableComponents(m_docSettings.components()); + m_ui.filterSettingsWidget->setAvailableVersions(m_docSettings.versions()); + m_ui.filterSettingsWidget->readSettings(helpEngine.filterEngine()); } updateFontSettingsPage(); @@ -152,331 +96,6 @@ PreferencesDialog::PreferencesDialog(QWidget *parent) setFont(helpEngine.appFont()); } -FilterSetup PreferencesDialog::readOriginalSetup() const -{ - FilterSetup filterSetup; - - filterSetup.m_namespaceToComponent = helpEngine.filterEngine()->namespaceToComponent(); - filterSetup.m_namespaceToVersion = helpEngine.filterEngine()->namespaceToVersion(); - for (auto it = filterSetup.m_namespaceToComponent.constBegin(); - it != filterSetup.m_namespaceToComponent.constEnd(); ++it) { - const QString namespaceName = it.key(); - const QString namespaceFileName = helpEngine.documentationFileName(namespaceName); - filterSetup.m_namespaceToFileName.insert(namespaceName, namespaceFileName); - filterSetup.m_fileNameToNamespace.insert(namespaceFileName, namespaceName); - filterSetup.m_componentToNamespace[it.value()].append(namespaceName); - } - for (auto it = filterSetup.m_namespaceToVersion.constBegin(); - it != filterSetup.m_namespaceToVersion.constEnd(); ++it) { - filterSetup.m_versionToNamespace[it.value()].append(it.key()); - } - - const QStringList allFilters = helpEngine.filterEngine()->filters(); - for (const QString &filter : allFilters) - filterSetup.m_filterToData.insert(filter, helpEngine.filterEngine()->filterData(filter)); - - filterSetup.m_currentFilter = helpEngine.filterEngine()->activeFilter(); - - return filterSetup; -} - -void PreferencesDialog::updateFilterPage() -{ - if (m_hideFiltersTab) - return; - - QString currentFilter = m_itemToFilter.value(m_ui.filterWidget->currentItem()); - if (currentFilter.isEmpty()) - currentFilter = m_currentSetup.m_currentFilter; - - m_currentSetup = m_originalSetup; - - m_ui.filterWidget->clear(); - m_ui.componentWidget->clear(); - m_ui.versionWidget->clear(); - m_itemToFilter.clear(); - m_filterToItem.clear(); - - for (const QString &filterName : m_currentSetup.m_filterToData.keys()) { - QListWidgetItem *item = new QListWidgetItem(filterName); - m_ui.filterWidget->addItem(item); - m_itemToFilter.insert(item, filterName); - m_filterToItem.insert(filterName, item); - if (filterName == currentFilter) - m_ui.filterWidget->setCurrentItem(item); - } - - if (!m_ui.filterWidget->currentItem() && !m_filterToItem.isEmpty()) - m_ui.filterWidget->setCurrentItem(m_filterToItem.first()); - - updateCurrentFilter(); -} - -void PreferencesDialog::updateCurrentFilter() -{ - if (m_hideFiltersTab) - return; - - const QString ¤tFilter = m_itemToFilter.value(m_ui.filterWidget->currentItem()); - - const bool filterSelected = !currentFilter.isEmpty(); - m_ui.componentWidget->setEnabled(filterSelected); - m_ui.versionWidget->setEnabled(filterSelected); - m_ui.filterRenameButton->setEnabled(filterSelected); - m_ui.filterRemoveButton->setEnabled(filterSelected); - - m_ui.componentWidget->setOptions(m_currentSetup.m_componentToNamespace.keys(), - m_currentSetup.m_filterToData.value(currentFilter).components()); - m_ui.versionWidget->setOptions(versionsToStringList(m_currentSetup.m_versionToNamespace.keys()), - versionsToStringList(m_currentSetup.m_filterToData.value(currentFilter).versions())); -} - -void PreferencesDialog::updateDocumentationPage() -{ - if (m_hideDocsTab) - return; - - m_ui.registeredDocsListWidget->clear(); - m_namespaceToItem.clear(); - m_itemToNamespace.clear(); - - for (const QString &namespaceName : m_currentSetup.m_namespaceToFileName.keys()) { - QListWidgetItem *item = new QListWidgetItem(namespaceName); - m_namespaceToItem.insert(namespaceName, item); - m_itemToNamespace.insert(item, namespaceName); - applyDocListFilter(item); - m_ui.registeredDocsListWidget->addItem(item); - } - m_ui.docRemoveButton->setEnabled( - !m_ui.registeredDocsListWidget->selectedItems().isEmpty()); -} - -void PreferencesDialog::applyDocListFilter(QListWidgetItem *item) -{ - const QString namespaceName = m_itemToNamespace.value(item); - const QString nameFilter = m_ui.registeredDocsFilterLineEdit->text(); - - const bool matches = nameFilter.isEmpty() || namespaceName.contains(nameFilter); - - if (!matches) - item->setSelected(false); - item->setHidden(!matches); -} - -void PreferencesDialog::filterSelected(QListWidgetItem *item) -{ - Q_UNUSED(item) - - updateCurrentFilter(); -} - -void PreferencesDialog::componentsChanged(const QStringList &components) -{ - const QString ¤tFilter = m_itemToFilter.value(m_ui.filterWidget->currentItem()); - if (currentFilter.isEmpty()) - return; - - m_currentSetup.m_filterToData[currentFilter].setComponents(components); -} - -void PreferencesDialog::versionsChanged(const QStringList &versions) -{ - const QString ¤tFilter = m_itemToFilter.value(m_ui.filterWidget->currentItem()); - if (currentFilter.isEmpty()) - return; - - m_currentSetup.m_filterToData[currentFilter].setVersions(stringListToVersions(versions)); -} - -QString PreferencesDialog::suggestedNewFilterName(const QString &initialFilterName) const -{ - QString newFilterName = initialFilterName; - - int counter = 1; - while (m_filterToItem.contains(newFilterName)) { - newFilterName = initialFilterName + QLatin1Char(' ') - + QString::number(++counter); - } - - return newFilterName; -} - -QString PreferencesDialog::getUniqueFilterName(const QString &windowTitle, - const QString &initialFilterName) -{ - QString newFilterName = initialFilterName; - while (1) { - FilterNameDialog dialog(this); - dialog.setWindowTitle(windowTitle); - dialog.setFilterName(newFilterName); - if (dialog.exec() == QDialog::Rejected) - return QString(); - - newFilterName = dialog.filterName(); - if (!m_filterToItem.contains(newFilterName)) - break; - - if (QMessageBox::warning(this, tr("Filter Exists"), - tr("The filter \"%1\" already exists.") - .arg(newFilterName), - QMessageBox::Retry | QMessageBox::Cancel) - == QMessageBox::Cancel) { - return QString(); - } - } - - return newFilterName; -} - -void PreferencesDialog::addFilterClicked() -{ - const QString newFilterName = getUniqueFilterName(tr("Add Filter"), - suggestedNewFilterName(tr("New Filter"))); - if (newFilterName.isEmpty()) - return; - - addFilter(newFilterName); -} - -void PreferencesDialog::renameFilterClicked() -{ - const QString ¤tFilter = m_itemToFilter.value(m_ui.filterWidget->currentItem()); - if (currentFilter.isEmpty()) - return; - - const QString newFilterName = getUniqueFilterName(tr("Rename Filter"), currentFilter); - if (newFilterName.isEmpty()) - return; - - const QHelpFilterData oldFilterData = m_currentSetup.m_filterToData.value(currentFilter); - removeFilter(currentFilter); - addFilter(newFilterName, oldFilterData); - - if (m_currentSetup.m_currentFilter == currentFilter) - m_currentSetup.m_currentFilter = newFilterName; -} - -void PreferencesDialog::removeFilterClicked() -{ - const QString ¤tFilter = m_itemToFilter.value(m_ui.filterWidget->currentItem()); - if (currentFilter.isEmpty()) - return; - - if (QMessageBox::question(this, tr("Remove Filter"), - tr("Are you sure you want to remove the \"%1\" filter?") - .arg(currentFilter), - QMessageBox::Yes | QMessageBox::No) - != QMessageBox::Yes) { - return; - } - - removeFilter(currentFilter); - - if (m_currentSetup.m_currentFilter == currentFilter) - m_currentSetup.m_currentFilter.clear(); -} - -void PreferencesDialog::addFilter(const QString &filterName, - const QHelpFilterData &filterData) -{ - QListWidgetItem *item = new QListWidgetItem(filterName); - m_currentSetup.m_filterToData.insert(filterName, filterData); - m_filterToItem.insert(filterName, item); - m_itemToFilter.insert(item, filterName); - m_ui.filterWidget->insertItem(m_filterToItem.keys().indexOf(filterName), item); - - m_ui.filterWidget->setCurrentItem(item); - updateCurrentFilter(); -} - -void PreferencesDialog::removeFilter(const QString &filterName) -{ - QListWidgetItem *item = m_filterToItem.value(filterName); - m_itemToFilter.remove(item); - m_filterToItem.remove(filterName); - delete item; - - m_currentSetup.m_filterToData.remove(filterName); -} - -void PreferencesDialog::addDocumentation() -{ - const QStringList &fileNames = QFileDialog::getOpenFileNames(this, - tr("Add Documentation"), QString(), tr("Qt Compressed Help Files (*.qch)")); - if (fileNames.isEmpty()) - return; - - bool added = false; - - for (const QString &fileName : fileNames) { - const QCompressedHelpInfo info = QCompressedHelpInfo::fromCompressedHelpFile(fileName); - const QString namespaceName = info.namespaceName(); - - if (m_currentSetup.m_namespaceToFileName.contains(namespaceName)) - continue; - - if (m_currentSetup.m_fileNameToNamespace.contains(fileName)) - continue; - - const QString component = info.component(); - const QVersionNumber version = info.version(); - - m_currentSetup.m_namespaceToFileName.insert(namespaceName, fileName); - m_currentSetup.m_fileNameToNamespace.insert(fileName, namespaceName); - - m_currentSetup.m_namespaceToComponent.insert(namespaceName, component); - m_currentSetup.m_componentToNamespace[component].append(namespaceName); - - m_currentSetup.m_namespaceToVersion.insert(namespaceName, version); - m_currentSetup.m_versionToNamespace[version].append(namespaceName); - - if (!added) { - added = true; - m_ui.registeredDocsListWidget->clearSelection(); - } - - QListWidgetItem *item = new QListWidgetItem(namespaceName); - m_namespaceToItem.insert(namespaceName, item); - m_itemToNamespace.insert(item, namespaceName); - m_ui.registeredDocsListWidget->insertItem(m_namespaceToItem.keys().indexOf(namespaceName), item); - item->setSelected(true); - applyDocListFilter(item); - } - - if (added) - updateCurrentFilter(); -} - -void PreferencesDialog::removeDocumentation() -{ - const QList selectedItems = m_ui.registeredDocsListWidget->selectedItems(); - if (selectedItems.isEmpty()) - return; - - for (QListWidgetItem *item : selectedItems) { - const QString namespaceName = m_itemToNamespace.value(item); - m_itemToNamespace.remove(item); - m_namespaceToItem.remove(namespaceName); - delete item; - - const QString fileName = m_currentSetup.m_namespaceToFileName.value(namespaceName); - const QString component = m_currentSetup.m_namespaceToComponent.value(namespaceName); - const QVersionNumber version = m_currentSetup.m_namespaceToVersion.value(namespaceName); - m_currentSetup.m_namespaceToComponent.remove(namespaceName); - m_currentSetup.m_namespaceToVersion.remove(namespaceName); - m_currentSetup.m_namespaceToFileName.remove(namespaceName); - m_currentSetup.m_fileNameToNamespace.remove(fileName); - m_currentSetup.m_componentToNamespace[component].removeOne(namespaceName); - if (m_currentSetup.m_componentToNamespace[component].isEmpty()) - m_currentSetup.m_componentToNamespace.remove(component); - m_currentSetup.m_versionToNamespace[version].removeOne(namespaceName); - if (m_currentSetup.m_versionToNamespace[version].isEmpty()) - m_currentSetup.m_versionToNamespace.remove(version); - } - - updateCurrentFilter(); -} - void PreferencesDialog::okClicked() { applyChanges(); @@ -486,74 +105,27 @@ void PreferencesDialog::okClicked() void PreferencesDialog::applyClicked() { applyChanges(); - m_originalSetup = readOriginalSetup(); - m_currentSetup = m_originalSetup; - updateDocumentationPage(); - updateFilterPage(); -} -template -static QMap subtract(const QMap &minuend, - const QMap &subtrahend) -{ - QMap result = minuend; + m_docSettings = HelpDocSettings::readSettings(helpEngine.helpEngine()); - for (auto itSubtrahend = subtrahend.cbegin(); itSubtrahend != subtrahend.cend(); ++itSubtrahend) { - auto itResult = result.find(itSubtrahend.key()); - if (itResult != result.end() && itSubtrahend.value() == itResult.value()) - result.erase(itResult); + if (!m_hideDocsTab) + m_ui.docSettingsWidget->setDocSettings(m_docSettings); + if (!m_hideFiltersTab) { + m_ui.filterSettingsWidget->setAvailableComponents(m_docSettings.components()); + m_ui.filterSettingsWidget->setAvailableVersions(m_docSettings.versions()); + m_ui.filterSettingsWidget->readSettings(helpEngine.filterEngine()); } - - return result; } void PreferencesDialog::applyChanges() { bool changed = false; - - const QMap docsToRemove = subtract( - m_originalSetup.m_namespaceToFileName, - m_currentSetup.m_namespaceToFileName); - const QMap docsToAdd = subtract( - m_currentSetup.m_namespaceToFileName, - m_originalSetup.m_namespaceToFileName); - - for (const QString &namespaceName : docsToRemove.keys()) { - if (!helpEngine.unregisterDocumentation(namespaceName)) - qWarning() << "Cannot unregister documentation:" << namespaceName; - changed = true; - } - - for (const QString &fileName : docsToAdd.values()) { - if (!helpEngine.registerDocumentation(fileName)) - qWarning() << "Cannot register documentation file:" << fileName; - changed = true; - } - - const QMap filtersToRemove = subtract( - m_originalSetup.m_filterToData, - m_currentSetup.m_filterToData); - const QMap filtersToAdd = subtract( - m_currentSetup.m_filterToData, - m_originalSetup.m_filterToData); - - const QString ¤tFilter = helpEngine.filterEngine()->activeFilter(); - - for (const QString &filter : filtersToRemove.keys()) { - helpEngine.filterEngine()->removeFilter(filter); - if (currentFilter == filter && !filtersToAdd.contains(filter)) - helpEngine.filterEngine()->setActiveFilter(QString()); - changed = true; - } - - for (auto it = filtersToAdd.cbegin(); it != filtersToAdd.cend(); ++it) { - helpEngine.filterEngine()->setFilterData(it.key(), it.value()); - changed = true; - } + if (!m_hideDocsTab) + changed = HelpDocSettings::applySettings(helpEngine.helpEngine(), m_docSettings); + if (!m_hideFiltersTab) + changed = changed || m_ui.filterSettingsWidget->applySettings(helpEngine.filterEngine()); if (changed) { - helpEngine.filterEngine()->setActiveFilter(m_currentSetup.m_currentFilter); - // In order to update the filtercombobox and indexwidget // according to the new filter configuration. helpEngine.setupData(); diff --git a/src/assistant/assistant/preferencesdialog.h b/src/assistant/assistant/preferencesdialog.h index b0601e280..a65066fde 100644 --- a/src/assistant/assistant/preferencesdialog.h +++ b/src/assistant/assistant/preferencesdialog.h @@ -29,31 +29,17 @@ #ifndef PREFERENCESDIALOG_H #define PREFERENCESDIALOG_H -#include +#include #include #include #include "ui_preferencesdialog.h" +#include "helpdocsettings.h" QT_BEGIN_NAMESPACE class FontPanel; class HelpEngineWrapper; class QFileSystemWatcher; -class QVersionNumber; - -struct FilterSetup { - QMap m_namespaceToComponent; - QMap m_componentToNamespace; - - QMap m_namespaceToVersion; - QMap m_versionToNamespace; - - QMap m_namespaceToFileName; - QMap m_fileNameToNamespace; - - QMap m_filterToData; - QString m_currentFilter; -}; class PreferencesDialog : public QDialog { @@ -63,17 +49,6 @@ public: PreferencesDialog(QWidget *parent = nullptr); private slots: - void filterSelected(QListWidgetItem *item); - void componentsChanged(const QStringList &components); - void versionsChanged(const QStringList &versions); - void addFilterClicked(); - void renameFilterClicked(); - void removeFilterClicked(); - void addFilter(const QString &filterName, - const QHelpFilterData &filterData = QHelpFilterData()); - void removeFilter(const QString &filterName); - void addDocumentation(); - void removeDocumentation(); void okClicked(); void applyClicked(); void applyChanges(); @@ -92,28 +67,12 @@ signals: void updateUserInterface(); private: - QString suggestedNewFilterName(const QString &initialFilterName) const; - QString getUniqueFilterName(const QString &windowTitle, - const QString &initialFilterName = QString()); - void applyDocListFilter(QListWidgetItem *item); - - void updateFilterPage(); - void updateCurrentFilter(); - void updateDocumentationPage(); void updateFontSettingsPage(); void updateOptionsPage(); - FilterSetup readOriginalSetup() const; Ui::PreferencesDialogClass m_ui; - FilterSetup m_originalSetup; - FilterSetup m_currentSetup; - - QMap m_namespaceToItem; - QHash m_itemToNamespace; - - QMap m_filterToItem; - QHash m_itemToFilter; + HelpDocSettings m_docSettings; FontPanel *m_appFontPanel; FontPanel *m_browserFontPanel; diff --git a/src/assistant/assistant/preferencesdialog.ui b/src/assistant/assistant/preferencesdialog.ui index 68dbf68e2..2d1c480a6 100644 --- a/src/assistant/assistant/preferencesdialog.ui +++ b/src/assistant/assistant/preferencesdialog.ui @@ -7,7 +7,7 @@ 0 0 395 - 341 + 376
          @@ -17,7 +17,7 @@ - 1 + 2 @@ -69,60 +69,21 @@ Filters - - - - - QFrame::NoFrame - - - Components: - - - - - - - Versions: - - - - - - - - - - - - - - - - Add... - - - - - - - Rename... - - - - - - - Remove - - - - - - - Filter: - - + + + 0 + + + 0 + + + 0 + + + 0 + + + @@ -130,61 +91,21 @@ Documentation - - - - - Registered Documentation: - - - - - - - <Filter> - - - true - - - - - - - - - Add... - - - - - - - Remove - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - QAbstractItemView::ExtendedSelection - - + + + 0 + + + 0 + + + 0 + + + 0 + + + @@ -359,9 +280,15 @@ - OptionsWidget + HelpDocSettingsWidget + QWidget +
          helpdocsettingswidget.h
          + 1 +
          + + QHelpFilterSettingsWidget QWidget -
          optionswidget.h
          +
          qhelpfiltersettingswidget.h
          1
          -- cgit v1.2.3 From 52426921408078c4e4bc749eb37cd10a5b1aa300 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 6 Sep 2019 11:37:58 +0200 Subject: Assistant: Remove unused stuff Change-Id: I89134948df20e0b546ca6ef835da4a678fd579b2 Reviewed-by: Karsten Heimrich --- src/assistant/assistant/assistant.pro | 5 - src/assistant/assistant/assistant_images.qrc | 4 - src/assistant/assistant/filternamedialog.cpp | 65 -------- src/assistant/assistant/filternamedialog.h | 56 ------- src/assistant/assistant/filternamedialog.ui | 55 ------- src/assistant/assistant/images/mac/minus.png | Bin 488 -> 0 bytes src/assistant/assistant/images/mac/plus.png | Bin 810 -> 0 bytes src/assistant/assistant/images/win/minus.png | Bin 429 -> 0 bytes src/assistant/assistant/images/win/plus.png | Bin 709 -> 0 bytes src/assistant/assistant/optionswidget.cpp | 234 --------------------------- src/assistant/assistant/optionswidget.h | 76 --------- 11 files changed, 495 deletions(-) delete mode 100644 src/assistant/assistant/filternamedialog.cpp delete mode 100644 src/assistant/assistant/filternamedialog.h delete mode 100644 src/assistant/assistant/filternamedialog.ui delete mode 100644 src/assistant/assistant/images/mac/minus.png delete mode 100644 src/assistant/assistant/images/mac/plus.png delete mode 100644 src/assistant/assistant/images/win/minus.png delete mode 100644 src/assistant/assistant/images/win/plus.png delete mode 100644 src/assistant/assistant/optionswidget.cpp delete mode 100644 src/assistant/assistant/optionswidget.h diff --git a/src/assistant/assistant/assistant.pro b/src/assistant/assistant/assistant.pro index b68447b5b..5da0b0077 100644 --- a/src/assistant/assistant/assistant.pro +++ b/src/assistant/assistant/assistant.pro @@ -23,7 +23,6 @@ HEADERS += aboutdialog.h \ cmdlineparser.h \ contentwindow.h \ findwidget.h \ - filternamedialog.h \ helpdocsettings.h \ helpdocsettingswidget.h \ helpenginewrapper.h \ @@ -32,7 +31,6 @@ HEADERS += aboutdialog.h \ helpviewer_p.h \ indexwindow.h \ mainwindow.h \ - optionswidget.h \ preferencesdialog.h \ qtdocinstaller.h \ remotecontrol.h \ @@ -58,7 +56,6 @@ SOURCES += aboutdialog.cpp \ cmdlineparser.cpp \ contentwindow.cpp \ findwidget.cpp \ - filternamedialog.cpp \ helpdocsettings.cpp \ helpdocsettingswidget.cpp \ helpenginewrapper.cpp \ @@ -67,7 +64,6 @@ SOURCES += aboutdialog.cpp \ indexwindow.cpp \ main.cpp \ mainwindow.cpp \ - optionswidget.cpp \ preferencesdialog.cpp \ qtdocinstaller.cpp \ remotecontrol.cpp \ @@ -101,7 +97,6 @@ win32 { FORMS += bookmarkdialog.ui \ bookmarkmanagerwidget.ui \ bookmarkwidget.ui \ - filternamedialog.ui \ helpdocsettingswidget.ui \ preferencesdialog.ui \ topicchooser.ui diff --git a/src/assistant/assistant/assistant_images.qrc b/src/assistant/assistant/assistant_images.qrc index e55b6b27e..948de970f 100644 --- a/src/assistant/assistant/assistant_images.qrc +++ b/src/assistant/assistant/assistant_images.qrc @@ -10,9 +10,7 @@ images/mac/editcopy.png images/mac/find.png images/mac/home.png - images/mac/minus.png images/mac/next.png - images/mac/plus.png images/mac/previous.png images/mac/print.png images/mac/synctoc.png @@ -25,9 +23,7 @@ images/win/editcopy.png images/win/find.png images/win/home.png - images/win/minus.png images/win/next.png - images/win/plus.png images/win/previous.png images/win/print.png images/win/synctoc.png diff --git a/src/assistant/assistant/filternamedialog.cpp b/src/assistant/assistant/filternamedialog.cpp deleted file mode 100644 index 4c17d3332..000000000 --- a/src/assistant/assistant/filternamedialog.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Assistant of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include - -#include "filternamedialog.h" - -QT_BEGIN_NAMESPACE - -FilterNameDialog::FilterNameDialog(QWidget *parent) - : QDialog(parent) -{ - m_ui.setupUi(this); - connect(m_ui.buttonBox->button(QDialogButtonBox::Ok), &QAbstractButton::clicked, - this, &QDialog::accept); - connect(m_ui.buttonBox->button(QDialogButtonBox::Cancel), &QAbstractButton::clicked, - this, &QDialog::reject); - connect(m_ui.lineEdit, &QLineEdit::textChanged, - this, &FilterNameDialog::updateOkButton); - m_ui.buttonBox->button(QDialogButtonBox::Ok)->setDisabled(true); -} - -void FilterNameDialog::setFilterName(const QString &filter) -{ - m_ui.lineEdit->setText(filter); - m_ui.lineEdit->selectAll(); -} - -QString FilterNameDialog::filterName() const -{ - return m_ui.lineEdit->text(); -} - -void FilterNameDialog::updateOkButton() -{ - m_ui.buttonBox->button(QDialogButtonBox::Ok) - ->setDisabled(m_ui.lineEdit->text().isEmpty()); -} - -QT_END_NAMESPACE diff --git a/src/assistant/assistant/filternamedialog.h b/src/assistant/assistant/filternamedialog.h deleted file mode 100644 index 522b611af..000000000 --- a/src/assistant/assistant/filternamedialog.h +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Assistant of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef FILTERNAMEDIALOG_H -#define FILTERNAMEDIALOG_H - -#include -#include "ui_filternamedialog.h" - -QT_BEGIN_NAMESPACE - -class FilterNameDialog : public QDialog -{ - Q_OBJECT - -public: - FilterNameDialog(QWidget *parent = nullptr); - - void setFilterName(const QString &filter); - QString filterName() const; - -private slots: - void updateOkButton(); - -private: - Ui::FilterNameDialogClass m_ui; -}; - -QT_END_NAMESPACE - -#endif // FILTERNAMEDIALOG_H diff --git a/src/assistant/assistant/filternamedialog.ui b/src/assistant/assistant/filternamedialog.ui deleted file mode 100644 index 1da584a80..000000000 --- a/src/assistant/assistant/filternamedialog.ui +++ /dev/null @@ -1,55 +0,0 @@ - - - FilterNameDialogClass - - - - 0 - 0 - 312 - 77 - - - - Add Filter - - - - - - Filter Name: - - - - - - - - - - Qt::Vertical - - - - 20 - 1 - - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - - - diff --git a/src/assistant/assistant/images/mac/minus.png b/src/assistant/assistant/images/mac/minus.png deleted file mode 100644 index 8d2eaed52..000000000 Binary files a/src/assistant/assistant/images/mac/minus.png and /dev/null differ diff --git a/src/assistant/assistant/images/mac/plus.png b/src/assistant/assistant/images/mac/plus.png deleted file mode 100644 index 1ee45423e..000000000 Binary files a/src/assistant/assistant/images/mac/plus.png and /dev/null differ diff --git a/src/assistant/assistant/images/win/minus.png b/src/assistant/assistant/images/win/minus.png deleted file mode 100644 index c0dc274bb..000000000 Binary files a/src/assistant/assistant/images/win/minus.png and /dev/null differ diff --git a/src/assistant/assistant/images/win/plus.png b/src/assistant/assistant/images/win/plus.png deleted file mode 100644 index ecf058941..000000000 Binary files a/src/assistant/assistant/images/win/plus.png and /dev/null differ diff --git a/src/assistant/assistant/optionswidget.cpp b/src/assistant/assistant/optionswidget.cpp deleted file mode 100644 index bc089c5bf..000000000 --- a/src/assistant/assistant/optionswidget.cpp +++ /dev/null @@ -1,234 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2018 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Assistant of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "optionswidget.h" - -#include -#include -#include -#include - -#include - -QT_BEGIN_NAMESPACE - -class ListWidgetDelegate : public QItemDelegate -{ -// Q_OBJECT not needed -public: - ListWidgetDelegate(QWidget *w) : QItemDelegate(w), m_widget(w) {} - - static bool isSeparator(const QModelIndex &index) { - return index.data(Qt::AccessibleDescriptionRole).toString() == QLatin1String("separator"); - } - static void setSeparator(QListWidgetItem *item) { - item->setData(Qt::AccessibleDescriptionRole, QString::fromLatin1("separator")); - item->setFlags(item->flags() & ~(Qt::ItemIsSelectable|Qt::ItemIsEnabled)); - } - -protected: - void paint(QPainter *painter, - const QStyleOptionViewItem &option, - const QModelIndex &index) const override { - if (isSeparator(index)) { - QRect rect = option.rect; - if (const QAbstractItemView *view = qobject_cast(option.widget)) - rect.setWidth(view->viewport()->width()); - QStyleOption opt; - opt.rect = rect; - m_widget->style()->drawPrimitive(QStyle::PE_IndicatorToolBarSeparator, &opt, painter, m_widget); - } else { - QItemDelegate::paint(painter, option, index); - } - } - - QSize sizeHint(const QStyleOptionViewItem &option, - const QModelIndex &index) const override { - if (isSeparator(index)) { - int pm = m_widget->style()->pixelMetric(QStyle::PM_DefaultFrameWidth, nullptr, m_widget); - return QSize(pm, pm); - } - return QItemDelegate::sizeHint(option, index); - } -private: - QWidget *m_widget; -}; - -static QStringList subtract(const QStringList &minuend, const QStringList &subtrahend) -{ - QStringList result = minuend; - for (const QString &str : subtrahend) - result.removeOne(str); - return result; -} - -///////////////// - -OptionsWidget::OptionsWidget(QWidget *parent) - : QWidget(parent) - , m_noOptionText(tr("No Option")) - , m_invalidOptionText(tr("Invalid Option")) -{ - m_listWidget = new QListWidget(this); - m_listWidget->setItemDelegate(new ListWidgetDelegate(m_listWidget)); - QVBoxLayout *layout = new QVBoxLayout(this); - layout->addWidget(m_listWidget); - layout->setContentsMargins(QMargins()); - - connect(m_listWidget, &QListWidget::itemChanged, this, &OptionsWidget::itemChanged); -} - -void OptionsWidget::clear() -{ - setOptions(QStringList(), QStringList()); -} - -void OptionsWidget::setOptions(const QStringList &validOptions, - const QStringList &selectedOptions) -{ - m_listWidget->clear(); - m_optionToItem.clear(); - m_itemToOption.clear(); - - m_validOptions = validOptions; - m_validOptions.removeDuplicates(); - std::sort(m_validOptions.begin(), m_validOptions.end()); - - m_selectedOptions = selectedOptions; - m_selectedOptions.removeDuplicates(); - std::sort(m_selectedOptions.begin(), m_selectedOptions.end()); - - m_invalidOptions = subtract(m_selectedOptions, m_validOptions); - const QStringList validSelectedOptions = subtract(m_selectedOptions, m_invalidOptions); - const QStringList validUnselectedOptions = subtract(m_validOptions, m_selectedOptions); - - for (const QString &option : validSelectedOptions) - appendItem(option, true, true); - - for (const QString &option : m_invalidOptions) - appendItem(option, false, true); - - if ((validSelectedOptions.count() + m_invalidOptions.count()) - && validUnselectedOptions.count()) { - appendSeparator(); - } - - for (const QString &option : validUnselectedOptions) { - appendItem(option, true, false); - if (option.isEmpty() && validUnselectedOptions.count() > 1) // special No Option item - appendSeparator(); - } -} - -QStringList OptionsWidget::validOptions() const -{ - return m_validOptions; -} - -QStringList OptionsWidget::selectedOptions() const -{ - return m_selectedOptions; -} - -void OptionsWidget::setNoOptionText(const QString &text) -{ - if (m_noOptionText == text) - return; - - m_noOptionText = text; - - // update GUI - const auto itEnd = m_optionToItem.constEnd(); - for (auto it = m_optionToItem.constBegin(); it != itEnd; ++it) { - const QString optionName = it.key(); - if (optionName.isEmpty()) - it.value()->setText(optionText(optionName, m_validOptions.contains(optionName))); - } -} - -void OptionsWidget::setInvalidOptionText(const QString &text) -{ - if (m_invalidOptionText == text) - return; - - m_invalidOptionText = text; - - // update GUI - for (const QString &option : m_invalidOptions) - m_optionToItem.value(option)->setText(optionText(option, false)); -} - -QString OptionsWidget::optionText(const QString &optionName, bool valid) const -{ - QString text = optionName; - if (optionName.isEmpty()) - text = QLatin1Char('[') + m_noOptionText + QLatin1Char(']'); - if (!valid) - text += QLatin1String("\t[") + m_invalidOptionText + QLatin1Char(']'); - return text; -} - -QListWidgetItem *OptionsWidget::appendItem(const QString &optionName, bool valid, bool selected) -{ - QListWidgetItem *optionItem = new QListWidgetItem(optionText(optionName, valid), m_listWidget); - optionItem->setCheckState(selected ? Qt::Checked : Qt::Unchecked); - m_listWidget->insertItem(m_listWidget->count(), optionItem); - m_optionToItem[optionName] = optionItem; - m_itemToOption[optionItem] = optionName; - return optionItem; -} - -void OptionsWidget::appendSeparator() -{ - QListWidgetItem *separatorItem = new QListWidgetItem(m_listWidget); - ListWidgetDelegate::setSeparator(separatorItem); - m_listWidget->insertItem(m_listWidget->count(), separatorItem); -} - -void OptionsWidget::itemChanged(QListWidgetItem *item) -{ - const auto it = m_itemToOption.constFind(item); - if (it == m_itemToOption.constEnd()) - return; - - const QString option = *it; - - if (item->checkState() == Qt::Checked && !m_selectedOptions.contains(option)) { - m_selectedOptions.append(option); - std::sort(m_selectedOptions.begin(), m_selectedOptions.end()); - } else if (item->checkState() == Qt::Unchecked && m_selectedOptions.contains(option)) { - m_selectedOptions.removeOne(option); - } else { - return; - } - - emit optionSelectionChanged(m_selectedOptions); -} - - -QT_END_NAMESPACE diff --git a/src/assistant/assistant/optionswidget.h b/src/assistant/assistant/optionswidget.h deleted file mode 100644 index 52c876bad..000000000 --- a/src/assistant/assistant/optionswidget.h +++ /dev/null @@ -1,76 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2018 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Assistant of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef OPTIONSWIDGET_H -#define OPTIONSWIDGET_H - -#include -#include - -QT_BEGIN_NAMESPACE - -class QListWidget; -class QListWidgetItem; - -class OptionsWidget : public QWidget -{ - Q_OBJECT -public: - OptionsWidget(QWidget *parent = nullptr); - - void clear(); - void setOptions(const QStringList &validOptions, - const QStringList &selectedOptions); - QStringList validOptions() const; - QStringList selectedOptions() const; - - void setNoOptionText(const QString &text); - void setInvalidOptionText(const QString &text); - -signals: - void optionSelectionChanged(const QStringList &options); - -private: - QString optionText(const QString &optionName, bool valid) const; - QListWidgetItem *appendItem(const QString &optionName, bool valid, bool selected); - void appendSeparator(); - void itemChanged(QListWidgetItem *item); - - QListWidget *m_listWidget = nullptr; - QString m_noOptionText; - QString m_invalidOptionText; - QStringList m_validOptions; - QStringList m_invalidOptions; - QStringList m_selectedOptions; - QMap m_optionToItem; - QMap m_itemToOption; -}; - -QT_END_NAMESPACE - -#endif // OPTIONSWIDGET_H -- cgit v1.2.3 From c68e0ef22623452ce348c19aa0a7369c064a23d7 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 28 Nov 2019 09:30:45 +0100 Subject: Remove two potential instances of help engine before exec() Change-Id: I74c016fdfbe9d6fad13cad5819a38a4ffd3f16c5 Reviewed-by: Karsten Heimrich Reviewed-by: Christian Kandeler --- src/assistant/assistant/main.cpp | 162 ++++++++++++++++++++++----------------- 1 file changed, 90 insertions(+), 72 deletions(-) diff --git a/src/assistant/assistant/main.cpp b/src/assistant/assistant/main.cpp index 3ddbdbc29..cd6487751 100644 --- a/src/assistant/assistant/main.cpp +++ b/src/assistant/assistant/main.cpp @@ -265,69 +265,49 @@ void setupTranslations() } // Anonymous namespace. -int main(int argc, char *argv[]) -{ - QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); - QCoreApplication::setAttribute(Qt::AA_DisableWindowContextHelpButton); - TRACE_OBJ - QScopedPointer a(createApplication(argc, argv)); -#if QT_CONFIG(library) - a->addLibraryPath(a->applicationDirPath() + QLatin1String("/plugins")); -#endif - setupTranslations(); - -#if defined(BROWSER_QTWEBKIT) - if (qobject_cast(a.data())) { - QFont f; - f.setStyleHint(QFont::SansSerif); - QWebSettings::globalSettings()->setFontFamily(QWebSettings::StandardFont, f.defaultFamily()); - } -#endif // BROWSER_QTWEBKIT - - // Parse arguments. - CmdLineParser cmd(a->arguments()); - CmdLineParser::Result res = cmd.parse(); - if (res == CmdLineParser::Help) - return 0; - else if (res == CmdLineParser::Error) - return -1; +enum ExitStatus { + ExitSuccess = 0, + ExitFailure, + NoExit +}; +static ExitStatus preliminarySetup(CmdLineParser *cmd) +{ /* * Create the collection objects that we need. We always have the * cached collection file. Depending on whether the user specified * one, we also may have an input collection file. */ - const QString collectionFile = cmd.collectionFile(); + const QString collectionFile = cmd->collectionFile(); const bool collectionFileGiven = !collectionFile.isEmpty(); QScopedPointer collection; if (collectionFileGiven) { collection.reset(new QHelpEngineCore(collectionFile)); collection->setProperty("_q_readonly", QVariant::fromValue(true)); if (!collection->setupData()) { - cmd.showMessage(QCoreApplication::translate("Assistant", - "Error reading collection file '%1': %2."). - arg(collectionFile).arg(collection->error()), true); - return EXIT_FAILURE; + cmd->showMessage(QCoreApplication::translate("Assistant", + "Error reading collection file '%1': %2.") + .arg(collectionFile).arg(collection->error()), true); + return ExitFailure; } } const QString &cachedCollectionFile = collectionFileGiven - ? constructCachedCollectionFilePath(*collection) - : MainWindow::defaultHelpCollectionFileName(); + ? constructCachedCollectionFilePath(*collection) + : MainWindow::defaultHelpCollectionFileName(); if (collectionFileGiven && !QFileInfo(cachedCollectionFile).exists() - && !collection->copyCollectionFile(cachedCollectionFile)) { - cmd.showMessage(QCoreApplication::translate("Assistant", - "Error creating collection file '%1': %2."). - arg(cachedCollectionFile).arg(collection->error()), true); - return EXIT_FAILURE; + && !collection->copyCollectionFile(cachedCollectionFile)) { + cmd->showMessage(QCoreApplication::translate("Assistant", + "Error creating collection file '%1': %2.") + .arg(cachedCollectionFile).arg(collection->error()), true); + return ExitFailure; } QHelpEngineCore cachedCollection(cachedCollectionFile); if (!cachedCollection.setupData()) { - cmd.showMessage(QCoreApplication::translate("Assistant", - "Error reading collection file '%1': %2."). - arg(cachedCollectionFile). - arg(cachedCollection.error()), true); - return EXIT_FAILURE; + cmd->showMessage(QCoreApplication::translate("Assistant", + "Error reading collection file '%1': %2.") + .arg(cachedCollectionFile) + .arg(cachedCollection.error()), true); + return ExitFailure; } stripNonexistingDocs(cachedCollection); @@ -335,56 +315,94 @@ int main(int argc, char *argv[]) if (CollectionConfiguration::isNewer(*collection, cachedCollection)) CollectionConfiguration::copyConfiguration(*collection, cachedCollection); - if (!synchronizeDocs(*collection, cachedCollection, cmd)) - return EXIT_FAILURE; + if (!synchronizeDocs(*collection, cachedCollection, *cmd)) + return ExitFailure; } - if (cmd.registerRequest() != CmdLineParser::None) { + if (cmd->registerRequest() != CmdLineParser::None) { const QStringList &cachedDocs = - cachedCollection.registeredDocumentations(); + cachedCollection.registeredDocumentations(); const QString &namespaceName = - QHelpEngineCore::namespaceName(cmd.helpFile()); - if (cmd.registerRequest() == CmdLineParser::Register) { + QHelpEngineCore::namespaceName(cmd->helpFile()); + if (cmd->registerRequest() == CmdLineParser::Register) { if (collectionFileGiven - && !registerDocumentation(*collection, cmd, true)) - return EXIT_FAILURE; + && !registerDocumentation(*collection, *cmd, true)) + return ExitFailure; if (!cachedDocs.contains(namespaceName) - && !registerDocumentation(cachedCollection, cmd, !collectionFileGiven)) - return EXIT_FAILURE; - return EXIT_SUCCESS; + && !registerDocumentation(cachedCollection, *cmd, !collectionFileGiven)) + return ExitFailure; + return ExitSuccess; } - if (cmd.registerRequest() == CmdLineParser::Unregister) { + if (cmd->registerRequest() == CmdLineParser::Unregister) { if (collectionFileGiven - && !unregisterDocumentation(*collection, namespaceName, cmd, true)) - return EXIT_FAILURE; + && !unregisterDocumentation(*collection, namespaceName, *cmd, true)) + return ExitFailure; if (cachedDocs.contains(namespaceName) - && !unregisterDocumentation(cachedCollection, namespaceName, - cmd, !collectionFileGiven)) - return EXIT_FAILURE; - return EXIT_SUCCESS; + && !unregisterDocumentation(cachedCollection, namespaceName, + *cmd, !collectionFileGiven)) + return ExitFailure; + return ExitSuccess; } } - if (cmd.removeSearchIndex()) { + if (cmd->removeSearchIndex()) { return removeSearchIndex(cachedCollectionFile) - ? EXIT_SUCCESS : EXIT_FAILURE; + ? ExitSuccess : ExitFailure; } if (!QSqlDatabase::isDriverAvailable(QLatin1String("QSQLITE"))) { - cmd.showMessage(QCoreApplication::translate("Assistant", - "Cannot load sqlite database driver!"), - true); - return EXIT_FAILURE; + cmd->showMessage(QCoreApplication::translate("Assistant", + "Cannot load sqlite database driver!"), + true); + return ExitFailure; } - if (!cmd.currentFilter().isEmpty()) { + if (!cmd->currentFilter().isEmpty()) { if (collectionFileGiven) - collection->setCurrentFilter(cmd.currentFilter()); - cachedCollection.setCurrentFilter(cmd.currentFilter()); + collection->setCurrentFilter(cmd->currentFilter()); + cachedCollection.setCurrentFilter(cmd->currentFilter()); } if (collectionFileGiven) - cmd.setCollectionFile(cachedCollectionFile); + cmd->setCollectionFile(cachedCollectionFile); + + return NoExit; +} + +int main(int argc, char *argv[]) +{ + QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); + QCoreApplication::setAttribute(Qt::AA_DisableWindowContextHelpButton); + TRACE_OBJ + QScopedPointer a(createApplication(argc, argv)); +#if QT_CONFIG(library) + a->addLibraryPath(a->applicationDirPath() + QLatin1String("/plugins")); +#endif + setupTranslations(); + +#if defined(BROWSER_QTWEBKIT) + if (qobject_cast(a.data())) { + QFont f; + f.setStyleHint(QFont::SansSerif); + QWebSettings::globalSettings()->setFontFamily(QWebSettings::StandardFont, f.defaultFamily()); + } +#endif // BROWSER_QTWEBKIT + + // Parse arguments. + CmdLineParser cmd(a->arguments()); + CmdLineParser::Result res = cmd.parse(); + if (res == CmdLineParser::Help) + return 0; + else if (res == CmdLineParser::Error) + return -1; + + const ExitStatus status = preliminarySetup(&cmd); + switch (status) { + case ExitFailure: return EXIT_FAILURE; + case ExitSuccess: return EXIT_SUCCESS; + default: break; + } MainWindow *w = new MainWindow(&cmd); w->show(); -- cgit v1.2.3 From ade15563a6c7613b58201e6e05e3f67fde3f6056 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 10 Jan 2020 12:49:50 +0100 Subject: Don't use deprecated QMatrix class anymore Task-number: QTBUG-46653 Change-Id: I62145c2ecb97a5f3538502303fbdb81ad33aded7 Reviewed-by: Friedemann Kleint --- src/designer/src/lib/shared/connectionedit.cpp | 4 ++-- src/designer/src/lib/shared/previewmanager.cpp | 14 +++++++------- src/designer/src/lib/shared/zoomwidget.cpp | 2 +- src/shared/deviceskin/deviceskin.cpp | 4 ++-- src/shared/deviceskin/deviceskin.h | 4 ++-- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/designer/src/lib/shared/connectionedit.cpp b/src/designer/src/lib/shared/connectionedit.cpp index 35b3bbf94..5e43607d4 100644 --- a/src/designer/src/lib/shared/connectionedit.cpp +++ b/src/designer/src/lib/shared/connectionedit.cpp @@ -35,7 +35,7 @@ #include #include #include -#include +#include #include #include #include @@ -881,7 +881,7 @@ void Connection::updatePixmap(EndPoint::Type type) const LineDir dir = labelDir(type); if (dir == DownDir) - *pm = pm->transformed(QMatrix(0.0, -1.0, 1.0, 0.0, 0.0, 0.0)); + *pm = pm->transformed(QTransform(0.0, -1.0, 1.0, 0.0, 0.0, 0.0)); } void Connection::checkWidgets() diff --git a/src/designer/src/lib/shared/previewmanager.cpp b/src/designer/src/lib/shared/previewmanager.cpp index f7947d938..68466d597 100644 --- a/src/designer/src/lib/shared/previewmanager.cpp +++ b/src/designer/src/lib/shared/previewmanager.cpp @@ -54,7 +54,7 @@ #include #include #include -#include +#include #include #include @@ -169,7 +169,7 @@ protected: virtual void fitWidget(const QSize &size); // Calculate the complete transformation for the skin // (base class implementation provides rotation). - virtual QMatrix skinTransform() const; + virtual QTransform skinTransform() const; private: const QSize m_screenSize; @@ -286,9 +286,9 @@ void PreviewDeviceSkin::fitWidget(const QSize &size) view()->setFixedSize(size); } -QMatrix PreviewDeviceSkin::skinTransform() const +QTransform PreviewDeviceSkin::skinTransform() const { - QMatrix newTransform; + QTransform newTransform; switch (m_direction) { case DirectionUp: break; @@ -342,7 +342,7 @@ signals: protected: void populateContextMenu(QMenu *m) override; - QMatrix skinTransform() const override; + QTransform skinTransform() const override; void fitWidget(const QSize &size) override; private: @@ -415,10 +415,10 @@ void ZoomablePreviewDeviceSkin::populateContextMenu(QMenu *menu) menu->addSeparator(); } -QMatrix ZoomablePreviewDeviceSkin::skinTransform() const +QTransform ZoomablePreviewDeviceSkin::skinTransform() const { // Complete transformation consisting of base class rotation and zoom. - QMatrix rc = PreviewDeviceSkin::skinTransform(); + QTransform rc = PreviewDeviceSkin::skinTransform(); const int zp = zoomPercent(); if (zp != 100) { const qreal factor = zoomFactor(zp); diff --git a/src/designer/src/lib/shared/zoomwidget.cpp b/src/designer/src/lib/shared/zoomwidget.cpp index 7a7ca2afc..9670958ce 100644 --- a/src/designer/src/lib/shared/zoomwidget.cpp +++ b/src/designer/src/lib/shared/zoomwidget.cpp @@ -516,7 +516,7 @@ void ZoomWidget::dump() const { qDebug() << "ZoomWidget::dump " << geometry() << " Viewport " << viewport()->geometry() - << "Scroll: " << scrollPosition() << "Matrix: " << matrix() << " SceneRect: " << sceneRect(); + << "Scroll: " << scrollPosition() << "Transform: " << transform() << " SceneRect: " << sceneRect(); if (m_proxy) { qDebug() << "Proxy Pos: " << m_proxy->pos() << "Proxy " << m_proxy->size() << "\nProxy size hint" diff --git a/src/shared/deviceskin/deviceskin.cpp b/src/shared/deviceskin/deviceskin.cpp index bc594f118..b44f06103 100644 --- a/src/shared/deviceskin/deviceskin.cpp +++ b/src/shared/deviceskin/deviceskin.cpp @@ -474,7 +474,7 @@ DeviceSkin::~DeviceSkin( ) delete cursorw; } -void DeviceSkin::setTransform( const QMatrix& wm ) +void DeviceSkin::setTransform(const QTransform &wm) { transform = QImage::trueMatrix(wm,m_parameters.skinImageUp.width(),m_parameters.skinImageUp.height()); calcRegions(); @@ -488,7 +488,7 @@ void DeviceSkin::setTransform( const QMatrix& wm ) void DeviceSkin::setZoom( double z ) { - setTransform(QMatrix().scale(z,z)); + setTransform(QTransform().scale(z,z)); } void DeviceSkin::updateSecondaryScreen() diff --git a/src/shared/deviceskin/deviceskin.h b/src/shared/deviceskin/deviceskin.h index 348119d96..fcdb88093 100644 --- a/src/shared/deviceskin/deviceskin.h +++ b/src/shared/deviceskin/deviceskin.h @@ -113,7 +113,7 @@ public: void setSecondaryView( QWidget *v ); void setZoom( double ); - void setTransform( const QMatrix& ); + void setTransform(const QTransform &); bool hasCursor() const; @@ -155,7 +155,7 @@ private: QPoint clickPos; bool buttonPressed; int buttonIndex; - QMatrix transform; + QTransform transform; qvfb_internal::CursorWindow *cursorw; bool joydown; -- cgit v1.2.3 From ccdbf30b6ac9180ead6fc22c858b6fac112d493c Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Fri, 3 Jan 2020 23:10:47 +0100 Subject: qdoc: Make Config a singleton There is no need to pass a pointer to Config throughout the API; the only instance of it is created in main() so we can turn it into a singleton. Having access to Config without API changes makes implementation of configurable features easier. Change-Id: Ida47e067865082dfe036a7a97f7f1ffc736db346 Reviewed-by: Paul Wicking --- src/qdoc/clangcodeparser.cpp | 5 +++-- src/qdoc/clangcodeparser.h | 2 +- src/qdoc/codemarker.cpp | 8 ++++---- src/qdoc/codemarker.h | 6 ++---- src/qdoc/codeparser.cpp | 10 +++++----- src/qdoc/codeparser.h | 5 ++--- src/qdoc/config.cpp | 7 +++---- src/qdoc/config.h | 20 +++++++++++++++++--- src/qdoc/cppcodeparser.cpp | 5 +++-- src/qdoc/cppcodeparser.h | 2 +- src/qdoc/doc.cpp | 8 +++----- src/qdoc/doc.h | 5 +---- src/qdoc/docbookgenerator.cpp | 12 +++++++----- src/qdoc/docbookgenerator.h | 4 +--- src/qdoc/generator.cpp | 31 ++++++++++++++++--------------- src/qdoc/generator.h | 12 ++++-------- src/qdoc/helpprojectwriter.cpp | 8 ++++---- src/qdoc/helpprojectwriter.h | 5 ++--- src/qdoc/htmlgenerator.cpp | 17 ++++++++++------- src/qdoc/htmlgenerator.h | 5 ++--- src/qdoc/location.cpp | 5 +++-- src/qdoc/location.h | 3 +-- src/qdoc/main.cpp | 33 ++++++++++++++++++--------------- src/qdoc/qdocindexfiles.cpp | 11 +++++------ src/qdoc/qmlcodeparser.cpp | 9 +++------ src/qdoc/qmlcodeparser.h | 3 +-- src/qdoc/tokenizer.cpp | 3 ++- src/qdoc/tokenizer.h | 2 +- src/qdoc/tree.cpp | 5 ++--- src/qdoc/webxmlgenerator.cpp | 4 ++-- src/qdoc/webxmlgenerator.h | 3 +-- 31 files changed, 130 insertions(+), 128 deletions(-) diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp index 5e04c344e..7d10ae089 100644 --- a/src/qdoc/clangcodeparser.cpp +++ b/src/qdoc/clangcodeparser.cpp @@ -1045,8 +1045,9 @@ ClangCodeParser::~ClangCodeParser() \a config. Call the initializeParser() in the base class. Get the defines list from the qdocconf database. */ -void ClangCodeParser::initializeParser(const Config &config) +void ClangCodeParser::initializeParser() { + Config &config = Config::instance(); printParsingErrors_ = 1; version_ = config.getString(CONFIG_VERSION); const auto args = config.getStringList(CONFIG_INCLUDEPATHS); @@ -1069,7 +1070,7 @@ void ClangCodeParser::initializeParser(const Config &config) path = fi.canonicalFilePath().toUtf8(); return path.prepend("-I"); }); - CppCodeParser::initializeParser(config); + CppCodeParser::initializeParser(); pchFileDir_.reset(nullptr); allHeaders_.clear(); pchName_.clear(); diff --git a/src/qdoc/clangcodeparser.h b/src/qdoc/clangcodeparser.h index b47c5f79c..078d307c2 100644 --- a/src/qdoc/clangcodeparser.h +++ b/src/qdoc/clangcodeparser.h @@ -53,7 +53,7 @@ class ClangCodeParser : public CppCodeParser public: ~ClangCodeParser() override; - void initializeParser(const Config &config) override; + void initializeParser() override; void terminateParser() override; QString language() override; QStringList headerFileNameFilter() override; diff --git a/src/qdoc/codemarker.cpp b/src/qdoc/codemarker.cpp index 000bf97f0..ab8b53039 100644 --- a/src/qdoc/codemarker.cpp +++ b/src/qdoc/codemarker.cpp @@ -66,7 +66,7 @@ CodeMarker::~CodeMarker() A code market performs no initialization by default. Marker-specific initialization is performed in subclasses. */ -void CodeMarker::initializeMarker(const Config &) // config +void CodeMarker::initializeMarker() { } @@ -82,11 +82,11 @@ void CodeMarker::terminateMarker() All the code markers in the static list are initialized here, after the qdoc configuration file has been loaded. */ -void CodeMarker::initialize(const Config &config) +void CodeMarker::initialize() { - defaultLang = config.getString(CONFIG_LANGUAGE); + defaultLang = Config::instance().getString(CONFIG_LANGUAGE); for (const auto &marker : qAsConst(markers)) - marker->initializeMarker(config); + marker->initializeMarker(); } /*! diff --git a/src/qdoc/codemarker.h b/src/qdoc/codemarker.h index e17b82903..094908836 100644 --- a/src/qdoc/codemarker.h +++ b/src/qdoc/codemarker.h @@ -34,15 +34,13 @@ QT_BEGIN_NAMESPACE -class Config; - class CodeMarker { public: CodeMarker(); virtual ~CodeMarker(); - virtual void initializeMarker(const Config &config); + virtual void initializeMarker(); virtual void terminateMarker(); virtual bool recognizeCode(const QString & /*code*/) { return true; } virtual bool recognizeExtension(const QString & /*extension*/) { return true; } @@ -73,7 +71,7 @@ public: virtual QString functionEndRegExp(const QString & /*funcName*/) { return QString(); } virtual QStringList macRefsForNode(Node *node); - static void initialize(const Config &config); + static void initialize(); static void terminate(); static CodeMarker *markerForCode(const QString &code); static CodeMarker *markerForFileName(const QString &fileName); diff --git a/src/qdoc/codeparser.cpp b/src/qdoc/codeparser.cpp index 4f4589823..e9dc3a352 100644 --- a/src/qdoc/codeparser.cpp +++ b/src/qdoc/codeparser.cpp @@ -68,10 +68,10 @@ CodeParser::~CodeParser() /*! Initialize the code parser base class. */ -void CodeParser::initializeParser(const Config &config) +void CodeParser::initializeParser() { - showInternal_ = config.getBool(CONFIG_SHOWINTERNAL); - singleExec_ = config.getBool(CONFIG_SINGLEEXEC); + showInternal_ = Config::instance().getBool(CONFIG_SHOWINTERNAL); + singleExec_ = Config::instance().getBool(CONFIG_SINGLEEXEC); } /*! @@ -96,10 +96,10 @@ void CodeParser::parseHeaderFile(const Location &location, const QString &filePa All the code parsers in the static list are initialized here, after the qdoc configuration variables have been set. */ -void CodeParser::initialize(const Config &config) +void CodeParser::initialize() { for (const auto &parser : qAsConst(parsers)) - parser->initializeParser(config); + parser->initializeParser(); } /*! diff --git a/src/qdoc/codeparser.h b/src/qdoc/codeparser.h index 7e1e551e4..6ab214eb1 100644 --- a/src/qdoc/codeparser.h +++ b/src/qdoc/codeparser.h @@ -35,7 +35,6 @@ QT_BEGIN_NAMESPACE -class Config; class Location; class QString; class QDocDatabase; @@ -48,7 +47,7 @@ public: CodeParser(); virtual ~CodeParser(); - virtual void initializeParser(const Config &config); + virtual void initializeParser(); virtual void terminateParser(); virtual QString language() = 0; virtual QStringList headerFileNameFilter(); @@ -66,7 +65,7 @@ public: void setModuleHeader(const QString &t) { moduleHeader_ = t; } void checkModuleInclusion(Node *n); - static void initialize(const Config &config); + static void initialize(); static void terminate(); static CodeParser *parserForLanguage(const QString &language); static CodeParser *parserForHeaderFile(const QString &filePath); diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp index b4e3ffc8a..620e3dea7 100644 --- a/src/qdoc/config.cpp +++ b/src/qdoc/config.cpp @@ -241,7 +241,6 @@ QString Config::overrideOutputDir; QString Config::installDir; QSet Config::overrideOutputFormats; QMap Config::extractedDirs; -int Config::numInstances; QStack Config::workingDirs_; QMap Config::includeFilesMap_; @@ -254,13 +253,13 @@ QMap Config::includeFilesMap_; */ /*! - The constructor sets the \a programName and initializes all + Initializes the Config with \a programName and sets all internal state variables to either default values or to ones defined in command line arguments \a args. */ -Config::Config(const QString &programName, const QStringList &args) : prog(programName) +void Config::init(const QString &programName, const QStringList &args) { - ++numInstances; + prog = programName; processCommandLineOptions(args); reset(); } diff --git a/src/qdoc/config.h b/src/qdoc/config.h index 451946ecd..0f3baa126 100644 --- a/src/qdoc/config.h +++ b/src/qdoc/config.h @@ -44,6 +44,21 @@ QT_BEGIN_NAMESPACE +template +class Singleton +{ +public: + Singleton(const Singleton &) = delete; + Singleton &operator=(const Singleton &) = delete; + static T &instance() { + static T instance; + return instance; + } + +protected: + Singleton() = default; +}; + /* This struct contains all the information for one config variable found in a qdocconf file. @@ -75,14 +90,14 @@ struct ConfigVar */ typedef QMultiMap ConfigVarMultimap; -class Config +class Config : public Singleton { Q_DECLARE_TR_FUNCTIONS(QDoc::Config) public: - Config(const QString &programName, const QStringList &args); ~Config(); + void init(const QString &programName, const QStringList &args); bool getDebug() const { return debug_; } void clear(); @@ -179,7 +194,6 @@ private: static QMap uncompressedFiles; static QMap extractedDirs; - static int numInstances; static QStack workingDirs_; static QMap includeFilesMap_; QDocCommandLineParser m_parser; diff --git a/src/qdoc/cppcodeparser.cpp b/src/qdoc/cppcodeparser.cpp index 6a5087583..87fade3cc 100644 --- a/src/qdoc/cppcodeparser.cpp +++ b/src/qdoc/cppcodeparser.cpp @@ -90,9 +90,9 @@ CppCodeParser::CppCodeParser() for identifying important nodes. And it initializes some filters for identifying and excluding certain kinds of files. */ -void CppCodeParser::initializeParser(const Config &config) +void CppCodeParser::initializeParser() { - CodeParser::initializeParser(config); + CodeParser::initializeParser(); /* All these can appear in a C++ namespace. Don't add @@ -118,6 +118,7 @@ void CppCodeParser::initializeParser(const Config &config) nodeTypeTestFuncMap_.insert(COMMAND_PROPERTY, &Node::isProperty); nodeTypeTestFuncMap_.insert(COMMAND_VARIABLE, &Node::isVariable); + Config &config = Config::instance(); exampleFiles = config.getCanonicalPathList(CONFIG_EXAMPLES); exampleDirs = config.getCanonicalPathList(CONFIG_EXAMPLEDIRS); QStringList exampleFilePatterns = diff --git a/src/qdoc/cppcodeparser.h b/src/qdoc/cppcodeparser.h index 04e556dc6..41607434f 100644 --- a/src/qdoc/cppcodeparser.h +++ b/src/qdoc/cppcodeparser.h @@ -57,7 +57,7 @@ class CppCodeParser : public CodeParser public: CppCodeParser(); - void initializeParser(const Config &config) override; + void initializeParser() override; void terminateParser() override; QString language() override { return QStringLiteral("Cpp"); } QStringList headerFileNameFilter() override; diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index 89748b0ad..1720fbaeb 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -1567,7 +1567,7 @@ void DocParser::include(const QString &fileName, const QString &identifier) location().fatal(tr("Too many nested '\\%1's").arg(cmdName(CMD_INCLUDE))); QString userFriendlyFilePath; - QString filePath = Doc::config()->getIncludeFilePath(fileName); + QString filePath = Config::instance().getIncludeFilePath(fileName); if (filePath.isEmpty()) { location().warning(tr("Cannot find qdoc include file '%1'").arg(fileName)); } else { @@ -3011,10 +3011,9 @@ const QStringMultiMap &Doc::metaTagMap() const return priv && priv->extra ? priv->extra->metaMap_ : *null_QStringMultiMap(); } -const Config *Doc::config_ = nullptr; - -void Doc::initialize(const Config &config) +void Doc::initialize() { + Config &config = Config::instance(); DocParser::tabSize = config.getInt(CONFIG_TABSIZE); DocParser::exampleFiles = config.getCanonicalPathList(CONFIG_EXAMPLES); DocParser::exampleDirs = config.getCanonicalPathList(CONFIG_EXAMPLEDIRS); @@ -3024,7 +3023,6 @@ void Doc::initialize(const Config &config) QmlTypeNode::qmlOnly = config.getBool(CONFIG_QMLONLY); QStringMap reverseAliasMap; - config_ = &config; for (const auto &a : config.subVars(CONFIG_ALIAS)) { QString alias = config.getString(CONFIG_ALIAS + Config::dot + a); diff --git a/src/qdoc/doc.h b/src/qdoc/doc.h index 758901f1d..c488983ca 100644 --- a/src/qdoc/doc.h +++ b/src/qdoc/doc.h @@ -43,7 +43,6 @@ QT_BEGIN_NAMESPACE class Atom; class CodeMarker; -class Config; class DocPrivate; class Quoter; class Text; @@ -167,7 +166,7 @@ public: const QVector &targets() const; const QStringMultiMap &metaTagMap() const; - static void initialize(const Config &config); + static void initialize(); static void terminate(); static QString alias(const QString &english); static void trimCStyleComment(Location &location, QString &str); @@ -176,12 +175,10 @@ public: static CodeMarker *quoteFromFile(const Location &location, Quoter "er, const QString &fileName); static QString canonicalTitle(const QString &title); - static const Config *config() { return config_; } private: void detach(); DocPrivate *priv; - static const Config *config_; }; Q_DECLARE_TYPEINFO(Doc, Q_MOVABLE_TYPE); typedef QVector DocList; diff --git a/src/qdoc/docbookgenerator.cpp b/src/qdoc/docbookgenerator.cpp index 0a87b0c3a..3c92b9705 100644 --- a/src/qdoc/docbookgenerator.cpp +++ b/src/qdoc/docbookgenerator.cpp @@ -36,6 +36,7 @@ #include #include "codemarker.h" +#include "config.h" #include "generator.h" #include "docbookgenerator.h" #include "node.h" @@ -96,12 +97,13 @@ static void writeAnchor(QXmlStreamWriter &writer, QString id) /*! Initializes the DocBook output generator's data structures - from the configuration class \a config. + from the configuration (Config). */ -void DocBookGenerator::initializeGenerator(const Config &config) +void DocBookGenerator::initializeGenerator() { // Excerpts from HtmlGenerator::initializeGenerator. - Generator::initializeGenerator(config); + Generator::initializeGenerator(); + Config &config = Config::instance(); project = config.getString(CONFIG_PROJECT); @@ -2132,7 +2134,7 @@ void DocBookGenerator::generateRequiredLinks(QXmlStreamWriter &writer, const Nod return; const auto en = static_cast(node); - QString exampleUrl = config()->getString(CONFIG_URL + Config::dot + CONFIG_EXAMPLES); + QString exampleUrl = Config::instance().getString(CONFIG_URL + Config::dot + CONFIG_EXAMPLES); if (exampleUrl.isEmpty()) { if (!en->noAutoList()) { @@ -2173,7 +2175,7 @@ void DocBookGenerator::generateLinkToExample(QXmlStreamWriter &writer, const Exa // Construct a path to the example; / QStringList path = QStringList() - << config()->getString(CONFIG_EXAMPLESINSTALLPATH) << en->name(); + << Config::instance().getString(CONFIG_EXAMPLESINSTALLPATH) << en->name(); path.removeAll({}); writer.writeStartElement(dbNamespace, "para"); diff --git a/src/qdoc/docbookgenerator.h b/src/qdoc/docbookgenerator.h index 202a0c5c7..540aa7586 100644 --- a/src/qdoc/docbookgenerator.h +++ b/src/qdoc/docbookgenerator.h @@ -37,13 +37,11 @@ #include #include #include "codemarker.h" -#include "config.h" #include "xmlgenerator.h" #include #include "codemarker.h" -#include "config.h" QT_BEGIN_NAMESPACE @@ -52,7 +50,7 @@ class DocBookGenerator : public XmlGenerator public: explicit DocBookGenerator() = default; - void initializeGenerator(const Config &config) override; + void initializeGenerator() override; QString format() override; protected: diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index 6bcc084b5..ab27ecea7 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -921,7 +921,7 @@ void Generator::generateRequiredLinks(const Node *node, CodeMarker *marker) return; const ExampleNode *en = static_cast(node); - QString exampleUrl = config()->getString(CONFIG_URL + Config::dot + CONFIG_EXAMPLES); + QString exampleUrl = Config::instance().getString(CONFIG_URL + Config::dot + CONFIG_EXAMPLES); if (exampleUrl.isEmpty()) { if (!en->noAutoList()) { @@ -962,7 +962,7 @@ void Generator::generateLinkToExample(const ExampleNode *en, CodeMarker *marker, // Construct a path to the example; / QStringList path = QStringList() - << config()->getString(CONFIG_EXAMPLESINSTALLPATH) << en->name(); + << Config::instance().getString(CONFIG_EXAMPLESINSTALLPATH) << en->name(); path.removeAll({}); Text text; @@ -1685,8 +1685,9 @@ QString Generator::indent(int level, const QString &markedCode) return t; } -void Generator::initialize(const Config &config) +void Generator::initialize() { + Config &config = Config::instance(); outputFormats = config.getOutputFormats(); redirectDocumentationToDevNull_ = config.getBool(CONFIG_REDIRECTDOCUMENTATIONTODEVNULL); @@ -1706,7 +1707,7 @@ void Generator::initialize(const Config &config) for (auto &g : generators) { if (outputFormats.contains(g->format())) { currentGenerator_ = g; - g->initializeGenerator(config); + g->initializeGenerator(); } } @@ -1765,9 +1766,9 @@ void Generator::initialize(const Config &config) Creates template-specific subdirs (e.g. /styles and /scripts for HTML) and copies the files to them. */ -void Generator::copyTemplateFiles(const Config &config, const QString &configVar, - const QString &subDir) +void Generator::copyTemplateFiles(const QString &configVar, const QString &subDir) { + Config &config = Config::instance(); QStringList files = config.getCanonicalPathList(configVar, true); if (!files.isEmpty()) { QDir dirInfo; @@ -1785,12 +1786,13 @@ void Generator::copyTemplateFiles(const Config &config, const QString &configVar } /*! - Reads format-specific variables from \a config, sets output + Reads format-specific variables from config, sets output (sub)directories, creates them on the filesystem and copies the template-specific files. */ -void Generator::initializeFormat(const Config &config) +void Generator::initializeFormat() { + Config &config = Config::instance(); outFileNames_.clear(); useOutputSubdirs_ = true; if (config.getBool(format() + Config::dot + "nosubdirs")) @@ -1825,9 +1827,9 @@ void Generator::initializeFormat(const Config &config) config.lastLocation().fatal( tr("Cannot create images directory '%1'").arg(outDir_ + "/images")); - copyTemplateFiles(config, format() + Config::dot + CONFIG_STYLESHEETS, "style"); - copyTemplateFiles(config, format() + Config::dot + CONFIG_SCRIPTS, "scripts"); - copyTemplateFiles(config, format() + Config::dot + CONFIG_EXTRAIMAGES, "images"); + copyTemplateFiles(format() + Config::dot + CONFIG_STYLESHEETS, "style"); + copyTemplateFiles(format() + Config::dot + CONFIG_SCRIPTS, "scripts"); + copyTemplateFiles(format() + Config::dot + CONFIG_EXTRAIMAGES, "images"); // Use a format-specific .quotinginformation if defined, otherwise a global value if (config.subVars(format()).contains(CONFIG_QUOTINGINFORMATION)) @@ -1851,11 +1853,10 @@ void Generator::augmentImageDirs(QSet &moreImageDirs) /*! Sets the generator's pointer to the Config instance. */ -void Generator::initializeGenerator(const Config &config) +void Generator::initializeGenerator() { - config_ = &config; - showInternal_ = config.getBool(CONFIG_SHOWINTERNAL); - singleExec_ = config.getBool(CONFIG_SINGLEEXEC); + showInternal_ = Config::instance().getBool(CONFIG_SHOWINTERNAL); + singleExec_ = Config::instance().getBool(CONFIG_SINGLEEXEC); } bool Generator::matchAhead(const Atom *atom, Atom::AtomType expectedAtomType) diff --git a/src/qdoc/generator.h b/src/qdoc/generator.h index f4f5a75df..05a215c46 100644 --- a/src/qdoc/generator.h +++ b/src/qdoc/generator.h @@ -42,7 +42,6 @@ QT_BEGIN_NAMESPACE typedef QMultiMap NodeMultiMap; typedef QMap ParentMaps; -class Config; class CodeMarker; class Location; class Node; @@ -62,18 +61,17 @@ public: virtual bool canHandleFormat(const QString &format) { return format == this->format(); } virtual QString format() = 0; virtual void generateDocs(); - virtual void initializeGenerator(const Config &config); - virtual void initializeFormat(const Config &config); + virtual void initializeGenerator(); + virtual void initializeFormat(); virtual void terminateGenerator(); QString fullDocumentLocation(const Node *node, bool useSubdir = false); - const Config *config() { return config_; } QString linkForExampleFile(const QString &path, const Node *parent, const QString &fileExt = QString()); static QString exampleFileTitle(const ExampleNode *relative, const QString &fileName); static Generator *currentGenerator() { return currentGenerator_; } static Generator *generatorForFormat(const QString &format); - static void initialize(const Config &config); + static void initialize(); static const QString &outputDir() { return outDir_; } static const QString &outputSubdir() { return outSubdir_; } static void terminate(); @@ -231,11 +229,9 @@ private: static QmlTypeNode *qmlTypeContext_; void generateReimplementsClause(const FunctionNode *fn, CodeMarker *marker); - static void copyTemplateFiles(const Config &config, const QString &configVar, - const QString &subDir); + static void copyTemplateFiles(const QString &configVar, const QString &subDir); protected: - const Config *config_; QDocDatabase *qdb_; bool inLink_; bool inContents_; diff --git a/src/qdoc/helpprojectwriter.cpp b/src/qdoc/helpprojectwriter.cpp index 6f231f232..019604ce7 100644 --- a/src/qdoc/helpprojectwriter.cpp +++ b/src/qdoc/helpprojectwriter.cpp @@ -41,13 +41,12 @@ QT_BEGIN_NAMESPACE -HelpProjectWriter::HelpProjectWriter(const Config &config, const QString &defaultFileName, - Generator *g) +HelpProjectWriter::HelpProjectWriter(const QString &defaultFileName, Generator *g) { - reset(config, defaultFileName, g); + reset(defaultFileName, g); } -void HelpProjectWriter::reset(const Config &config, const QString &defaultFileName, Generator *g) +void HelpProjectWriter::reset(const QString &defaultFileName, Generator *g) { projects.clear(); gen_ = g; @@ -60,6 +59,7 @@ void HelpProjectWriter::reset(const Config &config, const QString &defaultFileNa // The output directory should already have been checked by the calling // generator. + Config &config = Config::instance(); outputDir = config.getOutputDir(); const QStringList names = config.getStringList(CONFIG_QHP + Config::dot + "projects"); diff --git a/src/qdoc/helpprojectwriter.h b/src/qdoc/helpprojectwriter.h index be5439dfb..eedfa3909 100644 --- a/src/qdoc/helpprojectwriter.h +++ b/src/qdoc/helpprojectwriter.h @@ -29,7 +29,6 @@ #ifndef HELPPROJECTWRITER_H #define HELPPROJECTWRITER_H -#include "config.h" #include "node.h" #include @@ -83,8 +82,8 @@ class HelpProjectWriter Q_DECLARE_TR_FUNCTIONS(QDoc::HelpProjectWriter) public: - HelpProjectWriter(const Config &config, const QString &defaultFileName, Generator *g); - void reset(const Config &config, const QString &defaultFileName, Generator *g); + HelpProjectWriter(const QString &defaultFileName, Generator *g); + void reset(const QString &defaultFileName, Generator *g); void addExtraFile(const QString &file); void addExtraFiles(const QSet &files); void generate(); diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index ac1b8ddb3..c7cfb1cbc 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -32,6 +32,7 @@ #include "htmlgenerator.h" +#include "config.h" #include "codemarker.h" #include "codeparser.h" #include "helpprojectwriter.h" @@ -105,9 +106,9 @@ HtmlGenerator::~HtmlGenerator() /*! Initializes the HTML output generator's data structures - from the configuration class \a config. + from the configuration (Config) singleton. */ -void HtmlGenerator::initializeGenerator(const Config &config) +void HtmlGenerator::initializeGenerator() { static const struct { @@ -126,7 +127,8 @@ void HtmlGenerator::initializeGenerator(const Config &config) { ATOM_FORMATTING_UNDERLINE, "", "" }, { nullptr, nullptr, nullptr } }; - Generator::initializeGenerator(config); + Generator::initializeGenerator(); + Config &config = Config::instance(); obsoleteLinks = config.getBool(CONFIG_OBSOLETELINKS); setImageFileExtensions(QStringList() << "png" << "jpg" @@ -204,9 +206,9 @@ void HtmlGenerator::initializeGenerator(const Config &config) per qdoc execution. */ if (helpProjectWriter) - helpProjectWriter->reset(config, project.toLower() + ".qhp", this); + helpProjectWriter->reset(project.toLower() + ".qhp", this); else - helpProjectWriter = new HelpProjectWriter(config, project.toLower() + ".qhp", this); + helpProjectWriter = new HelpProjectWriter(project.toLower() + ".qhp", this); // Documentation template handling headerScripts = config.getString(HtmlGenerator::format() + Config::dot + CONFIG_HEADERSCRIPTS); @@ -217,7 +219,7 @@ void HtmlGenerator::initializeGenerator(const Config &config) QLatin1String("qthelp://") + config.getString(prefix + QLatin1String("namespace")); manifestDir += QLatin1Char('/') + config.getString(prefix + QLatin1String("virtualFolder")) + QLatin1Char('/'); - readManifestMetaContent(config); + readManifestMetaContent(); examplesPath = config.getString(CONFIG_EXAMPLESINSTALLPATH); if (!examplesPath.isEmpty()) examplesPath += QLatin1Char('/'); @@ -4089,8 +4091,9 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString The manifest metacontent map is cleared immediately after the manifest files have been generated. */ -void HtmlGenerator::readManifestMetaContent(const Config &config) +void HtmlGenerator::readManifestMetaContent() { + Config &config = Config::instance(); const QStringList names = config.getStringList(CONFIG_MANIFESTMETA + Config::dot + QStringLiteral("filters")); diff --git a/src/qdoc/htmlgenerator.h b/src/qdoc/htmlgenerator.h index 81516ef15..1c95d7349 100644 --- a/src/qdoc/htmlgenerator.h +++ b/src/qdoc/htmlgenerator.h @@ -34,7 +34,6 @@ #define HTMLGENERATOR_H #include "codemarker.h" -#include "config.h" #include "xmlgenerator.h" #include @@ -54,7 +53,7 @@ public: HtmlGenerator(); ~HtmlGenerator() override; - void initializeGenerator(const Config &config) override; + void initializeGenerator() override; void terminateGenerator() override; QString format() override; void generateDocs() override; @@ -79,7 +78,7 @@ protected: QString fileExtension() const override; void generateManifestFile(const QString &manifest, const QString &element); - void readManifestMetaContent(const Config &config); + void readManifestMetaContent(); void generateKeywordAnchors(const Node *node); void generateAssociatedPropertyNotes(const FunctionNode *fn); diff --git a/src/qdoc/location.cpp b/src/qdoc/location.cpp index aab8ede19..f3db56c00 100644 --- a/src/qdoc/location.cpp +++ b/src/qdoc/location.cpp @@ -315,13 +315,14 @@ void Location::report(const QString &message, const QString &details) const } /*! - Gets several parameters from the \a config, including + Gets several parameters from the config, including tab size, program name, and a regular expression that appears to be used for matching certain error messages so that emitMessage() can avoid printing them. */ -void Location::initialize(const Config &config) +void Location::initialize() { + Config &config = Config::instance(); tabSize = config.getInt(CONFIG_TABSIZE); programName = config.programName(); project = config.getString(CONFIG_PROJECT); diff --git a/src/qdoc/location.h b/src/qdoc/location.h index 9ad601e1b..bbefb10eb 100644 --- a/src/qdoc/location.h +++ b/src/qdoc/location.h @@ -38,7 +38,6 @@ QT_BEGIN_NAMESPACE -class Config; class QRegExp; class Location @@ -82,7 +81,7 @@ public: static const Location null; - static void initialize(const Config &config); + static void initialize(); static void terminate(); static void information(const QString &message); static void internalError(const QString &hint); diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp index 5bb4c2d28..5f98dabd5 100644 --- a/src/qdoc/main.cpp +++ b/src/qdoc/main.cpp @@ -88,8 +88,9 @@ static ClangCodeParser *clangParser_ = nullptr; a list of output formats; each format may have a different output subdirectory where index files are located. */ -static void loadIndexFiles(Config &config, const QSet &formats) +static void loadIndexFiles(const QSet &formats) { + Config &config = Config::instance(); QDocDatabase *qdb = QDocDatabase::qdocDB(); QStringList indexFiles; const QStringList configIndexes = config.getStringList(CONFIG_INDEXES); @@ -229,8 +230,9 @@ static void loadIndexFiles(Config &config, const QSet &formats) of QDoc. The \a config instance represents the configuration data for QDoc. All other classes are initialized with the same config. */ -static void processQdocconfFile(const QString &fileName, Config &config) +static void processQdocconfFile(const QString &fileName) { + Config &config = Config::instance(); config.setPreviousCurrentDir(QDir::currentPath()); /* @@ -242,7 +244,7 @@ static void processQdocconfFile(const QString &fileName, Config &config) in the file being processed, mainly for error reporting purposes. */ - Location::initialize(config); + Location::initialize(); config.load(fileName); QString project = config.getString(CONFIG_PROJECT); if (project.isEmpty()) { @@ -279,12 +281,12 @@ static void processQdocconfFile(const QString &fileName, Config &config) are either cleared after they have been used, or they are cleared in the terminate() functions below. */ - Location::initialize(config); - Tokenizer::initialize(config); - CodeMarker::initialize(config); - CodeParser::initialize(config); - Generator::initialize(config); - Doc::initialize(config); + Location::initialize(); + Tokenizer::initialize(); + CodeMarker::initialize(); + CodeParser::initialize(); + Generator::initialize(); + Doc::initialize(); #ifndef QT_NO_TRANSLATION /* @@ -348,7 +350,7 @@ static void processQdocconfFile(const QString &fileName, Config &config) if (!Generator::singleExec()) { if (!Generator::preparing()) { qCDebug(lcQdoc, " loading index files"); - loadIndexFiles(config, outputFormats); + loadIndexFiles(outputFormats); qCDebug(lcQdoc, " done loading index files"); } qdb->newPrimaryTree(project); @@ -497,7 +499,7 @@ static void processQdocconfFile(const QString &fileName, Config &config) if (generator == nullptr) outputFormatsLocation.fatal( QCoreApplication::translate("QDoc", "Unknown output format '%1'").arg(format)); - generator->initializeFormat(config); + generator->initializeFormat(); generator->generateDocs(); } qdb->clearLinkCounts(); @@ -562,7 +564,8 @@ int main(int argc, char **argv) WebXMLGenerator webXMLGenerator; DocBookGenerator docBookGenerator; - Config config(QCoreApplication::translate("QDoc", "qdoc"), app.arguments()); + Config::instance().init(QCoreApplication::translate("QDoc", "qdoc"), app.arguments()); + Config &config = Config::instance(); // Get the list of files to act on: QStringList qdocFiles = config.qdocFiles(); @@ -577,19 +580,19 @@ int main(int argc, char **argv) Generator::setQDocPass(Generator::Prepare); for (const auto &file : qAsConst(qdocFiles)) { config.dependModules().clear(); - processQdocconfFile(file, config); + processQdocconfFile(file); } Generator::setQDocPass(Generator::Generate); QDocDatabase::qdocDB()->processForest(); for (const auto &file : qAsConst(qdocFiles)) { config.dependModules().clear(); - processQdocconfFile(file, config); + processQdocconfFile(file); } } else { // separate qdoc processes for prepare and generate phases for (const auto &file : qAsConst(qdocFiles)) { config.dependModules().clear(); - processQdocconfFile(file, config); + processQdocconfFile(file); } } diff --git a/src/qdoc/qdocindexfiles.cpp b/src/qdoc/qdocindexfiles.cpp index 39d7e360e..7298f7e84 100644 --- a/src/qdoc/qdocindexfiles.cpp +++ b/src/qdoc/qdocindexfiles.cpp @@ -1503,11 +1503,10 @@ void QDocIndexFiles::generateIndexSections(QXmlStreamWriter &writer, Node *node, } /*! - Writes aqdoc module index in XML to a file named \afilerName. - \a url becaomes the \c url attribute of the element. - \a title becomes the \c title attribute of the element. - \a g is used to get the Config object that contains the variables - from the module's .qdocconf file. + Writes a qdoc module index in XML to a file named \a fileName. + \a url is the \c url attribute of the element. + \a title is the \c title attribute of the element. + \a g is a pointer to the current Generator in use, stored for later use. */ void QDocIndexFiles::generateIndex(const QString &fileName, const QString &url, const QString &title, Generator *g) @@ -1529,7 +1528,7 @@ void QDocIndexFiles::generateIndex(const QString &fileName, const QString &url, writer.writeAttribute("url", url); writer.writeAttribute("title", title); writer.writeAttribute("version", qdb_->version()); - writer.writeAttribute("project", g->config()->getString(CONFIG_PROJECT)); + writer.writeAttribute("project", Config::instance().getString(CONFIG_PROJECT)); root_ = qdb_->primaryTreeRoot(); if (!root_->tree()->indexTitle().isEmpty()) diff --git a/src/qdoc/qmlcodeparser.cpp b/src/qdoc/qmlcodeparser.cpp index 06ce5e1a5..e161b9cfc 100644 --- a/src/qdoc/qmlcodeparser.cpp +++ b/src/qdoc/qmlcodeparser.cpp @@ -33,7 +33,6 @@ #include "qmlcodeparser.h" #include "node.h" -#include "config.h" #include "qmlvisitor.h" #ifndef QT_NO_DECLARATIVE @@ -60,14 +59,12 @@ QmlCodeParser::QmlCodeParser() QmlCodeParser::~QmlCodeParser() {} /*! - Initializes the code parser base class. The \a config argument - is passed to the initialization functions in the base class. - + Initializes the code parser base class. Also creates a lexer and parser from QQmlJS. */ -void QmlCodeParser::initializeParser(const Config &config) +void QmlCodeParser::initializeParser() { - CodeParser::initializeParser(config); + CodeParser::initializeParser(); #ifndef QT_NO_DECLARATIVE lexer = new QQmlJS::Lexer(&engine); diff --git a/src/qdoc/qmlcodeparser.h b/src/qdoc/qmlcodeparser.h index f639f2115..ca34dc111 100644 --- a/src/qdoc/qmlcodeparser.h +++ b/src/qdoc/qmlcodeparser.h @@ -45,7 +45,6 @@ QT_BEGIN_NAMESPACE -class Config; class Node; class QString; @@ -57,7 +56,7 @@ public: QmlCodeParser(); ~QmlCodeParser() override; - void initializeParser(const Config &config) override; + void initializeParser() override; void terminateParser() override; QString language() override; QStringList sourceFileNameFilter() override; diff --git a/src/qdoc/tokenizer.cpp b/src/qdoc/tokenizer.cpp index d15b6d318..7a59bc598 100644 --- a/src/qdoc/tokenizer.cpp +++ b/src/qdoc/tokenizer.cpp @@ -502,8 +502,9 @@ int Tokenizer::getToken() return Tok_Eoi; } -void Tokenizer::initialize(const Config &config) +void Tokenizer::initialize() { + Config &config = Config::instance(); QString versionSym = config.getString(CONFIG_VERSIONSYM); QString sourceEncoding = config.getString(CONFIG_SOURCEENCODING); diff --git a/src/qdoc/tokenizer.h b/src/qdoc/tokenizer.h index 4f35090fe..64f188f07 100644 --- a/src/qdoc/tokenizer.h +++ b/src/qdoc/tokenizer.h @@ -169,7 +169,7 @@ public: int bracketDepth() const { return yyBracketDepth; } Location &tokenLocation() { return yyTokLoc; } - static void initialize(const Config &config); + static void initialize(); static void terminate(); static bool isTrue(const QString &condition); diff --git a/src/qdoc/tree.cpp b/src/qdoc/tree.cpp index 718b16fc5..2cc36736f 100644 --- a/src/qdoc/tree.cpp +++ b/src/qdoc/tree.cpp @@ -63,9 +63,8 @@ QT_BEGIN_NAMESPACE qdoc database that is constructing the tree. This might not be necessary, and it might be removed later. - \a camelCaseModuleName is the project name for this tree, - which was obtained from the qdocconf file via the Config - singleton. + \a camelCaseModuleName is the project name for this tree + as it appears in the qdocconf file. */ Tree::Tree(const QString &camelCaseModuleName, QDocDatabase *qdb) : treeHasBeenAnalyzed_(false), diff --git a/src/qdoc/webxmlgenerator.cpp b/src/qdoc/webxmlgenerator.cpp index c7312d418..d69e4d467 100644 --- a/src/qdoc/webxmlgenerator.cpp +++ b/src/qdoc/webxmlgenerator.cpp @@ -41,9 +41,9 @@ QT_BEGIN_NAMESPACE static CodeMarker *marker_ = nullptr; -void WebXMLGenerator::initializeGenerator(const Config &config) +void WebXMLGenerator::initializeGenerator() { - HtmlGenerator::initializeGenerator(config); + HtmlGenerator::initializeGenerator(); } void WebXMLGenerator::terminateGenerator() diff --git a/src/qdoc/webxmlgenerator.h b/src/qdoc/webxmlgenerator.h index 71fd9df24..f8b3fa80e 100644 --- a/src/qdoc/webxmlgenerator.h +++ b/src/qdoc/webxmlgenerator.h @@ -30,7 +30,6 @@ #define WEBXMLGENERATOR_H #include "codemarker.h" -#include "config.h" #include "htmlgenerator.h" #include "qdocindexfiles.h" @@ -44,7 +43,7 @@ class WebXMLGenerator : public HtmlGenerator, public IndexSectionWriter public: explicit WebXMLGenerator() {} - void initializeGenerator(const Config &config) override; + void initializeGenerator() override; void terminateGenerator() override; QString format() override; // from IndexSectionWriter -- cgit v1.2.3 From e3507ac277fcb8da41ae21138b6c0f233d17ee38 Mon Sep 17 00:00:00 2001 From: Levon Sargsyan Date: Fri, 10 Jan 2020 17:22:18 +0100 Subject: Remove identical code under if for different branches MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I953f30dc04f4bc95fccb135b79f806d6a354ed70 Coverity-Id: 226101 Reviewed-by: Paul Wicking Reviewed-by: Topi Reiniö --- src/qdoc/htmlgenerator.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index b7dc227ca..9f29d099c 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -1110,11 +1110,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark } } } - if (inTableHeader_) - out() << '>'; - else { - out() << '>'; - } + out() << '>'; if (matchAhead(atom, Atom::ParaLeft)) skipAhead = 1; } break; -- cgit v1.2.3 From 8bfd6204d4e5c31b728e6d26db404183c9f9a6c0 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Sat, 4 Jan 2020 22:59:26 +0100 Subject: qdoc: Introduce ignoresince configuration variable Qt has a long history, with lots of classes and functions documented being introduced in a specific version. This \since information for decade-old features is not relevant anymore, producing noise about ancient Qt releases that have been long unsupported. In preparation for Qt 6, introduce a feature where we can set a cutoff value for \since information that can be ignored in the generated documentation. Fixes: QTBUG-81090 Change-Id: Ib35a2a4d8bc3a6cb9719223a45b02f0e63f337ea Reviewed-by: Paul Wicking --- src/qdoc/config.cpp | 1 + src/qdoc/config.h | 2 + src/qdoc/doc/qdoc-manual-qdocconf.qdoc | 32 ++++++++ src/qdoc/node.cpp | 21 ++++- .../expected_output/ignoresince/testqdoc-test.html | 93 ++++++++++++++++++++++ .../expected_output/ignoresince/testqdoc.html | 64 +++++++++++++++ .../auto/qdoc/generatedoutput/ignoresince.qdocconf | 8 ++ tests/auto/qdoc/generatedoutput/testcpp.cpp | 15 ++++ .../qdoc/generatedoutput/tst_generatedoutput.cpp | 8 ++ 9 files changed, 241 insertions(+), 3 deletions(-) create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/ignoresince/testqdoc-test.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/ignoresince/testqdoc.html create mode 100644 tests/auto/qdoc/generatedoutput/ignoresince.qdocconf diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp index 620e3dea7..6667c6688 100644 --- a/src/qdoc/config.cpp +++ b/src/qdoc/config.cpp @@ -73,6 +73,7 @@ QString ConfigStrings::HEADERSTYLES = QStringLiteral("headerstyles"); QString ConfigStrings::HOMEPAGE = QStringLiteral("homepage"); QString ConfigStrings::HOMETITLE = QStringLiteral("hometitle"); QString ConfigStrings::IGNOREDIRECTIVES = QStringLiteral("ignoredirectives"); +QString ConfigStrings::IGNORESINCE = QStringLiteral("ignoresince"); QString ConfigStrings::IGNORETOKENS = QStringLiteral("ignoretokens"); QString ConfigStrings::IGNOREWORDS = QStringLiteral("ignorewords"); QString ConfigStrings::IMAGEDIRS = QStringLiteral("imagedirs"); diff --git a/src/qdoc/config.h b/src/qdoc/config.h index 0f3baa126..e241e8d75 100644 --- a/src/qdoc/config.h +++ b/src/qdoc/config.h @@ -231,6 +231,7 @@ struct ConfigStrings static QString HOMETITLE; static QString IGNOREDIRECTIVES; static QString IGNORETOKENS; + static QString IGNORESINCE; static QString IGNOREWORDS; static QString IMAGEDIRS; static QString IMAGES; @@ -312,6 +313,7 @@ struct ConfigStrings #define CONFIG_HOMEPAGE ConfigStrings::HOMEPAGE #define CONFIG_HOMETITLE ConfigStrings::HOMETITLE #define CONFIG_IGNOREDIRECTIVES ConfigStrings::IGNOREDIRECTIVES +#define CONFIG_IGNORESINCE ConfigStrings::IGNORESINCE #define CONFIG_IGNORETOKENS ConfigStrings::IGNORETOKENS #define CONFIG_IGNOREWORDS ConfigStrings::IGNOREWORDS #define CONFIG_IMAGEDIRS ConfigStrings::IMAGEDIRS diff --git a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc index 6f202b09e..ca3721d8f 100644 --- a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc +++ b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc @@ -106,6 +106,7 @@ \li \l {HTML.postheader-variable} {HTML.postheader} \li \l {HTML.style-variable} {HTML.style} \li \l {ignorewords-variable} {ignorewords} + \li \l {ignoresince-variable} {ignoresince} \li \l {imagedirs-variable} {imagedirs} \li \l {images-variable} {images} \li \l {images.fileextensions-variable} {images.fileextensions} @@ -629,6 +630,37 @@ The \c ignorewords variable was introduced in QDoc 5.14. + \target ignoresince-variable + \section ignoresince + + The \c ignoresince variable is used for setting a cutoff value for + versions passed to the \l {since-command}{\\since} command. All + \\since commands that define a version lower than the cutoff are + ignored and do not generate output. + + The cutoff values are project-specific. The project name can be + defined as a subvariable. The default project name is \e Qt. For + example: + + \badcode + ignoresince = 5.0 + ignoresince.QDoc = 5.0 + \endcode + + These will ignore \\since commands where the major version is 4 + or lower and the project is either \c QDoc or undefined. + + \badcode + \since 3.2 # Ignored + \since 5.2 # Documented (as 'Qt 5.2') + \since QDoc 4.6 # Ignored + \since QtQuick 2.5 # Documented + \endcode + + The \c ignoresince variable was introduced in QDoc 5.15. + + See also \l {since-command}{\\since}. + \target imagedirs-variable \section1 imagedirs diff --git a/src/qdoc/node.cpp b/src/qdoc/node.cpp index 65c75e743..ed88de6e5 100644 --- a/src/qdoc/node.cpp +++ b/src/qdoc/node.cpp @@ -29,6 +29,7 @@ #include "node.h" #include "codemarker.h" +#include "config.h" #include "cppcodeparser.h" #include "generator.h" #include "puredocparser.h" @@ -38,6 +39,7 @@ #include #include +#include #include @@ -1048,12 +1050,25 @@ void Node::setLink(LinkType linkType, const QString &link, const QString &desc) /*! Sets the information about the project and version a node was introduced - in. The string is simplified, removing excess whitespace before being - stored. + in, unless the version is lower than the 'ignoresince.' + configuration variable. */ void Node::setSince(const QString &since) { - since_ = since.simplified(); + QStringList parts = since.split(QLatin1Char(' ')); + QString project; + if (parts.size() > 1) + project = Config::dot + parts.first(); + + QVersionNumber cutoff = + QVersionNumber::fromString(Config::instance().getString( + CONFIG_IGNORESINCE + project)).normalized(); + + if (!cutoff.isNull() && + QVersionNumber::fromString(parts.last()).normalized() < cutoff) + return; + + since_ = parts.join(QLatin1Char(' ')); } /*! diff --git a/tests/auto/qdoc/generatedoutput/expected_output/ignoresince/testqdoc-test.html b/tests/auto/qdoc/generatedoutput/expected_output/ignoresince/testqdoc-test.html new file mode 100644 index 000000000..0cb766e42 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/ignoresince/testqdoc-test.html @@ -0,0 +1,93 @@ + + + + + + Test Class | TestCPP + + +
        • Test
        • + +

          Test Class

          +(TestQDoc::Test)
          + +

          A class in a namespace. More...

          + +
          +
          Header: #include <Test> +
          qmake: QT += testcpp
          Inherited By:

          TestQDoc::TestDerived

          +
          + +

          Public Functions

          +
          + + + + +
          void inlineFunction()
          int someFunction(int v)
          void someFunctionDefaultArg(int i, bool b = false)
          virtual void virtualFun()
          + +

          Protected Functions

          +
          + + +
          void overload()
          void overload(bool b)
          + +

          Macros

          + + + +
          +

          Detailed Description

          +
          + +
          +

          Member Function Documentation

          + +
          +

          [protected] void Test::overload()

          [protected] void Test::overload(bool b)

          +

          Overloads that share a documentation comment, optionally taking a parameter b.

          + + +

          void Test::inlineFunction()

          +

          An inline function, documented using the \fn QDoc command.

          + + +

          int Test::someFunction(int v)

          +

          Function that takes a parameter v. Also returns the value of v.

          +

          This function was introduced in Test 1.0.

          + + +

          void Test::someFunctionDefaultArg(int i, bool b = false)

          +

          Function that takes a parameter i and b.

          +

          This function was introduced in Qt 2.0.

          + + +

          [virtual] void Test::virtualFun()

          +

          Function that must be reimplemented.

          + +
          +
          +

          Macro Documentation

          + +

          QDOCTEST_MACRO2(x)

          +

          A macro with argument x.

          +

          This function was introduced in Test 1.1.

          + +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/ignoresince/testqdoc.html b/tests/auto/qdoc/generatedoutput/expected_output/ignoresince/testqdoc.html new file mode 100644 index 000000000..a259e40af --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/ignoresince/testqdoc.html @@ -0,0 +1,64 @@ + + + + + + TestQDoc Namespace | TestCPP + + + +

          TestQDoc Namespace

          + +

          A namespace. More...

          + +
          +
          Header: #include <TestCPP> +
          qmake: QT += testcpp
            +
          + +

          Classes

          +
          + + +
          class Test
          class TestDerived
          + +

          Macros

          + + + +
          +

          Detailed Description

          + +

          Usage

          +

          This namespace is for testing QDoc output.

          +
          + +
          +

          Classes

          +

          class Test

          +

          A class in a namespace. More...

          + +

          class TestDerived

          +

          A derived class in a namespace. More...

          + +
          +
          +

          Macro Documentation

          + +

          QDOCTEST_MACRO

          + +
          + + diff --git a/tests/auto/qdoc/generatedoutput/ignoresince.qdocconf b/tests/auto/qdoc/generatedoutput/ignoresince.qdocconf new file mode 100644 index 000000000..0aa0dbc45 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/ignoresince.qdocconf @@ -0,0 +1,8 @@ +include(testcpp.qdocconf) +defines += test_ignoresince + +ignoresince = 2.0 +ignoresince.Test = 1.0 + +HTML.nosubdirs = true +HTML.outputsubdir = ignoresince diff --git a/tests/auto/qdoc/generatedoutput/testcpp.cpp b/tests/auto/qdoc/generatedoutput/testcpp.cpp index f33a6a83c..3073148c2 100644 --- a/tests/auto/qdoc/generatedoutput/testcpp.cpp +++ b/tests/auto/qdoc/generatedoutput/testcpp.cpp @@ -50,6 +50,11 @@ namespace TestQDoc { \class TestQDoc::Test \inmodule TestCPP \brief A class in a namespace. + +\if defined(test_ignoresince) + //! omitted by ignoresince + \since 1.1 +\endif */ /*! @@ -61,6 +66,10 @@ namespace TestQDoc { /*! \macro QDOCTEST_MACRO \relates TestQDoc +\if defined(test_ignoresince) + //! omitted by ignoresince.Test + \since Test 0.9 +\endif */ /*! @@ -102,6 +111,9 @@ void Test::anotherObsoleteMember() /*! Function that takes a parameter \a i and \a b. +\if defined(test_ignoresince) + \since 2.0 +\endif */ void Test::someFunctionDefaultArg(int i, bool b = false) { @@ -111,6 +123,9 @@ void Test::someFunctionDefaultArg(int i, bool b = false) /*! Function that takes a parameter \a v. Also returns the value of \a v. +\if defined(test_ignoresince) + \since Test 1.0 +\endif */ int Test::someFunction(int v) { diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index 762c18d12..62052e453 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -56,6 +56,7 @@ private slots: // Output format independent tests void examplesManifestXml(); + void ignoresinceVariable(); private: QScopedPointer m_outputDir; @@ -277,6 +278,13 @@ void tst_generatedOutput::examplesManifestXml() testAndCompare("examples-qhp.qdocconf", "examples-manifest.xml"); } +void tst_generatedOutput::ignoresinceVariable() +{ + testAndCompare("ignoresince.qdocconf", + "ignoresince/testqdoc.html " + "ignoresince/testqdoc-test.html"); +} + QTEST_APPLESS_MAIN(tst_generatedOutput) #include "tst_generatedoutput.moc" -- cgit v1.2.3 From d906d8765659528b93312778fcfb9033e2bf4315 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Sun, 5 Jan 2020 02:11:43 +0100 Subject: qdoc: Introduce locationinfo configuration variable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This simple boolean variable determines whether the full path information of entities is stored into index files, and by extension, the output of the WebXML generator. The default value is true, and QDoc's output is unchanged. Using a value of false is useful for testing QDoc; we can omit system build paths in the output as those complicated the comparison of expected and generated data. [ChangeLog][qdoc] Introduced a configuration variable to drop host-specific paths from the generated output. Fixes: QTBUG-81091 Change-Id: Ic8df5e4a52a12821e2858a185c4e658905deb847 Reviewed-by: Topi Reiniö --- src/qdoc/config.cpp | 2 + src/qdoc/config.h | 2 + src/qdoc/doc/qdoc-manual-qdocconf.qdoc | 23 +++++++++++ src/qdoc/qdocindexfiles.cpp | 5 ++- src/qdoc/qdocindexfiles.h | 1 + src/qdoc/webxmlgenerator.cpp | 22 ++++++---- .../expected_output/html/first.webxml | 8 ++-- .../expected_output/html/index.webxml | 4 +- .../html/qdoctests-qdocfileoutput-linking.webxml | 4 +- .../html/qdoctests-qdocfileoutput.webxml | 4 +- .../expected_output/html/second.webxml | 4 +- .../html/test-componentset-example.webxml | 4 +- .../expected_output/html/testqdoc-test.webxml | 42 +++++++++---------- .../html/testqdoc-testderived.webxml | 8 ++-- .../expected_output/html/testqdoc.webxml | 48 +++++++++++----------- .../expected_output/html/third.webxml | 4 +- .../qdoc/generatedoutput/tst_generatedoutput.cpp | 10 ----- tests/auto/qdoc/generatedoutput/webxml.qdocconf | 1 + 18 files changed, 111 insertions(+), 85 deletions(-) diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp index 6667c6688..04c39281b 100644 --- a/src/qdoc/config.cpp +++ b/src/qdoc/config.cpp @@ -83,6 +83,7 @@ QString ConfigStrings::INDEXES = QStringLiteral("indexes"); QString ConfigStrings::LANDINGPAGE = QStringLiteral("landingpage"); QString ConfigStrings::LANDINGTITLE = QStringLiteral("landingtitle"); QString ConfigStrings::LANGUAGE = QStringLiteral("language"); +QString ConfigStrings::LOCATIONINFO = QStringLiteral("locationinfo"); QString ConfigStrings::MACRO = QStringLiteral("macro"); QString ConfigStrings::MANIFESTMETA = QStringLiteral("manifestmeta"); QString ConfigStrings::MODULEHEADER = QStringLiteral("moduleheader"); @@ -294,6 +295,7 @@ void Config::reset() setStringList(CONFIG_LANGUAGE, QStringList("Cpp")); // i.e. C++ setStringList(CONFIG_OUTPUTFORMATS, QStringList("HTML")); setStringList(CONFIG_TABSIZE, QStringList("8")); + setStringList(CONFIG_LOCATIONINFO, QStringList("true")); // Publish options from the command line as config variables const auto setListFlag = [this](const QString &key, bool test) { diff --git a/src/qdoc/config.h b/src/qdoc/config.h index e241e8d75..36023b38a 100644 --- a/src/qdoc/config.h +++ b/src/qdoc/config.h @@ -240,6 +240,7 @@ struct ConfigStrings static QString LANDINGPAGE; static QString LANDINGTITLE; static QString LANGUAGE; + static QString LOCATIONINFO; static QString MACRO; static QString MANIFESTMETA; static QString MODULEHEADER; @@ -323,6 +324,7 @@ struct ConfigStrings #define CONFIG_LANDINGPAGE ConfigStrings::LANDINGPAGE #define CONFIG_LANDINGTITLE ConfigStrings::LANDINGTITLE #define CONFIG_LANGUAGE ConfigStrings::LANGUAGE +#define CONFIG_LOCATIONINFO ConfigStrings::LOCATIONINFO #define CONFIG_MACRO ConfigStrings::MACRO #define CONFIG_MANIFESTMETA ConfigStrings::MANIFESTMETA #define CONFIG_MODULEHEADER ConfigStrings::MODULEHEADER diff --git a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc index ca3721d8f..b2b4c8499 100644 --- a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc +++ b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc @@ -111,6 +111,7 @@ \li \l {images-variable} {images} \li \l {images.fileextensions-variable} {images.fileextensions} \li \l {language-variable} {language} + \li \l {locationinfo-variable} {locationinfo} \li \l {macro-variable} {macro} \li \l {manifestmeta-variable} {manifestmeta} \li \l {navigation-variable} {navigation} @@ -789,6 +790,28 @@ This identifies C++ as the language of the Qt source code. + \target locationinfo-variable + \section1 locationinfo + + The \c locationinfo boolean variable determines whether detailed + location information about each entity is written to + \c {.index}-files and \c {.webxml]-files (when using the WebXML + output format). + + Location information consists of the full path and line + number of either the declaration or documentation comment block + in the source code. + + Setting this to \c false turns off location info: + + \badcode + locationinfo = false + \endcode + + The default value is \c true. + + The \c locationinfo variable was introduced in QDoc 5.15. + \target macro-variable \section1 macro diff --git a/src/qdoc/qdocindexfiles.cpp b/src/qdoc/qdocindexfiles.cpp index 7298f7e84..fafeb006c 100644 --- a/src/qdoc/qdocindexfiles.cpp +++ b/src/qdoc/qdocindexfiles.cpp @@ -69,6 +69,7 @@ QDocIndexFiles *QDocIndexFiles::qdocIndexFiles_ = nullptr; QDocIndexFiles::QDocIndexFiles() : gen_(nullptr) { qdb_ = QDocDatabase::qdocDB(); + storeLocationInfo_ = Config::instance().getBool(CONFIG_LOCATIONINFO); } /*! @@ -930,7 +931,7 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter &writer, Node *node, const Location &declLocation = node->declLocation(); if (!declLocation.fileName().isEmpty()) writer.writeAttribute("location", declLocation.fileName()); - if (!declLocation.filePath().isEmpty()) { + if (storeLocationInfo_ && !declLocation.filePath().isEmpty()) { writer.writeAttribute("filepath", declLocation.filePath()); writer.writeAttribute("lineno", QString("%1").arg(declLocation.lineNo())); } @@ -1321,7 +1322,7 @@ void QDocIndexFiles::generateFunctionSection(QXmlStreamWriter &writer, FunctionN const Location &declLocation = fn->declLocation(); if (!declLocation.fileName().isEmpty()) writer.writeAttribute("location", declLocation.fileName()); - if (!declLocation.filePath().isEmpty()) { + if (storeLocationInfo_ && !declLocation.filePath().isEmpty()) { writer.writeAttribute("filepath", declLocation.filePath()); writer.writeAttribute("lineno", QString("%1").arg(declLocation.lineNo())); } diff --git a/src/qdoc/qdocindexfiles.h b/src/qdoc/qdocindexfiles.h index 96e73a9ed..b37c132a4 100644 --- a/src/qdoc/qdocindexfiles.h +++ b/src/qdoc/qdocindexfiles.h @@ -85,6 +85,7 @@ private: Generator *gen_; QString project_; QVector> basesList_; + bool storeLocationInfo_; }; QT_END_NAMESPACE diff --git a/src/qdoc/webxmlgenerator.cpp b/src/qdoc/webxmlgenerator.cpp index d69e4d467..4d8906f6a 100644 --- a/src/qdoc/webxmlgenerator.cpp +++ b/src/qdoc/webxmlgenerator.cpp @@ -28,6 +28,7 @@ #include "webxmlgenerator.h" +#include "config.h" #include "helpprojectwriter.h" #include "node.h" #include "qdocdatabase.h" @@ -135,11 +136,14 @@ void WebXMLGenerator::generateExampleFilePage(const Node *en, const QString &fil writer.writeAttribute("fulltitle", title); writer.writeAttribute("subtitle", file); writer.writeStartElement("description"); - QString userFriendlyFilePath; // unused - writer.writeAttribute("path", - Doc::resolveFile(en->doc().location(), file, &userFriendlyFilePath)); - writer.writeAttribute("line", "0"); - writer.writeAttribute("column", "0"); + + if (Config::instance().getBool(CONFIG_LOCATIONINFO)) { + QString userFriendlyFilePath; // unused + writer.writeAttribute("path", + Doc::resolveFile(en->doc().location(), file, &userFriendlyFilePath)); + writer.writeAttribute("line", "0"); + writer.writeAttribute("column", "0"); + } Quoter quoter; Doc::quoteFromFile(en->doc().location(), quoter, file); @@ -171,9 +175,11 @@ void WebXMLGenerator::append(QXmlStreamWriter &writer, Node *node) Q_ASSERT(marker_); writer.writeStartElement("description"); - writer.writeAttribute("path", node->doc().location().filePath()); - writer.writeAttribute("line", QString::number(node->doc().location().lineNo())); - writer.writeAttribute("column", QString::number(node->doc().location().columnNo())); + if (Config::instance().getBool(CONFIG_LOCATIONINFO)) { + writer.writeAttribute("path", node->doc().location().filePath()); + writer.writeAttribute("line", QString::number(node->doc().location().lineNo())); + writer.writeAttribute("column", QString::number(node->doc().location().columnNo())); + } if (node->isTextPageNode()) generateRelations(writer, node); diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/first.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/first.webxml index 1001d0c53..b3dc9dffa 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/first.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/first.webxml @@ -1,12 +1,12 @@ - - + + This is a first class - - + + This is a nested class diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/index.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/index.webxml index 4e51df8d0..c2235e69d 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/index.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/index.webxml @@ -1,8 +1,8 @@ - - + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml index 9e203d926..eb519cd51 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml @@ -1,11 +1,11 @@ - + - + This is a page for testing QDoc's link command.

          "; + out() << ""; out() << "" << scn->name() << " group"; out() << "

          +[default] children : list<Child>

          -[default] children : list<Child>

          Children of the type.

          @@ -57,7 +57,7 @@
          +voidrear(child)

          -void rear(child)

          Do some abstract parenting on child.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html index 5ba40c99c..22f38cc9c 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html @@ -46,7 +46,7 @@
          +[default] children : list<Child>

          -[default] children : list<Child>

          Children of the type.

          @@ -57,7 +57,7 @@
          +voidrear(child)

          -void rear(child)

          Do some abstract parenting on child.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html index a88d935be..e1475d5fb 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html @@ -50,7 +50,7 @@
          +active : bool

          -active : bool

          Whether the test is active.

          See also name.

          @@ -61,7 +61,7 @@
          +name : string

          -name : string

          Name of the test.

          DocTest {
          @@ -76,7 +76,7 @@
           
          +fail(message = "oops")

          -fail(message = "oops")

          Fails the current test case, with the optional message.

          This method was introduced in QDoc.Test 1.0.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html index 363a4bf16..166cbee81 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html @@ -75,10 +75,10 @@
          +fifth : int

          +fourth : int

          -fifth : int

          -fourth : int

          A group of properties sharing a documentation comment.

          @@ -86,16 +86,16 @@
          - + +group.first : int

          +group.second : int

          +group.third : int

          group group

          group group

          -group.first : int

          -group.second : int

          -group.third : int

          A property group.

          @@ -105,7 +105,7 @@
          +[read-only] id : int

          -[read-only] id : int

          A read-only property.

          @@ -115,7 +115,7 @@
          +name : string

          -name : string

          Name of the Test.

          @@ -126,7 +126,7 @@
          +Type.type : enumeration

          -Type.type : enumeration

          @@ -140,7 +140,7 @@
          ConstantDescription
          Type.NoTypeNothing
          +completed(status)

          -completed(status)

          This signal is emitted when the operation completed with status.

          @@ -151,7 +151,7 @@
          +configured()

          -configured()

          This attached signal is emitted when the type was configured.

          @@ -163,10 +163,10 @@
          +disable()

          +enable()

          -disable()

          -enable()

          Enables or disables this type.

          @@ -176,7 +176,7 @@
          +Typecopy(a)

          -Type copy(a)

          Returns another Type based on a.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html index 6cfe36a83..a1b43ea9d 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html @@ -46,7 +46,7 @@
          +color : color

          -color : color

          The color of the ProgressBar's gradient. Must bind to a color type.

          See also secondColor.

          @@ -57,7 +57,7 @@
          +maximum : int

          -maximum : int

          The maximum value of the ProgressBar range. The value must not be more than this value.

          @@ -67,7 +67,7 @@
          +minimum : int

          -minimum : int

          The minimum value of the ProgressBar range. The value must not be less than this value.

          @@ -77,7 +77,7 @@
          +secondColor : color

          -secondColor : color

          The second color of the ProgressBar's gradient. Must bind to a color type.

          See also color.

          @@ -88,7 +88,7 @@
          +value : int

          -value : int

          The value of the progress.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html index 5ebae4905..fadb1a531 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html @@ -48,7 +48,7 @@
          +on : bool

          -on : bool

          Indicates the state of the switch. If false, then the switch is in the off state.

          @@ -59,7 +59,7 @@
          +toggle()

          -toggle()

          A method to toggle the switch. If the switch is on, the toggling it will turn it off. Toggling a switch in the off position will turn it on.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html index 2c48e1ddd..1b2421722 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html @@ -62,7 +62,7 @@
          +current : int

          -current : int

          The currently active tab in the TabWidget.

          @@ -72,7 +72,7 @@
          +[read-only] sampleReadOnlyProperty : int

          -[read-only] sampleReadOnlyProperty : int

          A sample read-only property. A contrived property to demonstrate QDoc's ability to detect read-only properties.

          The signature is:

          -- cgit v1.2.3 From 26daab2554a55243a0cb6744346e1cfb27cfc3a9 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Thu, 26 Sep 2019 16:23:15 +0200 Subject: QDoc: Remove Location::null MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As Location is not a CoW class, the use of Location::null over Location() seems unfounded. Remove the static null object and replace its use. Change-Id: I27dd4dfabffbfedb4f310dac43614e1ebb03c522 Reviewed-by: Topi Reiniö --- src/qdoc/config.cpp | 8 ++++---- src/qdoc/doc.cpp | 2 +- src/qdoc/location.cpp | 14 ++++++-------- src/qdoc/location.h | 2 -- src/qdoc/main.cpp | 10 +++++----- src/qdoc/qdocdatabase.cpp | 8 ++++---- src/qdoc/qdoctagfiles.cpp | 2 +- src/qdoc/quoter.cpp | 2 +- 8 files changed, 22 insertions(+), 26 deletions(-) diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp index e7ca42150..55a23610b 100644 --- a/src/qdoc/config.cpp +++ b/src/qdoc/config.cpp @@ -275,7 +275,7 @@ Config::~Config() */ void Config::clear() { - loc = lastLocation_ = Location::null; + loc = lastLocation_ = Location(); configVars_.clear(); includeFilesMap_.clear(); } @@ -327,12 +327,12 @@ void Config::load(const QString &fileName) if (configVars_.contains(CONFIG_PROJECT)) reset(); - load(Location::null, fileName); + load(Location(), fileName); if (loc.isEmpty()) loc = Location(fileName); else loc.setEtc(true); - lastLocation_ = Location::null; + lastLocation_ = Location(); // Add defines and includepaths from command line to their // respective configuration variables. Values set here are @@ -965,7 +965,7 @@ bool Config::isMetaKeyChar(QChar ch) */ QStringList Config::loadMaster(const QString &fileName) { - Location location = Location::null; + Location location; QFile fin(fileName); if (!fin.open(QFile::ReadOnly | QFile::Text)) { if (!Config::installDir.isEmpty()) { diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index 89748b0ad..e20870319 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -328,7 +328,7 @@ typedef QMap CommandMap; class DocPrivate : public Shared { public: - DocPrivate(const Location &start = Location::null, const Location &end = Location::null, + DocPrivate(const Location &start = Location(), const Location &end = Location(), const QString &source = QString()); ~DocPrivate(); diff --git a/src/qdoc/location.cpp b/src/qdoc/location.cpp index aab8ede19..dc378b1d1 100644 --- a/src/qdoc/location.cpp +++ b/src/qdoc/location.cpp @@ -42,8 +42,6 @@ QT_BEGIN_NAMESPACE -const Location Location::null; - int Location::tabSize; int Location::warningCount = 0; int Location::warningLimit = -1; @@ -283,7 +281,7 @@ int Location::exitCode() if (warningLimit < 0 || warningCount <= warningLimit) return EXIT_SUCCESS; - Location::null.emitMessage( + Location().emitMessage( Error, tr("Documentation warnings (%1) exceeded the limit (%2) for '%3'.") .arg(QString::number(warningCount), QString::number(warningLimit), project), @@ -391,11 +389,11 @@ void Location::logToStdErrAlways(const QString &message) */ void Location::internalError(const QString &hint) { - Location::null.fatal(tr("Internal error (%1)").arg(hint), - tr("There is a bug in %1. Seek advice from your local" - " %2 guru.") - .arg(programName) - .arg(programName)); + Location().fatal(tr("Internal error (%1)").arg(hint), + tr("There is a bug in %1. Seek advice from your local" + " %2 guru.") + .arg(programName) + .arg(programName)); } /*! diff --git a/src/qdoc/location.h b/src/qdoc/location.h index 9ad601e1b..fb35038a8 100644 --- a/src/qdoc/location.h +++ b/src/qdoc/location.h @@ -80,8 +80,6 @@ public: void fatal(const QString &message, const QString &details = QString()) const; void report(const QString &message, const QString &details = QString()) const; - static const Location null; - static void initialize(const Config &config); static void terminate(); static void information(const QString &message); diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp index 79cb471ce..72259d4e3 100644 --- a/src/qdoc/main.cpp +++ b/src/qdoc/main.cpp @@ -97,7 +97,7 @@ static void loadIndexFiles(Config &config, const QSet &formats) if (fi.exists() && fi.isFile()) indexFiles << index; else - Location::null.warning(QString("Index file not found: %1").arg(index)); + Location().warning(QString("Index file not found: %1").arg(index)); } config.dependModules() += config.getStringList(CONFIG_DEPENDS); @@ -194,10 +194,10 @@ static void loadIndexFiles(Config &config, const QSet &formats) indexPaths.reserve(foundIndices.size()); for (const auto &found : qAsConst(foundIndices)) indexPaths << found.absoluteFilePath(); - Location::null.warning( + Location().warning( QString("Multiple index files found for dependency \"%1\":\n%2") .arg(module, indexPaths.join('\n'))); - Location::null.warning( + Location().warning( QString("Using %1 as index file for dependency \"%2\"") .arg(foundIndices[foundIndices.size() - 1].absoluteFilePath(), module)); @@ -209,13 +209,13 @@ static void loadIndexFiles(Config &config, const QSet &formats) if (!indexFiles.contains(indexToAdd)) indexFiles << indexToAdd; } else if (!asteriskUsed) { - Location::null.warning( + Location().warning( QString("\"%1\" Cannot locate index file for dependency \"%2\"") .arg(config.getString(CONFIG_PROJECT), module)); } } } else { - Location::null.warning( + Location().warning( QLatin1String("Dependent modules specified, but no index directories were set. " "There will probably be errors for missing links.")); } diff --git a/src/qdoc/qdocdatabase.cpp b/src/qdoc/qdocdatabase.cpp index be257b4b8..f32c4b7dc 100644 --- a/src/qdoc/qdocdatabase.cpp +++ b/src/qdoc/qdocdatabase.cpp @@ -336,7 +336,7 @@ const Node *QDocForest::findNodeForTarget(QStringList &targetPath, const Node *r */ void QDocForest::printLinkCounts(const QString &project) { - Location::null.report(QString("%1: Link Counts").arg(project)); + Location().report(QString("%1: Link Counts").arg(project)); QMultiMap m; for (const auto *tree : searchOrder()) { if (tree->linkCount() < 0) @@ -352,10 +352,10 @@ void QDocForest::printLinkCounts(const QString &project) for (int k = 0; k < pad; ++k) line += QLatin1Char(' '); line += "%1"; - Location::null.report(line.arg(-(it.key()))); + Location().report(line.arg(-(it.key()))); } - Location::null.report("Optimal depends variable:"); - Location::null.report(depends); + Location().report("Optimal depends variable:"); + Location().report(depends); } /*! diff --git a/src/qdoc/qdoctagfiles.cpp b/src/qdoc/qdoctagfiles.cpp index 8d97ce48a..cf593aa4c 100644 --- a/src/qdoc/qdoctagfiles.cpp +++ b/src/qdoc/qdoctagfiles.cpp @@ -341,7 +341,7 @@ void QDocTagFiles::generateTagFile(const QString &fileName, Generator *g) file.setFileName(gen_->outputDir() + QLatin1Char('/') + fileInfo.fileName()); if (!file.open(QFile::WriteOnly | QFile::Text)) { - Location::null.warning(QString("Failed to open %1 for writing.").arg(file.fileName())); + Location().warning(QString("Failed to open %1 for writing.").arg(file.fileName())); return; } diff --git a/src/qdoc/quoter.cpp b/src/qdoc/quoter.cpp index a313ab5c5..fcdc6dee1 100644 --- a/src/qdoc/quoter.cpp +++ b/src/qdoc/quoter.cpp @@ -134,7 +134,7 @@ void Quoter::reset() silent = false; plainLines.clear(); markedLines.clear(); - codeLocation = Location::null; + codeLocation = Location(); } void Quoter::quoteFromFile(const QString &userFriendlyFilePath, const QString &plainCode, -- cgit v1.2.3 From a71c95eda2e941f97286b75f10634c3516e6eb68 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 13 Feb 2020 13:12:03 +0100 Subject: Assistant/remotecontrol example: Fix deprecation warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use {} to initialize QFLags, fixing: remotecontrol.h:67:70: warning: ‘constexpr QFlags::QFlags(QFlags::Zero) [with Enum = Qt::WindowType; QFlags::Zero = int QFlags::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations] Change-Id: I0a29d15312c00e5efa203121c28e170e109bc7c0 Reviewed-by: Karsten Heimrich --- examples/assistant/remotecontrol/remotecontrol.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/assistant/remotecontrol/remotecontrol.h b/examples/assistant/remotecontrol/remotecontrol.h index 40e370f71..f59ffb7aa 100644 --- a/examples/assistant/remotecontrol/remotecontrol.h +++ b/examples/assistant/remotecontrol/remotecontrol.h @@ -64,7 +64,7 @@ class RemoteControl : public QMainWindow Q_OBJECT public: - RemoteControl(QWidget *parent = nullptr, Qt::WindowFlags flags = 0); + RemoteControl(QWidget *parent = nullptr, Qt::WindowFlags flags = {}); ~RemoteControl(); private: -- cgit v1.2.3 From d664b8f6b8689216b844d4716ee06c2cde7b9c2b Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 13 Feb 2020 12:41:32 +0100 Subject: Fix deprecation warnings about QComboBox: deprecate currentIndexChanged(QString) Fix warnings introduced qtbase/11dc7b35c8c3957bd19087a5e3ae7cfc4f1a3343. Task-number: QTBUG-81845 Change-Id: I49169c34ec9aaff3625bcb9dfaef1d29b7beae07 Reviewed-by: Vitaly Fanaskov --- src/assistant/assistant/bookmarkdialog.cpp | 2 +- src/assistant/assistant/preferencesdialog.cpp | 4 ++-- src/designer/src/components/formeditor/dpi_chooser.cpp | 2 +- src/designer/src/components/formeditor/embeddedoptionspage.cpp | 2 +- src/designer/src/designer/qdesigner_appearanceoptions.cpp | 2 +- src/designer/src/lib/shared/formlayoutmenu.cpp | 2 +- src/designer/src/lib/shared/newformwidget.cpp | 2 +- src/designer/src/lib/shared/previewconfigurationwidget.cpp | 2 +- src/shared/fontpanel/fontpanel.cpp | 6 +++--- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/assistant/assistant/bookmarkdialog.cpp b/src/assistant/assistant/bookmarkdialog.cpp index 8207da04e..1ffe6dc84 100644 --- a/src/assistant/assistant/bookmarkdialog.cpp +++ b/src/assistant/assistant/bookmarkdialog.cpp @@ -60,7 +60,7 @@ BookmarkDialog::BookmarkDialog(BookmarkModel *sourceModel, const QString &title, bookmarkProxyModel = new BookmarkFilterModel(this); bookmarkProxyModel->setSourceModel(bookmarkModel); ui.bookmarkFolders->setModel(bookmarkProxyModel); - connect(ui.bookmarkFolders, QOverload::of(&QComboBox::currentIndexChanged), + connect(ui.bookmarkFolders, QOverload::of(&QComboBox::currentIndexChanged), this, QOverload::of(&BookmarkDialog::currentIndexChanged)); bookmarkTreeModel = new BookmarkTreeModel(this); diff --git a/src/assistant/assistant/preferencesdialog.cpp b/src/assistant/assistant/preferencesdialog.cpp index ebd2a96e8..5dd24a102 100644 --- a/src/assistant/assistant/preferencesdialog.cpp +++ b/src/assistant/assistant/preferencesdialog.cpp @@ -200,13 +200,13 @@ void PreferencesDialog::updateFontSettingsPage() const QList &appCombos = m_appFontPanel->findChildren(); for (QComboBox* box : appCombos) { - connect(box, QOverload::of(&QComboBox::currentIndexChanged), + connect(box, QOverload::of(&QComboBox::currentIndexChanged), this, &PreferencesDialog::appFontSettingChanged); } const QList &browserCombos = m_browserFontPanel->findChildren(); for (QComboBox* box : browserCombos) { - connect(box, QOverload::of(&QComboBox::currentIndexChanged), + connect(box, QOverload::of(&QComboBox::currentIndexChanged), this, &PreferencesDialog::browserFontSettingChanged); } } diff --git a/src/designer/src/components/formeditor/dpi_chooser.cpp b/src/designer/src/components/formeditor/dpi_chooser.cpp index 5e2f9f605..a254bf12a 100644 --- a/src/designer/src/components/formeditor/dpi_chooser.cpp +++ b/src/designer/src/components/formeditor/dpi_chooser.cpp @@ -94,7 +94,7 @@ DPI_Chooser::DPI_Chooser(QWidget *parent) : setFocusProxy(m_predefinedCombo); m_predefinedCombo->setEditable(false); m_predefinedCombo->setCurrentIndex(0); - connect(m_predefinedCombo, QOverload::of(&QComboBox::currentIndexChanged), + connect(m_predefinedCombo, QOverload::of(&QComboBox::currentIndexChanged), this, &DPI_Chooser::syncSpinBoxes); // top row with predefined settings QVBoxLayout *vBoxLayout = new QVBoxLayout; diff --git a/src/designer/src/components/formeditor/embeddedoptionspage.cpp b/src/designer/src/components/formeditor/embeddedoptionspage.cpp index 85cc1f930..062fc6e4f 100644 --- a/src/designer/src/components/formeditor/embeddedoptionspage.cpp +++ b/src/designer/src/components/formeditor/embeddedoptionspage.cpp @@ -145,7 +145,7 @@ void EmbeddedOptionsControlPrivate::init(EmbeddedOptionsControl *q) m_profileCombo->setEditable(false); hLayout->addWidget(m_profileCombo); m_profileCombo->addItem(EmbeddedOptionsControl::tr("None")); - EmbeddedOptionsControl::connect(m_profileCombo, QOverload::of(&QComboBox::currentIndexChanged), + EmbeddedOptionsControl::connect(m_profileCombo, QOverload::of(&QComboBox::currentIndexChanged), m_q, &EmbeddedOptionsControl::slotProfileIndexChanged); m_addButton->setIcon(createIconSet(QString::fromUtf8("plus.png"))); diff --git a/src/designer/src/designer/qdesigner_appearanceoptions.cpp b/src/designer/src/designer/qdesigner_appearanceoptions.cpp index 66eb49c9f..fbcfacc6e 100644 --- a/src/designer/src/designer/qdesigner_appearanceoptions.cpp +++ b/src/designer/src/designer/qdesigner_appearanceoptions.cpp @@ -65,7 +65,7 @@ QDesignerAppearanceOptionsWidget::QDesignerAppearanceOptionsWidget(QWidget *pare m_ui->m_uiModeCombo->addItem(tr("Docked Window"), QVariant(DockedMode)); m_ui->m_uiModeCombo->addItem(tr("Multiple Top-Level Windows"), QVariant(TopLevelMode)); - connect(m_ui->m_uiModeCombo, QOverload::of(&QComboBox::currentIndexChanged), + connect(m_ui->m_uiModeCombo, QOverload::of(&QComboBox::currentIndexChanged), this, &QDesignerAppearanceOptionsWidget::slotUiModeComboChanged); m_ui->m_fontPanel->setCheckable(true); diff --git a/src/designer/src/lib/shared/formlayoutmenu.cpp b/src/designer/src/lib/shared/formlayoutmenu.cpp index 48d6ee488..58631b5db 100644 --- a/src/designer/src/lib/shared/formlayoutmenu.cpp +++ b/src/designer/src/lib/shared/formlayoutmenu.cpp @@ -154,7 +154,7 @@ FormLayoutRowDialog::FormLayoutRowDialog(QDesignerFormEditorInterface *core, m_ui.fieldClassComboBox->addItems(fieldWidgetClasses(core)); m_ui.fieldClassComboBox->setCurrentIndex(0); connect(m_ui.fieldClassComboBox, - QOverload::of(&QComboBox::currentIndexChanged), + QOverload::of(&QComboBox::currentIndexChanged), this, &FormLayoutRowDialog::fieldClassChanged); updateOkButton(); diff --git a/src/designer/src/lib/shared/newformwidget.cpp b/src/designer/src/lib/shared/newformwidget.cpp index dda60fd16..67e08c475 100644 --- a/src/designer/src/lib/shared/newformwidget.cpp +++ b/src/designer/src/lib/shared/newformwidget.cpp @@ -179,7 +179,7 @@ NewFormWidget::NewFormWidget(QDesignerFormEditorInterface *core, QWidget *parent m_deviceProfiles = settings.deviceProfiles(); m_ui->profileComboBox->addItem(tr("None")); connect(m_ui->profileComboBox, - QOverload::of(&QComboBox::currentIndexChanged), + QOverload::of(&QComboBox::currentIndexChanged), this, &NewFormWidget::slotDeviceProfileIndexChanged); if (m_deviceProfiles.isEmpty()) { m_ui->profileComboBox->setEnabled(false); diff --git a/src/designer/src/lib/shared/previewconfigurationwidget.cpp b/src/designer/src/lib/shared/previewconfigurationwidget.cpp index 4aa68d083..1f7649975 100644 --- a/src/designer/src/lib/shared/previewconfigurationwidget.cpp +++ b/src/designer/src/lib/shared/previewconfigurationwidget.cpp @@ -317,7 +317,7 @@ PreviewConfigurationWidget::PreviewConfigurationWidget(QDesignerFormEditorInterf this, &PreviewConfigurationWidget::slotEditAppStyleSheet); connect(m_impl->skinRemoveButton(), &QAbstractButton::clicked, this, &PreviewConfigurationWidget::slotDeleteSkinEntry); - connect(m_impl->skinCombo(), QOverload::of(&QComboBox::currentIndexChanged), + connect(m_impl->skinCombo(), QOverload::of(&QComboBox::currentIndexChanged), this, &PreviewConfigurationWidget::slotSkinChanged); m_impl->retrieveSettings(); diff --git a/src/shared/fontpanel/fontpanel.cpp b/src/shared/fontpanel/fontpanel.cpp index 2645d992e..325dad205 100644 --- a/src/shared/fontpanel/fontpanel.cpp +++ b/src/shared/fontpanel/fontpanel.cpp @@ -68,7 +68,7 @@ FontPanel::FontPanel(QWidget *parentWidget) : writingSystems.push_front(QFontDatabase::Any); for (QFontDatabase::WritingSystem ws : qAsConst(writingSystems)) m_writingSystemComboBox->addItem(QFontDatabase::writingSystemName(ws), QVariant(ws)); - connect(m_writingSystemComboBox, QOverload::of(&QComboBox::currentIndexChanged), + connect(m_writingSystemComboBox, QOverload::of(&QComboBox::currentIndexChanged), this, &FontPanel::slotWritingSystemChanged); formLayout->addRow(tr("&Writing system"), m_writingSystemComboBox); @@ -77,12 +77,12 @@ FontPanel::FontPanel(QWidget *parentWidget) : formLayout->addRow(tr("&Family"), m_familyComboBox); m_styleComboBox->setEditable(false); - connect(m_styleComboBox, QOverload::of(&QComboBox::currentIndexChanged), + connect(m_styleComboBox, QOverload::of(&QComboBox::currentIndexChanged), this, &FontPanel::slotStyleChanged); formLayout->addRow(tr("&Style"), m_styleComboBox); m_pointSizeComboBox->setEditable(false); - connect(m_pointSizeComboBox, QOverload::of(&QComboBox::currentIndexChanged), + connect(m_pointSizeComboBox, QOverload::of(&QComboBox::currentIndexChanged), this, &FontPanel::slotPointSizeChanged); formLayout->addRow(tr("&Point size"), m_pointSizeComboBox); -- cgit v1.2.3 From 86e10dcaa37a7b7d17b3a830e21023955d022eef Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Thu, 13 Feb 2020 20:01:06 +0100 Subject: Update dependencies on 'dev' in qt/qttools Change-Id: I7dbc6c4306290ac2b1d3e4f504a2a22c2f61b3c6 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index aa02116b5..2e5e357f7 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: a13e8d6660913bec172d1374f78083498c539df0 + ref: 54c2cebabdda0280b8443c6947b6fee02445e138 required: true ../qtdeclarative: - ref: 94d385327d932d27b7277e803d0eaa167f792222 + ref: 53894241afc022ba1d975d95fe2737f4fa5d475d required: false -- cgit v1.2.3 From 5761c0ce3bbcc743f62d4b33ff7f582189e44da5 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Fri, 14 Feb 2020 09:02:42 +0100 Subject: Fix qmake warning about failure to find /xmlparser.h This amends 9e694337058 Change-Id: Ice498c525130a895eb1079391d2a5facf923ffc2 Reviewed-by: Friedemann Kleint --- src/linguist/shared/formats.pri | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/linguist/shared/formats.pri b/src/linguist/shared/formats.pri index d77dacac5..876fe50cc 100644 --- a/src/linguist/shared/formats.pri +++ b/src/linguist/shared/formats.pri @@ -9,7 +9,7 @@ SOURCES += \ HEADERS += \ $$PWD/translator.h \ $$PWD/translatormessage.h \ - $$PWF/xmlparser.h + $$PWD/xmlparser.h # "real" formats readers and writers SOURCES += \ -- cgit v1.2.3 From f4b2c5b577793ebf255a7da187305e8e0d8ebc08 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 11 Feb 2020 15:13:18 +0100 Subject: Revert "Release Qt UI Tools library under BSD license" The license was originally changed from LGPL to BSD because the Qt UI Tools library was built statically by default. We will revert this in a follow-up commit. This reverts commit 909a00a4f3d1882eb974ad2953024c4670e2e392. Change-Id: Id1d24429d633688b537fcf90b53ff55d0ccd28fc Reviewed-by: Joerg Bornemann --- src/designer/src/lib/uilib/abstractformbuilder.cpp | 49 ++++++++------------- src/designer/src/lib/uilib/abstractformbuilder.h | 49 ++++++++------------- src/designer/src/lib/uilib/formbuilder.cpp | 49 ++++++++------------- src/designer/src/lib/uilib/formbuilder.h | 49 ++++++++------------- src/designer/src/lib/uilib/formbuilderextra.cpp | 49 ++++++++------------- src/designer/src/lib/uilib/formbuilderextra_p.h | 49 ++++++++------------- src/designer/src/lib/uilib/properties.cpp | 49 ++++++++------------- src/designer/src/lib/uilib/properties_p.h | 49 ++++++++------------- src/designer/src/lib/uilib/resourcebuilder.cpp | 49 ++++++++------------- src/designer/src/lib/uilib/resourcebuilder_p.h | 49 ++++++++------------- src/designer/src/lib/uilib/textbuilder.cpp | 49 ++++++++------------- src/designer/src/lib/uilib/textbuilder_p.h | 49 ++++++++------------- src/designer/src/lib/uilib/ui4.cpp | 49 ++++++++------------- src/designer/src/lib/uilib/ui4_p.h | 49 ++++++++------------- src/designer/src/lib/uilib/uilib_global.h | 51 +++++++++------------- .../src/uitools/doc/src/qtuitools-index.qdoc | 49 +++------------------ src/designer/src/uitools/quiloader.cpp | 49 ++++++++------------- src/designer/src/uitools/quiloader.h | 49 ++++++++------------- src/designer/src/uitools/quiloader_p.h | 49 ++++++++------------- 19 files changed, 348 insertions(+), 585 deletions(-) diff --git a/src/designer/src/lib/uilib/abstractformbuilder.cpp b/src/designer/src/lib/uilib/abstractformbuilder.cpp index 5e275a707..e9a94c521 100644 --- a/src/designer/src/lib/uilib/abstractformbuilder.cpp +++ b/src/designer/src/lib/uilib/abstractformbuilder.cpp @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/abstractformbuilder.h b/src/designer/src/lib/uilib/abstractformbuilder.h index 9e6a89e34..58c9aef26 100644 --- a/src/designer/src/lib/uilib/abstractformbuilder.h +++ b/src/designer/src/lib/uilib/abstractformbuilder.h @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/formbuilder.cpp b/src/designer/src/lib/uilib/formbuilder.cpp index 45fdf60a9..a7dd144b3 100644 --- a/src/designer/src/lib/uilib/formbuilder.cpp +++ b/src/designer/src/lib/uilib/formbuilder.cpp @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/formbuilder.h b/src/designer/src/lib/uilib/formbuilder.h index 7a004b23a..b2a61bf9f 100644 --- a/src/designer/src/lib/uilib/formbuilder.h +++ b/src/designer/src/lib/uilib/formbuilder.h @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/formbuilderextra.cpp b/src/designer/src/lib/uilib/formbuilderextra.cpp index 8dfb1b479..f651faaff 100644 --- a/src/designer/src/lib/uilib/formbuilderextra.cpp +++ b/src/designer/src/lib/uilib/formbuilderextra.cpp @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/formbuilderextra_p.h b/src/designer/src/lib/uilib/formbuilderextra_p.h index ee7ed50bb..f70fc7b56 100644 --- a/src/designer/src/lib/uilib/formbuilderextra_p.h +++ b/src/designer/src/lib/uilib/formbuilderextra_p.h @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/properties.cpp b/src/designer/src/lib/uilib/properties.cpp index 0e18d3ca9..36f4f7daa 100644 --- a/src/designer/src/lib/uilib/properties.cpp +++ b/src/designer/src/lib/uilib/properties.cpp @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/properties_p.h b/src/designer/src/lib/uilib/properties_p.h index aa707b323..7fa8e052f 100644 --- a/src/designer/src/lib/uilib/properties_p.h +++ b/src/designer/src/lib/uilib/properties_p.h @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/resourcebuilder.cpp b/src/designer/src/lib/uilib/resourcebuilder.cpp index f6bdaed5e..78960fce8 100644 --- a/src/designer/src/lib/uilib/resourcebuilder.cpp +++ b/src/designer/src/lib/uilib/resourcebuilder.cpp @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/resourcebuilder_p.h b/src/designer/src/lib/uilib/resourcebuilder_p.h index 89cb5f8fe..a5fb6b37c 100644 --- a/src/designer/src/lib/uilib/resourcebuilder_p.h +++ b/src/designer/src/lib/uilib/resourcebuilder_p.h @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/textbuilder.cpp b/src/designer/src/lib/uilib/textbuilder.cpp index abf148a93..96d453ee3 100644 --- a/src/designer/src/lib/uilib/textbuilder.cpp +++ b/src/designer/src/lib/uilib/textbuilder.cpp @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/textbuilder_p.h b/src/designer/src/lib/uilib/textbuilder_p.h index 3a2e75dd8..7944c6f7e 100644 --- a/src/designer/src/lib/uilib/textbuilder_p.h +++ b/src/designer/src/lib/uilib/textbuilder_p.h @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/ui4.cpp b/src/designer/src/lib/uilib/ui4.cpp index c58d3e80a..3ead7960a 100644 --- a/src/designer/src/lib/uilib/ui4.cpp +++ b/src/designer/src/lib/uilib/ui4.cpp @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the tools applications of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/ui4_p.h b/src/designer/src/lib/uilib/ui4_p.h index 6066cf4d4..0b9a4c8e8 100644 --- a/src/designer/src/lib/uilib/ui4_p.h +++ b/src/designer/src/lib/uilib/ui4_p.h @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the tools applications of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/lib/uilib/uilib_global.h b/src/designer/src/lib/uilib/uilib_global.h index 3f4944bc8..8630b0af0 100644 --- a/src/designer/src/lib/uilib/uilib_global.h +++ b/src/designer/src/lib/uilib/uilib_global.h @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/uitools/doc/src/qtuitools-index.qdoc b/src/designer/src/uitools/doc/src/qtuitools-index.qdoc index db73d8ac9..a63de0e50 100644 --- a/src/designer/src/uitools/doc/src/qtuitools-index.qdoc +++ b/src/designer/src/uitools/doc/src/qtuitools-index.qdoc @@ -57,50 +57,11 @@ \section1 Licenses and Attributions Qt UI Tools is available under commercial licenses from \l{The Qt Company}. - Since Qt 5.11, it is also available under the BSD 3-Clause - "New" or "Revised" License: - - \code -Copyright (C) 2018 The Qt Company Ltd. - -Commercial License Usage -Licensees holding valid commercial Qt licenses may use this file in -accordance with the commercial license agreement provided with the -Software or, alternatively, in accordance with the terms contained in -a written agreement between you and The Qt Company. For licensing terms -and conditions see https://www.qt.io/terms-conditions. For further -information use the contact form at https://www.qt.io/contact-us. - -BSD License Usage -Alternatively, you may use this file under the terms of the BSD license -as follows: - -"Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of The Qt Company Ltd nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - \endcode + In addition, it is available under free software licenses. Since Qt 6.0, + these free software licenses are + \l{GNU Lesser General Public License, version 3}, or + the \l{GNU General Public License, version 2}. + See \l{Qt Licensing} for further details. \section1 API Reference These are links to the API reference materials. diff --git a/src/designer/src/uitools/quiloader.cpp b/src/designer/src/uitools/quiloader.cpp index 2b02b9fde..5a858f091 100644 --- a/src/designer/src/uitools/quiloader.cpp +++ b/src/designer/src/uitools/quiloader.cpp @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/uitools/quiloader.h b/src/designer/src/uitools/quiloader.h index 82a01210b..14c8f4af6 100644 --- a/src/designer/src/uitools/quiloader.h +++ b/src/designer/src/uitools/quiloader.h @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** diff --git a/src/designer/src/uitools/quiloader_p.h b/src/designer/src/uitools/quiloader_p.h index 0a6907a54..84152eb71 100644 --- a/src/designer/src/uitools/quiloader_p.h +++ b/src/designer/src/uitools/quiloader_p.h @@ -1,11 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2018 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Designer of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:BSD$ +** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -14,35 +14,24 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. ** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** -- cgit v1.2.3 From f108334155bcc6989e3efbbc62ac0aabd93bdd5f Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 11 Feb 2020 14:37:48 +0100 Subject: Make Qt UiTools a dynamic library [ChangeLog][General] Qt UiTools is now built as a dynamic library (instead of a static one), and therefore has to be deployed along with the other Qt libraries. Fixes: QTBUG-437 Change-Id: Ib69915c9d6f6b3466f58dcf8787a1773dc7007bc Reviewed-by: Joerg Bornemann --- src/designer/src/uitools/qtuitoolsglobal.h | 60 ++++++++++++++++++++++++++++++ src/designer/src/uitools/quiloader.cpp | 2 +- src/designer/src/uitools/quiloader.h | 5 ++- src/designer/src/uitools/quiloader_p.h | 5 ++- src/designer/src/uitools/uitools.pro | 1 - 5 files changed, 67 insertions(+), 6 deletions(-) create mode 100644 src/designer/src/uitools/qtuitoolsglobal.h diff --git a/src/designer/src/uitools/qtuitoolsglobal.h b/src/designer/src/uitools/qtuitoolsglobal.h new file mode 100644 index 000000000..40827b3ab --- /dev/null +++ b/src/designer/src/uitools/qtuitoolsglobal.h @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt UI Tools library of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QTUITOOLSGLOBAL_H +#define QTUITOOLSGLOBAL_H + +#include + +QT_BEGIN_NAMESPACE + +#ifndef QT_STATIC +# if defined(QT_BUILD_UITOOLS_LIB) +# define Q_UITOOLS_EXPORT Q_DECL_EXPORT +# else +# define Q_UITOOLS_EXPORT Q_DECL_IMPORT +# endif +#else +# define Q_UITOOLS_EXPORT +#endif + +QT_END_NAMESPACE + +#endif // QTUITOOLSGLOBAL_H + diff --git a/src/designer/src/uitools/quiloader.cpp b/src/designer/src/uitools/quiloader.cpp index 5a858f091..058912f4f 100644 --- a/src/designer/src/uitools/quiloader.cpp +++ b/src/designer/src/uitools/quiloader.cpp @@ -3,7 +3,7 @@ ** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** -** This file is part of the Qt Designer of the Qt Toolkit. +** This file is part of the Qt UI Tools library of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage diff --git a/src/designer/src/uitools/quiloader.h b/src/designer/src/uitools/quiloader.h index 14c8f4af6..7d632ab0b 100644 --- a/src/designer/src/uitools/quiloader.h +++ b/src/designer/src/uitools/quiloader.h @@ -3,7 +3,7 @@ ** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** -** This file is part of the Qt Designer of the Qt Toolkit. +** This file is part of the Qt UI Tools library of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage @@ -40,6 +40,7 @@ #ifndef QUILOADER_H #define QUILOADER_H +#include #include #include @@ -54,7 +55,7 @@ class QIODevice; class QDir; class QUiLoaderPrivate; -class QUiLoader : public QObject +class Q_UITOOLS_EXPORT QUiLoader : public QObject { Q_OBJECT public: diff --git a/src/designer/src/uitools/quiloader_p.h b/src/designer/src/uitools/quiloader_p.h index 84152eb71..632eb6eff 100644 --- a/src/designer/src/uitools/quiloader_p.h +++ b/src/designer/src/uitools/quiloader_p.h @@ -3,7 +3,7 @@ ** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** -** This file is part of the Qt Designer of the Qt Toolkit. +** This file is part of the Qt UI Tools library of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage @@ -51,6 +51,7 @@ // We mean it. // +#include #include #include @@ -95,7 +96,7 @@ namespace QFormInternal { #endif -extern const QUiItemRolePair qUiItemRoles[]; +extern const Q_UITOOLS_EXPORT QUiItemRolePair qUiItemRoles[]; #ifdef QFORMINTERNAL_NAMESPACE } diff --git a/src/designer/src/uitools/uitools.pro b/src/designer/src/uitools/uitools.pro index 8a71fa8b1..169211f9e 100644 --- a/src/designer/src/uitools/uitools.pro +++ b/src/designer/src/uitools/uitools.pro @@ -1,5 +1,4 @@ TARGET = QtUiTools -CONFIG += static include(../lib/uilib/uilib.pri) -- cgit v1.2.3 From bf7f254a46d6d3d2ca0aae9d99d25c192ae20d9f Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 11 Feb 2020 16:26:18 +0100 Subject: QHelpFilterSettingsWidget: Improve API - Make constructor explicit - Add some const for clarity - Fix style issues, include convention Change-Id: Ic90c446dde66ab21a0ba621c6dfa939adb822c4e Reviewed-by: Karsten Heimrich Reviewed-by: Jarek Kobus --- src/assistant/help/qhelpfiltersettings.cpp | 2 +- src/assistant/help/qhelpfiltersettings_p.h | 2 +- src/assistant/help/qhelpfiltersettingswidget.cpp | 6 +++--- src/assistant/help/qhelpfiltersettingswidget.h | 11 +++++------ 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/assistant/help/qhelpfiltersettings.cpp b/src/assistant/help/qhelpfiltersettings.cpp index e9a1c3f4e..206692179 100644 --- a/src/assistant/help/qhelpfiltersettings.cpp +++ b/src/assistant/help/qhelpfiltersettings.cpp @@ -107,7 +107,7 @@ QString QHelpFilterSettings::currentFilter() const return d->m_currentFilter; } -QHelpFilterSettings QHelpFilterSettings::readSettings(QHelpFilterEngine *filterEngine) +QHelpFilterSettings QHelpFilterSettings::readSettings(const QHelpFilterEngine *filterEngine) { QHelpFilterSettings filterSettings; diff --git a/src/assistant/help/qhelpfiltersettings_p.h b/src/assistant/help/qhelpfiltersettings_p.h index 50e30e492..da25d300e 100644 --- a/src/assistant/help/qhelpfiltersettings_p.h +++ b/src/assistant/help/qhelpfiltersettings_p.h @@ -73,7 +73,7 @@ public: void setCurrentFilter(const QString &filterName); QString currentFilter() const; - static QHelpFilterSettings readSettings(QHelpFilterEngine *filterEngine); + static QHelpFilterSettings readSettings(const QHelpFilterEngine *filterEngine); static bool applySettings(QHelpFilterEngine *filterEngine, const QHelpFilterSettings &settings); private: diff --git a/src/assistant/help/qhelpfiltersettingswidget.cpp b/src/assistant/help/qhelpfiltersettingswidget.cpp index 15cc4f475..51c66c269 100644 --- a/src/assistant/help/qhelpfiltersettingswidget.cpp +++ b/src/assistant/help/qhelpfiltersettingswidget.cpp @@ -407,7 +407,7 @@ void QHelpFilterSettingsWidget::setAvailableVersions(const QList Reads the filter settings stored inside \a filterEngine and sets up this filter settings widget accordingly. */ -void QHelpFilterSettingsWidget::readSettings(QHelpFilterEngine *filterEngine) +void QHelpFilterSettingsWidget::readSettings(const QHelpFilterEngine *filterEngine) { Q_D(QHelpFilterSettingsWidget); const QHelpFilterSettings settings = QHelpFilterSettings::readSettings(filterEngine); @@ -419,9 +419,9 @@ void QHelpFilterSettingsWidget::readSettings(QHelpFilterEngine *filterEngine) widget, to the \a filterEngine. The old settings stored in the filter engine will be overwritten. */ -bool QHelpFilterSettingsWidget::applySettings(QHelpFilterEngine *filterEngine) +bool QHelpFilterSettingsWidget::applySettings(QHelpFilterEngine *filterEngine) const { - Q_D(QHelpFilterSettingsWidget); + Q_D(const QHelpFilterSettingsWidget); return QHelpFilterSettings::applySettings(filterEngine, d->filterSettings()); } diff --git a/src/assistant/help/qhelpfiltersettingswidget.h b/src/assistant/help/qhelpfiltersettingswidget.h index 1b6606054..c3c77305f 100644 --- a/src/assistant/help/qhelpfiltersettingswidget.h +++ b/src/assistant/help/qhelpfiltersettingswidget.h @@ -42,7 +42,7 @@ #include -#include +#include QT_BEGIN_NAMESPACE @@ -55,7 +55,7 @@ class QHELP_EXPORT QHelpFilterSettingsWidget : public QWidget { Q_OBJECT public: - QHelpFilterSettingsWidget(QWidget *parent); + explicit QHelpFilterSettingsWidget(QWidget *parent = nullptr); ~QHelpFilterSettingsWidget(); @@ -63,8 +63,8 @@ public: void setAvailableVersions(const QList &versions); // TODO: filterEngine may be moved to c'tor or to setFilterEngine() setter - void readSettings(QHelpFilterEngine *filterEngine); - bool applySettings(QHelpFilterEngine *filterEngine); + void readSettings(const QHelpFilterEngine *filterEngine); + bool applySettings(QHelpFilterEngine *filterEngine) const; private: QScopedPointer d_ptr; @@ -74,5 +74,4 @@ private: QT_END_NAMESPACE -#endif - +#endif // QHELPFILTERSETTINGSWIDGET_H -- cgit v1.2.3 From 35a9c74ec925a67134646798981ca35524c91677 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Wed, 12 Feb 2020 15:18:39 +0100 Subject: QDoc: Format according to style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Run clang-format across QDoc, this is the result. Change-Id: Iaabad0a07a0495990013cbf5995c65db531a7d0d Reviewed-by: Topi Reiniö --- src/qdoc/clangcodeparser.cpp | 7 +++---- src/qdoc/codemarker.cpp | 4 +--- src/qdoc/config.h | 3 ++- src/qdoc/doc.cpp | 2 +- src/qdoc/generator.cpp | 8 +++++--- src/qdoc/htmlgenerator.cpp | 5 ++--- src/qdoc/node.cpp | 13 +++++++------ src/qdoc/node.h | 9 ++------- src/qdoc/qmlmarkupvisitor.cpp | 3 ++- 9 files changed, 25 insertions(+), 29 deletions(-) diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp index 169cfc568..89ef4f067 100644 --- a/src/qdoc/clangcodeparser.cpp +++ b/src/qdoc/clangcodeparser.cpp @@ -155,8 +155,7 @@ static QStringList getTemplateParameters(CXCursor cursor) static QString templateDecl(CXCursor cursor) { QStringList params = getTemplateParameters(cursor); - return QLatin1String("template <") + params.join(QLatin1String(", ")) + - QLatin1Char('>'); + return QLatin1String("template <") + params.join(QLatin1String(", ")) + QLatin1Char('>'); } /*! @@ -690,8 +689,8 @@ CXChildVisitResult ClangVisitor::visitHeader(CXCursor cursor, CXSourceLocation l auto classe = static_cast(parent_); if (baseNode == nullptr || !baseNode->isClassNode()) { QString bcName = reconstructQualifiedPathForCursor(baseCursor); - classe->addUnresolvedBaseClass(access, - bcName.split(QLatin1String("::"), QString::SkipEmptyParts), bcName); + classe->addUnresolvedBaseClass( + access, bcName.split(QLatin1String("::"), QString::SkipEmptyParts), bcName); return CXChildVisit_Continue; } auto baseClasse = static_cast(baseNode); diff --git a/src/qdoc/codemarker.cpp b/src/qdoc/codemarker.cpp index ab8b53039..070218b6e 100644 --- a/src/qdoc/codemarker.cpp +++ b/src/qdoc/codemarker.cpp @@ -66,9 +66,7 @@ CodeMarker::~CodeMarker() A code market performs no initialization by default. Marker-specific initialization is performed in subclasses. */ -void CodeMarker::initializeMarker() -{ -} +void CodeMarker::initializeMarker() {} /*! Terminating a code marker is trivial. diff --git a/src/qdoc/config.h b/src/qdoc/config.h index 36023b38a..151a8caee 100644 --- a/src/qdoc/config.h +++ b/src/qdoc/config.h @@ -50,7 +50,8 @@ class Singleton public: Singleton(const Singleton &) = delete; Singleton &operator=(const Singleton &) = delete; - static T &instance() { + static T &instance() + { static T instance; return instance; } diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index 1720fbaeb..87a29be51 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -1375,7 +1375,7 @@ void DocParser::parse(const QString &source, DocPrivate *docPrivate, // The QML and JS property group commands are no longer required // for grouping QML and JS properties. They are allowed but ignored. location().warning(tr("Unknown command '\\%1'").arg(cmdStr), - detailsUnknownCommand(metaCommandSet,cmdStr)); + detailsUnknownCommand(metaCommandSet, cmdStr)); } enterPara(); append(Atom::UnknownCommand, cmdStr); diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index fa442994e..3897b8519 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -394,7 +394,8 @@ QString Generator::fileBase(const Node *node) const to the file name. The suffix, if one exists, is appended to the module name. */ - if (!node->logicalModuleName().isEmpty() && (!node->logicalModule()->isInternal() || showInternal_)) + if (!node->logicalModuleName().isEmpty() + && (!node->logicalModule()->isInternal() || showInternal_)) base.prepend(node->logicalModuleName() + outputSuffix(node) + QLatin1Char('-')); base.prepend(outputPrefix(node)); @@ -1261,8 +1262,9 @@ void Generator::generateReimplementsClause(const FunctionNode *fn, CodeMarker *m text << "." << Atom::ParaRight; generateText(text, fn, marker); } else { - fn->doc().location().warning(tr("Illegal \\reimp; no documented virtual function for %1") - .arg(overrides->plainSignature())); + fn->doc().location().warning( + tr("Illegal \\reimp; no documented virtual function for %1") + .arg(overrides->plainSignature())); } return; } diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 70def56bf..0f84d9776 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -2138,7 +2138,7 @@ void HtmlGenerator::generateQmlRequisites(QmlTypeNode *qcn, CodeMarker *marker) // skip import statement of \internal collections if (!collection || !collection->isInternal() || showInternal_) { logicalModuleVersion = - collection ? collection->logicalModuleVersion() : qcn->logicalModuleVersion(); + collection ? collection->logicalModuleVersion() : qcn->logicalModuleVersion(); if (logicalModuleVersion.isEmpty() || qcn->logicalModuleName().isEmpty()) qcn->doc().location().warning(tr("Could not resolve QML import " @@ -2916,8 +2916,7 @@ void HtmlGenerator::generateQmlItem(const Node *node, const Node *relative, Code // Look for the _ character in the member name followed by a number (or n): // this is intended to be rendered as a subscript. - marked.replace(QRegExp("<@param>([a-z]+)_([0-9]+|n)"), - "\\1\\2"); + marked.replace(QRegExp("<@param>([a-z]+)_([0-9]+|n)"), "\\1\\2"); // Replace some markup by HTML tags. Do both the opening and the closing tag // in one go (instead of <@param> and separately, for instance). diff --git a/src/qdoc/node.cpp b/src/qdoc/node.cpp index 38c567feb..0993f53f0 100644 --- a/src/qdoc/node.cpp +++ b/src/qdoc/node.cpp @@ -614,7 +614,7 @@ QString Node::plainFullName(const Node *relative) const while (node && !node->isHeader()) { parts.prepend(node->plainName()); if (node->parent() == relative || node->parent()->name().isEmpty()) - break; + break; node = node->parent(); } return parts.join(QLatin1String("::")); @@ -1060,11 +1060,10 @@ void Node::setSince(const QString &since) project = Config::dot + parts.first(); QVersionNumber cutoff = - QVersionNumber::fromString(Config::instance().getString( - CONFIG_IGNORESINCE + project)).normalized(); + QVersionNumber::fromString(Config::instance().getString(CONFIG_IGNORESINCE + project)) + .normalized(); - if (!cutoff.isNull() && - QVersionNumber::fromString(parts.last()).normalized() < cutoff) + if (!cutoff.isNull() && QVersionNumber::fromString(parts.last()).normalized() < cutoff) return; since_ = parts.join(QLatin1Char(' ')); @@ -2947,7 +2946,9 @@ void ClassNode::removePrivateAndInternalBases() ClassNode *bc = bases_.at(i).node_; if (bc == nullptr) bc = QDocDatabase::qdocDB()->findClassNode(bases_.at(i).path_); - if (bc != nullptr && (bc->isPrivate() || bc->isInternal() || bc->isDontDocument() || found.contains(bc))) { + if (bc != nullptr + && (bc->isPrivate() || bc->isInternal() || bc->isDontDocument() + || found.contains(bc))) { RelatedClass rc = bases_.at(i); bases_.removeAt(i); ignoredBases_.append(rc); diff --git a/src/qdoc/node.h b/src/qdoc/node.h index ee93e8200..54a93f7e4 100644 --- a/src/qdoc/node.h +++ b/src/qdoc/node.h @@ -865,9 +865,7 @@ class EnumNode : public Node { public: EnumNode(Aggregate *parent, const QString &name, bool isScoped = false) - : Node(Enum, parent, name), - flagsType_(nullptr), - isScoped_(isScoped) + : Node(Enum, parent, name), flagsType_(nullptr), isScoped_(isScoped) { } @@ -957,10 +955,7 @@ public: n->setSharedCommentNode(this); setGenus(n->genus()); } - void sort() - { - std::sort(collective_.begin(), collective_.end(), Node::nodeNameLessThan); - } + void sort() { std::sort(collective_.begin(), collective_.end(), Node::nodeNameLessThan); } const QVector &collective() const { return collective_; } void setOverloadFlags(); void setRelatedNonmember(bool b) override; diff --git a/src/qdoc/qmlmarkupvisitor.cpp b/src/qdoc/qmlmarkupvisitor.cpp index b48b44a9f..d7b95fae7 100644 --- a/src/qdoc/qmlmarkupvisitor.cpp +++ b/src/qdoc/qmlmarkupvisitor.cpp @@ -244,7 +244,8 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::UiImport *uiimport) void QmlMarkupVisitor::endVisit(QQmlJS::AST::UiImport *uiimport) { if (uiimport->version) - addVerbatim(uiimport->version->firstSourceLocation(), uiimport->version->lastSourceLocation()); + addVerbatim(uiimport->version->firstSourceLocation(), + uiimport->version->lastSourceLocation()); addVerbatim(uiimport->asToken); addMarkedUpToken(uiimport->importIdToken, QLatin1String("headerfile")); addVerbatim(uiimport->semicolonToken); -- cgit v1.2.3 From dcc343bcf49e560805cec8f5959fd4e4c93167df Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Fri, 14 Feb 2020 06:53:52 +0100 Subject: QDoc: Remove unused make target for test project MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We don't call qdoc via the make targets in the tests, so remove the unused QMAKE_DOCS entry from the project file as it interferes with refactoring the test. Task-number: QTBUG-82159 Change-Id: Ie29fd5407c3541be7dfe4c70376a34e084a983b1 Reviewed-by: Topi Reiniö --- tests/auto/qdoc/generatedoutput/generatedoutput.pro | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/auto/qdoc/generatedoutput/generatedoutput.pro b/tests/auto/qdoc/generatedoutput/generatedoutput.pro index 81434cebc..be9377bec 100644 --- a/tests/auto/qdoc/generatedoutput/generatedoutput.pro +++ b/tests/auto/qdoc/generatedoutput/generatedoutput.pro @@ -5,5 +5,3 @@ TARGET = tst_generatedOutput SOURCES += \ tst_generatedoutput.cpp - -QMAKE_DOCS = $$PWD/test.qdocconf -- cgit v1.2.3 From 46e0f5fb0ce72ac8cf8776f26c3c9ff8659261a8 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Wed, 12 Feb 2020 15:05:19 +0100 Subject: QDoc: Let generators keep a pointer to Config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change is a prerequisite for disentangling Config from Generator. Change-Id: Ib073bd8fcaf743530ed68271373b885fa4bef46b Reviewed-by: Topi Reiniö --- src/qdoc/docbookgenerator.cpp | 10 ++--- src/qdoc/docbookgenerator.h | 3 ++ src/qdoc/htmlgenerator.cpp | 89 ++++++++++++++++++++++--------------------- src/qdoc/htmlgenerator.h | 3 ++ 4 files changed, 56 insertions(+), 49 deletions(-) diff --git a/src/qdoc/docbookgenerator.cpp b/src/qdoc/docbookgenerator.cpp index e7b53cbf3..39604ce15 100644 --- a/src/qdoc/docbookgenerator.cpp +++ b/src/qdoc/docbookgenerator.cpp @@ -103,19 +103,19 @@ void DocBookGenerator::initializeGenerator() { // Excerpts from HtmlGenerator::initializeGenerator. Generator::initializeGenerator(); - Config &config = Config::instance(); + config = &Config::instance(); - project = config.getString(CONFIG_PROJECT); + project = config->getString(CONFIG_PROJECT); - projectDescription = config.getString(CONFIG_DESCRIPTION); + projectDescription = config->getString(CONFIG_DESCRIPTION); if (projectDescription.isEmpty() && !project.isEmpty()) projectDescription = project + QLatin1String(" Reference Documentation"); - naturalLanguage = config.getString(CONFIG_NATURALLANGUAGE); + naturalLanguage = config->getString(CONFIG_NATURALLANGUAGE); if (naturalLanguage.isEmpty()) naturalLanguage = QLatin1String("en"); - buildversion = config.getString(CONFIG_BUILDVERSION); + buildversion = config->getString(CONFIG_BUILDVERSION); } QString DocBookGenerator::format() diff --git a/src/qdoc/docbookgenerator.h b/src/qdoc/docbookgenerator.h index 285156638..806482101 100644 --- a/src/qdoc/docbookgenerator.h +++ b/src/qdoc/docbookgenerator.h @@ -37,6 +37,7 @@ #include #include #include "codemarker.h" +#include "config.h" #include "xmlgenerator.h" #include @@ -173,6 +174,8 @@ private: QString naturalLanguage; QString buildversion; QXmlStreamWriter *writer = nullptr; + + Config *config; }; QT_END_NAMESPACE diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 0f84d9776..5ddd7ef9e 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -128,8 +128,8 @@ void HtmlGenerator::initializeGenerator() { nullptr, nullptr, nullptr } }; Generator::initializeGenerator(); - Config &config = Config::instance(); - obsoleteLinks = config.getBool(CONFIG_OBSOLETELINKS); + config = &Config::instance(); + obsoleteLinks = config->getBool(CONFIG_OBSOLETELINKS); setImageFileExtensions(QStringList() << "png" << "jpg" << "jpeg" @@ -147,49 +147,50 @@ void HtmlGenerator::initializeGenerator() i++; } - style = config.getString(HtmlGenerator::format() + Config::dot + CONFIG_STYLE); - endHeader = config.getString(HtmlGenerator::format() + Config::dot + CONFIG_ENDHEADER); - postHeader = config.getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_POSTHEADER); + style = config->getString(HtmlGenerator::format() + Config::dot + CONFIG_STYLE); + endHeader = config->getString(HtmlGenerator::format() + Config::dot + CONFIG_ENDHEADER); + postHeader = + config->getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_POSTHEADER); postPostHeader = - config.getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_POSTPOSTHEADER); - prologue = config.getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_PROLOGUE); + config->getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_POSTPOSTHEADER); + prologue = config->getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_PROLOGUE); - footer = config.getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_FOOTER); - address = config.getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_ADDRESS); + footer = config->getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_FOOTER); + address = config->getString(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_ADDRESS); pleaseGenerateMacRef = - config.getBool(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_GENERATEMACREFS); + config->getBool(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_GENERATEMACREFS); noNavigationBar = - config.getBool(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_NONAVIGATIONBAR); - navigationSeparator = config.getString(HtmlGenerator::format() + Config::dot - + HTMLGENERATOR_NAVIGATIONSEPARATOR); - tocDepth = config.getInt(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_TOCDEPTH); + config->getBool(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_NONAVIGATIONBAR); + navigationSeparator = config->getString(HtmlGenerator::format() + Config::dot + + HTMLGENERATOR_NAVIGATIONSEPARATOR); + tocDepth = config->getInt(HtmlGenerator::format() + Config::dot + HTMLGENERATOR_TOCDEPTH); - project = config.getString(CONFIG_PROJECT); + project = config->getString(CONFIG_PROJECT); - projectDescription = config.getString(CONFIG_DESCRIPTION); + projectDescription = config->getString(CONFIG_DESCRIPTION); if (projectDescription.isEmpty() && !project.isEmpty()) projectDescription = project + QLatin1String(" Reference Documentation"); - projectUrl = config.getString(CONFIG_URL); - tagFile_ = config.getString(CONFIG_TAGFILE); + projectUrl = config->getString(CONFIG_URL); + tagFile_ = config->getString(CONFIG_TAGFILE); #ifndef QT_NO_TEXTCODEC - outputEncoding = config.getString(CONFIG_OUTPUTENCODING); + outputEncoding = config->getString(CONFIG_OUTPUTENCODING); if (outputEncoding.isEmpty()) outputEncoding = QLatin1String("UTF-8"); outputCodec = QTextCodec::codecForName(outputEncoding.toLocal8Bit()); #endif - naturalLanguage = config.getString(CONFIG_NATURALLANGUAGE); + naturalLanguage = config->getString(CONFIG_NATURALLANGUAGE); if (naturalLanguage.isEmpty()) naturalLanguage = QLatin1String("en"); - const QSet editionNames = config.subVars(CONFIG_EDITION); + const QSet editionNames = config->subVars(CONFIG_EDITION); for (const auto &editionName : editionNames) { - QStringList editionModules = config.getStringList(CONFIG_EDITION + Config::dot + editionName - + Config::dot + "modules"); - QStringList editionGroups = config.getStringList(CONFIG_EDITION + Config::dot + editionName - + Config::dot + "groups"); + QStringList editionModules = config->getStringList(CONFIG_EDITION + Config::dot + + editionName + Config::dot + "modules"); + QStringList editionGroups = config->getStringList(CONFIG_EDITION + Config::dot + editionName + + Config::dot + "groups"); if (!editionModules.isEmpty()) editionModuleMap[editionName] = editionModules; @@ -197,9 +198,9 @@ void HtmlGenerator::initializeGenerator() editionGroupMap[editionName] = editionGroups; } - codeIndent = config.getInt(CONFIG_CODEINDENT); // QTBUG-27798 - codePrefix = config.getString(CONFIG_CODEPREFIX); - codeSuffix = config.getString(CONFIG_CODESUFFIX); + codeIndent = config->getInt(CONFIG_CODEINDENT); // QTBUG-27798 + codePrefix = config->getString(CONFIG_CODEPREFIX); + codeSuffix = config->getString(CONFIG_CODESUFFIX); /* The help file write should be allocated once and only once @@ -211,40 +212,40 @@ void HtmlGenerator::initializeGenerator() helpProjectWriter = new HelpProjectWriter(project.toLower() + ".qhp", this); // Documentation template handling - headerScripts = config.getString(HtmlGenerator::format() + Config::dot + CONFIG_HEADERSCRIPTS); - headerStyles = config.getString(HtmlGenerator::format() + Config::dot + CONFIG_HEADERSTYLES); + headerScripts = config->getString(HtmlGenerator::format() + Config::dot + CONFIG_HEADERSCRIPTS); + headerStyles = config->getString(HtmlGenerator::format() + Config::dot + CONFIG_HEADERSTYLES); QString prefix = CONFIG_QHP + Config::dot + project + Config::dot; manifestDir = - QLatin1String("qthelp://") + config.getString(prefix + QLatin1String("namespace")); - manifestDir += QLatin1Char('/') + config.getString(prefix + QLatin1String("virtualFolder")) + QLatin1String("qthelp://") + config->getString(prefix + QLatin1String("namespace")); + manifestDir += QLatin1Char('/') + config->getString(prefix + QLatin1String("virtualFolder")) + QLatin1Char('/'); readManifestMetaContent(); - examplesPath = config.getString(CONFIG_EXAMPLESINSTALLPATH); + examplesPath = config->getString(CONFIG_EXAMPLESINSTALLPATH); if (!examplesPath.isEmpty()) examplesPath += QLatin1Char('/'); // Retrieve the config for the navigation bar - homepage = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_HOMEPAGE); + homepage = config->getString(CONFIG_NAVIGATION + Config::dot + CONFIG_HOMEPAGE); - hometitle = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_HOMETITLE, homepage); + hometitle = config->getString(CONFIG_NAVIGATION + Config::dot + CONFIG_HOMETITLE, homepage); - landingpage = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_LANDINGPAGE); + landingpage = config->getString(CONFIG_NAVIGATION + Config::dot + CONFIG_LANDINGPAGE); landingtitle = - config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_LANDINGTITLE, landingpage); + config->getString(CONFIG_NAVIGATION + Config::dot + CONFIG_LANDINGTITLE, landingpage); - cppclassespage = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_CPPCLASSESPAGE); + cppclassespage = config->getString(CONFIG_NAVIGATION + Config::dot + CONFIG_CPPCLASSESPAGE); - cppclassestitle = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_CPPCLASSESTITLE, - QLatin1String("C++ Classes")); + cppclassestitle = config->getString(CONFIG_NAVIGATION + Config::dot + CONFIG_CPPCLASSESTITLE, + QLatin1String("C++ Classes")); - qmltypespage = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_QMLTYPESPAGE); + qmltypespage = config->getString(CONFIG_NAVIGATION + Config::dot + CONFIG_QMLTYPESPAGE); - qmltypestitle = config.getString(CONFIG_NAVIGATION + Config::dot + CONFIG_QMLTYPESTITLE, - QLatin1String("QML Types")); + qmltypestitle = config->getString(CONFIG_NAVIGATION + Config::dot + CONFIG_QMLTYPESTITLE, + QLatin1String("QML Types")); - buildversion = config.getString(CONFIG_BUILDVERSION); + buildversion = config->getString(CONFIG_BUILDVERSION); } /*! diff --git a/src/qdoc/htmlgenerator.h b/src/qdoc/htmlgenerator.h index 1c95d7349..ea50e4baf 100644 --- a/src/qdoc/htmlgenerator.h +++ b/src/qdoc/htmlgenerator.h @@ -42,6 +42,7 @@ QT_BEGIN_NAMESPACE +class Config; class HelpProjectWriter; class HtmlGenerator : public XmlGenerator @@ -200,6 +201,8 @@ private: QString qflagsHref_; int tocDepth; + Config *config; + public: static bool debugging_on; static QString divNavTop; -- cgit v1.2.3 From ae59b065061e6e0e8ccf2434270a36978e655849 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Wed, 12 Feb 2020 14:59:06 +0100 Subject: QDoc: clean up includes in DocBookGenerator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I1437ecfcca7c28741e350f8390461a07f2a01612 Reviewed-by: Topi Reiniö --- src/qdoc/docbookgenerator.h | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/qdoc/docbookgenerator.h b/src/qdoc/docbookgenerator.h index 806482101..ad5b36220 100644 --- a/src/qdoc/docbookgenerator.h +++ b/src/qdoc/docbookgenerator.h @@ -33,17 +33,14 @@ #ifndef DOCBOOKGENERATOR_H #define DOCBOOKGENERATOR_H -#include -#include -#include #include "codemarker.h" #include "config.h" #include "xmlgenerator.h" +#include +#include #include -#include "codemarker.h" - QT_BEGIN_NAMESPACE class DocBookGenerator : public XmlGenerator -- cgit v1.2.3 From c555d3493f52c378707a40d824d70f369e0b4db9 Mon Sep 17 00:00:00 2001 From: Venugopal Shivashankar Date: Tue, 11 Feb 2020 12:32:47 +0100 Subject: qdoc: Extend \include command to include exampledirs By default, qdoc supports \include files from the sourcedirs only. It should also consider files to \include from the exampledirs, like it does for the \snippet and \quotefromfile commands. In addition, added a test to check if the \include works for files exampledirs. Change-Id: I9ce0b1905bfd0413022a4b4cab42588e4540e70e Reviewed-by: Qt CI Bot Reviewed-by: Paul Wicking --- src/qdoc/config.cpp | 8 +- src/qdoc/doc/qdoc-manual-markupcmds.qdoc | 16 +- .../includefromexampledirs/index.html | 28 ++++ .../qdoc-test-qmlmodule.html | 23 +++ .../includefromexampledirs/qml-int.html | 23 +++ .../qml-qdoc-test-abstractparent-members.html | 18 ++ .../qml-qdoc-test-abstractparent.html | 79 +++++++++ .../qml-qdoc-test-child-members.html | 18 ++ .../qml-qdoc-test-child.html | 79 +++++++++ .../qml-qdoc-test-doctest-members.html | 18 ++ .../qml-qdoc-test-doctest.html | 86 ++++++++++ .../qml-qdoc-test-type-members.html | 31 ++++ .../includefromexampledirs/qml-qdoc-test-type.html | 185 +++++++++++++++++++++ .../includefromexampledirs/test.index | 75 +++++++++ .../includefromexampledirs/testcpp-module.html | 42 +++++ .../testqdoc-test-members.html | 22 +++ .../testqdoc-test-obsolete.html | 36 ++++ .../includefromexampledirs/testqdoc-test.html | 91 ++++++++++ .../testqdoc-testderived-members.html | 22 +++ .../testqdoc-testderived.html | 48 ++++++ .../includefromexampledirs/testqdoc.html | 64 +++++++ .../excludes/anotherindex.qdoc | 39 +++++ .../excludes/parentinclude.qdoc | 64 +++++++ .../includefromexampledirs.qdocconf | 12 ++ .../src/includefromparent.qdoc | 51 ++++++ .../includefromexampledirs/src/parent.qdocinc | 1 + .../qdoc/generatedoutput/tst_generatedoutput.cpp | 8 + 27 files changed, 1177 insertions(+), 10 deletions(-) create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/index.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qdoc-test-qmlmodule.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-int.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent-members.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child-members.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest-members.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type-members.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/test.index create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testcpp-module.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-members.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-obsolete.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived-members.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc.html create mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/anotherindex.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/parentinclude.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/includefromexampledirs.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/src/includefromparent.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/src/parent.qdocinc diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp index 55a23610b..934958910 100644 --- a/src/qdoc/config.cpp +++ b/src/qdoc/config.cpp @@ -724,8 +724,12 @@ QString Config::getIncludeFilePath(const QString &fileName) const if (!includeFilesMap_.contains(ext)) { QSet t; QStringList result; - const QStringList dirs = getCanonicalPathList(CONFIG_SOURCEDIRS); - for (const auto &dir : dirs) + const auto sourceDirs = getCanonicalPathList(CONFIG_SOURCEDIRS); + for (const auto &dir : sourceDirs) + result += getFilesHere(dir, ext, location(), t, t); + // Append the include files from the exampledirs as well + const auto exampleDirs = getCanonicalPathList(CONFIG_EXAMPLEDIRS); + for (const auto &dir : exampleDirs) result += getFilesHere(dir, ext, location(), t, t); includeFilesMap_.insert(ext, result); } diff --git a/src/qdoc/doc/qdoc-manual-markupcmds.qdoc b/src/qdoc/doc/qdoc-manual-markupcmds.qdoc index 51aa3c2cc..fb178c7cc 100644 --- a/src/qdoc/doc/qdoc-manual-markupcmds.qdoc +++ b/src/qdoc/doc/qdoc-manual-markupcmds.qdoc @@ -3725,16 +3725,16 @@ The command is useful when some snippet of commands or text is to be used in multiple places in the documentation. Use the \\include command wherever you want to insert a snippet into the documentation. - The file containing the snippet to include must be located under the - path(s) listed in the \l{sourcedirs-variable}{sourcedirs} QDoc - configuration variable. It can be either any source file parsed - by QDoc (or even the same one where \\include command is used), or - any other text file. To store snippets in a separate file that is - not meant to be parsed by QDoc, use a file extension that is not - listed in \l {sources.fileextensions-variable}{sources.fileextensions}; + The file containing the snippet to include, must be located under the + path(s) listed in the \l{sourcedirs-variable}{sourcedirs} or + \l{exampledirs-variable}{exampledirs} QDoc configuration variable. + It can be either any source file parsed by QDoc (or even the same one + where \\include command is used), or any other text file. To store + snippets in a separate file that is not meant to be parsed by QDoc, + use a file extension that is not listed in + \l{sources.fileextensions-variable}{sources.fileextensions}; for example, \c .qdocinc. - The command can have either one or two arguments. The first argument is always a file name. The contents of the file must be QDoc input, in other words, a sequence of QDoc commands and text, but diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/index.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/index.html new file mode 100644 index 000000000..d1fb02484 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/index.html @@ -0,0 +1,28 @@ + + + + + + doc index | Test + + +

          doc index

          + + +
          + +

          C++ Classes

          +
          + + +

          TestQDoc::Test

          A class in a namespace

          TestQDoc::TestDerived

          A derived class in a namespace

          + +

          QML Types

          +
          + +

          AbstractParent

          Abstract base QML type

          +

          Test include file that is part of the sourcedirs.

          +
          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qdoc-test-qmlmodule.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qdoc-test-qmlmodule.html new file mode 100644 index 000000000..6a513e987 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qdoc-test-qmlmodule.html @@ -0,0 +1,23 @@ + + + + + + Test + + + + + +
          +
          + +
          + + + + + +

          AbstractParent

          Abstract base QML type

          Child

          A Child inheriting its parent

          DocTest

          Represents a doc test case

          Type

          A QML type documented in a .cpp file

          int

          An integer basic type

          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-int.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-int.html new file mode 100644 index 000000000..651f840cb --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-int.html @@ -0,0 +1,23 @@ + + + + + + int QML Basic Type | Test + + + +

          int QML Basic Type

          + + +
          +
          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent-members.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent-members.html new file mode 100644 index 000000000..48c8fa485 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent-members.html @@ -0,0 +1,18 @@ + + + + + + List of All Members for AbstractParent | Test + + + +

          List of All Members for AbstractParent

          +

          This is the complete list of members for AbstractParent, including inherited members.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent.html new file mode 100644 index 000000000..cbb0f36aa --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent.html @@ -0,0 +1,79 @@ + + + + + + AbstractParent QML Type | Test + + + +

          AbstractParent QML Type

          + + +

          Abstract base QML type. More...

          + +
          +
          Import Statement: import QDoc.Test 1.1
          Inherited By:

          Child

          +
          + +

          Properties

          + + +

          Methods

          + + + +

          Detailed Description

          + +

          Property Documentation

          + +
          +
          + + +

          +[default] children : list<Child>

          +

          Children of the type.

          +

          Test include file that is part of the sourcedirs.

          +
          +
          +

          Method Documentation

          + +
          +
          + + +

          +void rear(child)

          +

          Do some abstract parenting on child.

          +
          +
          + +
          +
          + + +

          +void rear(child)

          +

          Do some abstract parenting on child.

          +

          Test include file that is part of the sourcedirs.

          +
          +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child-members.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child-members.html new file mode 100644 index 000000000..cedbad6bc --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child-members.html @@ -0,0 +1,18 @@ + + + + + + List of All Members for Child | Test + + + +

          List of All Members for Child

          +

          This is the complete list of members for Child, including inherited members.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child.html new file mode 100644 index 000000000..b1775faa3 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child.html @@ -0,0 +1,79 @@ + + + + + + Child QML Type | Test + + + +

          Child QML Type

          + + +

          A Child inheriting its parent. More...

          + +
          +
          Import Statement: import QDoc.Test 1.1
          Inherits:

          AbstractParent

          +
          + +

          Properties

          + + +

          Methods

          + + + +

          Detailed Description

          + +

          Property Documentation

          + +
          +
          + + +

          +[default] children : list<Child>

          +

          Children of the type.

          +

          Test include file that is part of the sourcedirs.

          +
          +
          +

          Method Documentation

          + +
          +
          + + +

          +void rear(child)

          +

          Do some abstract parenting on child.

          +
          +
          + +
          +
          + + +

          +void rear(child)

          +

          Do some abstract parenting on child.

          +

          Test include file that is part of the sourcedirs.

          +
          +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest-members.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest-members.html new file mode 100644 index 000000000..3048f9701 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest-members.html @@ -0,0 +1,18 @@ + + + + + + List of All Members for DocTest | Test + + + +

          List of All Members for DocTest

          +

          This is the complete list of members for DocTest, including inherited members.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest.html new file mode 100644 index 000000000..e1475d5fb --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest.html @@ -0,0 +1,86 @@ + + + + + + DocTest QML Type | Test + + + +

          DocTest QML Type

          + + +

          Represents a doc test case. More...

          + +
          +
          Import Statement: import QDoc.Test 1.1
          Since: QDoc.Test 0.9
          + +

          Properties

          + + +

          Methods

          + + + +

          Detailed Description

          + +

          Introduction

          +

          A documentation test case, itself documented inline in DocTest.qml.

          + +

          Property Documentation

          + +
          +
          + + +

          +active : bool

          +

          Whether the test is active.

          +

          See also name.

          +
          +
          + +
          +
          + + +

          +name : string

          +

          Name of the test.

          +
          DocTest {
          +    name: "test"
          +    // ...
          +}
          +
          +
          +

          Method Documentation

          + +
          +
          + + +

          +fail(message = "oops")

          +

          Fails the current test case, with the optional message.

          +

          This method was introduced in QDoc.Test 1.0.

          +
          +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type-members.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type-members.html new file mode 100644 index 000000000..91cfa8643 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type-members.html @@ -0,0 +1,31 @@ + + + + + + List of All Members for Type | Test + + + +

          List of All Members for Type

          +

          This is the complete list of members for Type, including inherited members.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type.html new file mode 100644 index 000000000..166cbee81 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type.html @@ -0,0 +1,185 @@ + + + + + + Type QML Type | Test + + + +

          Type QML Type

          + + +

          A QML type documented in a .cpp file. More...

          + +
          +
          Import Statement: import QDoc.Test 1.1
          Instantiates: Test
          + +

          Properties

          + + +

          Attached Properties

          +
            +
          • type : enumeration
          • +
          + +

          Signals

          + + +

          Attached Signals

          + + +

          Methods

          + + + +

          Detailed Description

          + +

          Property Documentation

          + +
          +
          +
          + + + + +

          +fifth : int

          +fourth : int

          +

          A group of properties sharing a documentation comment.

          +
          +
          + +
          +
          + + + + + + + +

          group group

          +group.first : int

          +group.second : int

          +group.third : int

          +

          A property group.

          +
          +
          + +
          +
          + + +

          +[read-only] id : int

          +

          A read-only property.

          +
          +
          + +
          +
          + + +

          +name : string

          +

          Name of the Test.

          +
          +
          +

          Attached Property Documentation

          + +
          +
          + + +

          +Type.type : enumeration

          +
          + + +
          ConstantDescription
          Type.NoTypeNothing
          Type.SomeTypeSomething
          +
          +
          +

          Signal Documentation

          + +
          +
          + + +

          +completed(status)

          +

          This signal is emitted when the operation completed with status.

          +
          +
          +

          Attached Signal Documentation

          + +
          +
          + + +

          +configured()

          +

          This attached signal is emitted when the type was configured.

          +
          +
          +

          Method Documentation

          + +
          +
          +
          + + + + +

          +disable()

          +enable()

          +

          Enables or disables this type.

          +
          +
          + +
          +
          + + +

          +Type copy(a)

          +

          Returns another Type based on a.

          +
          +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/test.index b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/test.index new file mode 100644 index 000000000..f45b33114 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/test.index @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testcpp-module.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testcpp-module.html new file mode 100644 index 000000000..b1301b5d0 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testcpp-module.html @@ -0,0 +1,42 @@ + + + + + + QDoc Test C++ Classes | Test + + + +

          QDoc Test C++ Classes

          + + +

          A test module page. More...

          + + +

          Namespaces

          +
          + +

          TestQDoc

          A namespace

          + +

          Classes

          +
          + + +

          TestQDoc::Test

          A class in a namespace

          TestQDoc::TestDerived

          A derived class in a namespace

          + + +
          +

          Detailed Description

          +
          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-members.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-members.html new file mode 100644 index 000000000..6f3ca0ff5 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-members.html @@ -0,0 +1,22 @@ + + + + + + List of All Members for Test | Test + + +
        • Test
        • + +

          List of All Members for Test

          +

          This is the complete list of members for TestQDoc::Test, including inherited members.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-obsolete.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-obsolete.html new file mode 100644 index 000000000..088c2ee99 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-obsolete.html @@ -0,0 +1,36 @@ + + + + + + Obsolete Members for Test | Test + + +
        • Test
        • + +

          Obsolete Members for Test

          +

          The following members of class Test are obsolete. They are provided to keep old source code working. We strongly advise against using them in new code.

          +

          Public Functions

          +
          + + + +
          (obsolete) void anotherObsoleteMember()
          (obsolete) void deprecatedMember()
          (obsolete) void obsoleteMember()
          +

          Member Function Documentation

          + +

          void Test::anotherObsoleteMember()

          +

          This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.

          +

          Use obsoleteMember() instead.

          + + +

          void Test::deprecatedMember()

          +

          This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.

          +

          Use someFunction() instead.

          + + +

          void Test::obsoleteMember()

          +

          This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.

          +

          Use someFunction() instead.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test.html new file mode 100644 index 000000000..53db06685 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test.html @@ -0,0 +1,91 @@ + + + + + + Test Class | Test + + +
        • Test
        • + +

          Test Class

          +(TestQDoc::Test)
          + +

          A class in a namespace. More...

          + +
          +
          Header: #include <Test> +
          qmake: QT += testcpp
          Instantiated By: Type
          Inherited By:

          TestQDoc::TestDerived

          +
          + +

          Public Functions

          +
          + + + + +
          void inlineFunction()
          int someFunction(int v)
          void someFunctionDefaultArg(int i, bool b = false)
          virtual void virtualFun()
          + +

          Protected Functions

          +
          + + +
          void overload()
          void overload(bool b)
          + +

          Macros

          + + + +
          +

          Detailed Description

          +
          + +
          +

          Member Function Documentation

          + +
          +

          [protected] void Test::overload()

          [protected] void Test::overload(bool b)

          +

          Overloads that share a documentation comment, optionally taking a parameter b.

          + + +

          void Test::inlineFunction()

          +

          An inline function, documented using the \fn QDoc command.

          + + +

          int Test::someFunction(int v)

          +

          Function that takes a parameter v. Also returns the value of v.

          + + +

          void Test::someFunctionDefaultArg(int i, bool b = false)

          +

          Function that takes a parameter i and b.

          + + +

          [virtual] void Test::virtualFun()

          +

          Function that must be reimplemented.

          + +
          +
          +

          Macro Documentation

          + +

          QDOCTEST_MACRO2(x)

          +

          A macro with argument x.

          +

          This function was introduced in Test 1.1.

          + +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived-members.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived-members.html new file mode 100644 index 000000000..0babbbd5f --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived-members.html @@ -0,0 +1,22 @@ + + + + + + List of All Members for TestDerived | Test + + +
        • TestDerived
        • + +

          List of All Members for TestDerived

          +

          This is the complete list of members for TestQDoc::TestDerived, including inherited members.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived.html new file mode 100644 index 000000000..8f7517cd3 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived.html @@ -0,0 +1,48 @@ + + + + + + TestDerived Class | Test + + +
        • TestDerived
        • + +

          TestDerived Class

          +(TestQDoc::TestDerived)
          + +

          A derived class in a namespace. More...

          + +
          +
          Header: #include <TestDerived> +
          qmake: QT += testcpp
          Inherits: TestQDoc::Test
          + +

          Reimplemented Public Functions

          +
          + +
          virtual void virtualFun() override
          + + +
          +

          Detailed Description

          +
          + +
          +

          Member Function Documentation

          + +

          [override virtual] void TestDerived::virtualFun()

          +

          Reimplements: Test::virtualFun().

          + +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc.html new file mode 100644 index 000000000..9c6f5b6ae --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc.html @@ -0,0 +1,64 @@ + + + + + + TestQDoc Namespace | Test + + + +

          TestQDoc Namespace

          + +

          A namespace. More...

          + +
          +
          Header: #include <TestCPP> +
          qmake: QT += testcpp
            +
          + +

          Classes

          +
          + + +
          class Test
          class TestDerived
          + +

          Macros

          + + + +
          +

          Detailed Description

          + +

          Usage

          +

          This namespace is for testing QDoc output.

          +
          + +
          +

          Classes

          +

          class Test

          +

          A class in a namespace. More...

          + +

          class TestDerived

          +

          A derived class in a namespace. More...

          + +
          +
          +

          Macro Documentation

          + +

          QDOCTEST_MACRO

          + +
          + + diff --git a/tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/anotherindex.qdoc b/tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/anotherindex.qdoc new file mode 100644 index 000000000..75dd9197d --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/anotherindex.qdoc @@ -0,0 +1,39 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +//! exampledirs-include + \page index.html + \title doc index + + \section1 C++ Classes + \generatelist {classesbymodule TestCPP} + \section1 QML Types + \annotatedlist qmltypes +//! exampledirs-include +*/ diff --git a/tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/parentinclude.qdoc b/tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/parentinclude.qdoc new file mode 100644 index 000000000..c95e22125 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/parentinclude.qdoc @@ -0,0 +1,64 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +//! abstract-type + \qmltype AbstractParent + \ingroup qmltypes + \qmlabstract + \brief Abstract base QML type. +//! abstract-type +*/ + +/*! +//! children-qmlproperty + \qmlproperty list AbstractParent::children + \default + \brief Children of the type. +//! children-qmlproperty +*/ + +/*! +//! rear-qmlmethod + \qmlmethod void AbstractParent::rear(Child child) + \brief Do some abstract parenting on \a child. +//! rear-qmlmethod +*/ + +/*! + \qmltype Child + \ingroup qmltypes + \inherits AbstractParent + \brief A Child inheriting its parent. +*/ + +/*! + \qmlbasictype int + \ingroup qmltypes + \brief An integer basic type. +*/ diff --git a/tests/auto/qdoc/generatedoutput/includefromexampledirs/includefromexampledirs.qdocconf b/tests/auto/qdoc/generatedoutput/includefromexampledirs/includefromexampledirs.qdocconf new file mode 100644 index 000000000..05683c80b --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/includefromexampledirs/includefromexampledirs.qdocconf @@ -0,0 +1,12 @@ +include(../testqml.qdocconf) + +includepaths += .. +sourcedirs += src + +excludedirs += excludes \ + ../qml/componentset + +exampledirs += excludes + +HTML.nosubdirs = true +HTML.outputsubdir = includefromexampledirs diff --git a/tests/auto/qdoc/generatedoutput/includefromexampledirs/src/includefromparent.qdoc b/tests/auto/qdoc/generatedoutput/includefromexampledirs/src/includefromparent.qdoc new file mode 100644 index 000000000..7b4c00b76 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/includefromexampledirs/src/includefromparent.qdoc @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +\include anotherindex.qdoc exampledirs-include + +\include parent.qdocinc +*/ + +/*! +\include parentinclude.qdoc abstract-type + +\include parent.qdocinc +*/ + +/*! +\include parentinclude.qdoc children-qmlproperty + +\include parent.qdocinc +*/ + +/*! +\include parentinclude.qdoc rear-qmlmethod + +\include parent.qdocinc +*/ diff --git a/tests/auto/qdoc/generatedoutput/includefromexampledirs/src/parent.qdocinc b/tests/auto/qdoc/generatedoutput/includefromexampledirs/src/parent.qdocinc new file mode 100644 index 000000000..307c39dbd --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/includefromexampledirs/src/parent.qdocinc @@ -0,0 +1 @@ +Test include file that is part of the sourcedirs. diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index ce4aefa99..3fa2c954f 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -49,6 +49,7 @@ private slots: void examplesManifestXml(); void inheritedQmlPropertyGroups(); + void includeFromExampleDirs(); private: QScopedPointer m_outputDir; @@ -251,6 +252,13 @@ void tst_generatedOutput::inheritedQmlPropertyGroups() "qmlpropertygroups/qml-qdoc-test-anotherchild-members.html"); } +void tst_generatedOutput::includeFromExampleDirs() +{ + testAndCompare("includefromexampledirs/includefromexampledirs.qdocconf", + "includefromexampledirs/index.html " + "includefromexampledirs/qml-qdoc-test-abstractparent.html " + "includefromexampledirs/qml-qdoc-test-abstractparent-members.html"); +} QTEST_APPLESS_MAIN(tst_generatedOutput) #include "tst_generatedoutput.moc" -- cgit v1.2.3 From 6e5efd619a56593c946fe3f252e207e5f27a59d0 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Fri, 14 Feb 2020 17:01:13 +0100 Subject: Update dependencies on 'dev' in qt/qttools Change-Id: Icf3139e0a90637c71bc4a23367f1210cc1e2d562 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 2e5e357f7..2d05ff5c5 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 54c2cebabdda0280b8443c6947b6fee02445e138 + ref: 60feaae1967aca5c7b1b0f6cb732962ddd1b2115 required: true ../qtdeclarative: - ref: 53894241afc022ba1d975d95fe2737f4fa5d475d + ref: 93bca396df537b09f748facd3cee23067f788f10 required: false -- cgit v1.2.3 From b1e095d470278bda1a0417c11de295a888c51fbe Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Sat, 15 Feb 2020 04:01:12 +0100 Subject: Update dependencies on 'dev' in qt/qttools Change-Id: Ic914e4608ff9eaff4995e4b2313db52ff9709608 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 2d05ff5c5..ace1975fe 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 60feaae1967aca5c7b1b0f6cb732962ddd1b2115 + ref: d4c8ad79c4d815b1a98f53f829aab38286d643bd required: true ../qtdeclarative: - ref: 93bca396df537b09f748facd3cee23067f788f10 + ref: 8b07c01b5e3f4c5efe5d0baabc9cc8c18f9960fc required: false -- cgit v1.2.3 From a4a2807cea7d555b7487b875af20515af85a799b Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Sun, 16 Feb 2020 01:00:37 +0100 Subject: Update dependencies on 'dev' in qt/qttools Change-Id: I44b3e8d0c277b8d973cd4235752a2c8ee51a29c4 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index ace1975fe..34925bbc0 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: d4c8ad79c4d815b1a98f53f829aab38286d643bd + ref: 735fd68dacdf25e51691d2e804d5e9db643e7833 required: true ../qtdeclarative: - ref: 8b07c01b5e3f4c5efe5d0baabc9cc8c18f9960fc + ref: 1486a013dd91222f040dcff3ec3b9cd90c261fd0 required: false -- cgit v1.2.3 From 4092c74db6043d70caca36050c356cc5f2d46c86 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Sun, 16 Feb 2020 11:00:59 +0100 Subject: Update dependencies on 'dev' in qt/qttools Change-Id: Ic55918f05ca20d361565136336d2a69de5e160a4 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 34925bbc0..7f4f141bf 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 735fd68dacdf25e51691d2e804d5e9db643e7833 + ref: bd4635009d3ba6ea560bc5f70811fa0afee518fc required: true ../qtdeclarative: - ref: 1486a013dd91222f040dcff3ec3b9cd90c261fd0 + ref: 925a0e499a5dbdb180fd9969a79abf96006ce4fd required: false -- cgit v1.2.3 From 4776efd26bf95d21b7cc3137ecc2d81a6ccd2b80 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Mon, 17 Feb 2020 13:45:09 +0100 Subject: qdoc: Fix assert in DocBookGenerator DocBookGenerator::generateExampleFilePage() constructs a new writer instance while another one is still in use. Store the old one, and restore it once the example page has been generated. Fixes: QTBUG-82251 Change-Id: Ic41c8fed82c27723198415a32bca0225b36922b3 Reviewed-by: Paul Wicking --- src/qdoc/docbookgenerator.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/qdoc/docbookgenerator.cpp b/src/qdoc/docbookgenerator.cpp index 39604ce15..8e2292211 100644 --- a/src/qdoc/docbookgenerator.cpp +++ b/src/qdoc/docbookgenerator.cpp @@ -2246,12 +2246,14 @@ void DocBookGenerator::generateExampleFilePage(const Node *node, const QString & CodeMarker *marker) { Q_UNUSED(marker); - Q_ASSERT(writer == nullptr); // From HtmlGenerator::generateExampleFilePage. if (!node->isExample()) return; const auto en = static_cast(node); + + // Store current (active) writer + QXmlStreamWriter *currentWriter = writer; writer = startDocument(en, file); generateHeader(en->fullTitle(), en->subtitle(), en); @@ -2265,6 +2267,8 @@ void DocBookGenerator::generateExampleFilePage(const Node *node, const QString & generateText(text, en); endDocument(); + // Restore writer + writer = currentWriter; } void DocBookGenerator::generateReimplementsClause(const FunctionNode *fn) -- cgit v1.2.3 From fab885ac1b5e5d3c130c033e4a1234e985179486 Mon Sep 17 00:00:00 2001 From: Qt Forward Merge Bot Date: Sat, 15 Feb 2020 03:03:34 +0100 Subject: Merge remote-tracking branch 'origin/5.14' into 5.15 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I98eaf748fdfb34f32d187718459327b8eef9c54b Reviewed-by: Topi Reiniö --- src/linguist/shared/proitems.h | 1 + src/linguist/shared/qmakeparser.h | 1 - src/qdoc/config.cpp | 16 +- src/qdoc/doc.cpp | 2 +- src/qdoc/doc/qdoc-manual-contextcmds.qdoc | 10 +- src/qdoc/doc/qdoc-manual-markupcmds.qdoc | 32 +++- src/qdoc/doc/qdoc-manual-qdocconf.qdoc | 8 +- src/qdoc/doc/qdoc-manual-topiccmds.qdoc | 24 +-- src/qdoc/doc/qtgui-qdocconf.qdoc | 8 +- src/qdoc/generator.cpp | 6 +- src/qdoc/htmlgenerator.cpp | 22 ++- src/qdoc/location.cpp | 14 +- src/qdoc/location.h | 3 +- src/qdoc/main.cpp | 47 ++++-- src/qdoc/node.cpp | 30 ++-- src/qdoc/node.h | 4 +- src/qdoc/qdocdatabase.cpp | 8 +- src/qdoc/qdoctagfiles.cpp | 2 +- src/qdoc/quoter.cpp | 2 +- src/qdoc/sections.cpp | 4 +- .../qdoc/generatedoutput/examples-qhp.qdocconf | 2 + .../docbook/test-componentset-example.xml | 13 +- .../expected_output/examples-manifest.xml | 6 +- .../html/test-componentset-example.webxml | 26 ++- .../includefromexampledirs/index.html | 28 ++++ .../qdoc-test-qmlmodule.html | 23 +++ .../includefromexampledirs/qml-int.html | 23 +++ .../qml-qdoc-test-abstractparent-members.html | 18 ++ .../qml-qdoc-test-abstractparent.html | 79 +++++++++ .../qml-qdoc-test-child-members.html | 18 ++ .../qml-qdoc-test-child.html | 79 +++++++++ .../qml-qdoc-test-doctest-members.html | 18 ++ .../qml-qdoc-test-doctest.html | 86 ++++++++++ .../qml-qdoc-test-type-members.html | 31 ++++ .../includefromexampledirs/qml-qdoc-test-type.html | 185 +++++++++++++++++++++ .../includefromexampledirs/test.index | 75 +++++++++ .../includefromexampledirs/testcpp-module.html | 42 +++++ .../testqdoc-test-members.html | 22 +++ .../testqdoc-test-obsolete.html | 36 ++++ .../includefromexampledirs/testqdoc-test.html | 91 ++++++++++ .../testqdoc-testderived-members.html | 22 +++ .../testqdoc-testderived.html | 48 ++++++ .../includefromexampledirs/testqdoc.html | 64 +++++++ .../qml-qdoc-test-abstractparent.html | 4 +- .../expected_output/qml-qdoc-test-child.html | 4 +- .../expected_output/qml-qdoc-test-doctest.html | 6 +- .../expected_output/qml-qdoc-test-type.html | 28 ++-- .../qml-uicomponents-progressbar.html | 10 +- .../expected_output/qml-uicomponents-switch.html | 4 +- .../qml-uicomponents-tabwidget.html | 4 +- .../expected_output/test-componentset-example.html | 10 ++ .../excludes/anotherindex.qdoc | 39 +++++ .../excludes/parentinclude.qdoc | 64 +++++++ .../includefromexampledirs.qdocconf | 12 ++ .../src/includefromparent.qdoc | 51 ++++++ .../includefromexampledirs/src/parent.qdocinc | 1 + .../generatedoutput/qml/componentset/examples.qdoc | 4 + tests/auto/qdoc/generatedoutput/testqml.qdocconf | 2 + .../qdoc/generatedoutput/tst_generatedoutput.cpp | 9 + 59 files changed, 1393 insertions(+), 138 deletions(-) create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/index.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qdoc-test-qmlmodule.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-int.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent-members.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child-members.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest-members.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type-members.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/test.index create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testcpp-module.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-members.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-obsolete.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived-members.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived.html create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc.html create mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/anotherindex.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/parentinclude.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/includefromexampledirs.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/src/includefromparent.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/src/parent.qdocinc diff --git a/src/linguist/shared/proitems.h b/src/linguist/shared/proitems.h index c7af53b1c..37a25196a 100644 --- a/src/linguist/shared/proitems.h +++ b/src/linguist/shared/proitems.h @@ -67,6 +67,7 @@ class ProString { public: ProString(); ProString(const ProString &other); + ProString &operator=(const ProString &) = default; PROITEM_EXPLICIT ProString(const QString &str); PROITEM_EXPLICIT ProString(const QStringRef &str); PROITEM_EXPLICIT ProString(const char *str); diff --git a/src/linguist/shared/qmakeparser.h b/src/linguist/shared/qmakeparser.h index ae76d8c46..22da3c69f 100644 --- a/src/linguist/shared/qmakeparser.h +++ b/src/linguist/shared/qmakeparser.h @@ -111,7 +111,6 @@ private: struct BlockScope { BlockScope() : start(nullptr), braceLevel(0), special(false), inBranch(false), nest(NestNone) {} - BlockScope(const BlockScope &other) { *this = other; } ushort *start; // Where this block started; store length here int braceLevel; // Nesting of braces in scope bool special; // Single-line conditionals inside loops, etc. cannot have else branches diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp index 04c39281b..f6df0823b 100644 --- a/src/qdoc/config.cpp +++ b/src/qdoc/config.cpp @@ -276,7 +276,7 @@ Config::~Config() */ void Config::clear() { - loc = lastLocation_ = Location::null; + loc = lastLocation_ = Location(); configVars_.clear(); includeFilesMap_.clear(); } @@ -329,12 +329,12 @@ void Config::load(const QString &fileName) if (configVars_.contains(CONFIG_PROJECT)) reset(); - load(Location::null, fileName); + load(Location(), fileName); if (loc.isEmpty()) loc = Location(fileName); else loc.setEtc(true); - lastLocation_ = Location::null; + lastLocation_ = Location(); // Add defines and includepaths from command line to their // respective configuration variables. Values set here are @@ -728,8 +728,12 @@ QString Config::getIncludeFilePath(const QString &fileName) const if (!includeFilesMap_.contains(ext)) { QSet t; QStringList result; - const QStringList dirs = getCanonicalPathList(CONFIG_SOURCEDIRS); - for (const auto &dir : dirs) + const auto sourceDirs = getCanonicalPathList(CONFIG_SOURCEDIRS); + for (const auto &dir : sourceDirs) + result += getFilesHere(dir, ext, location(), t, t); + // Append the include files from the exampledirs as well + const auto exampleDirs = getCanonicalPathList(CONFIG_EXAMPLEDIRS); + for (const auto &dir : exampleDirs) result += getFilesHere(dir, ext, location(), t, t); includeFilesMap_.insert(ext, result); } @@ -969,7 +973,7 @@ bool Config::isMetaKeyChar(QChar ch) */ QStringList Config::loadMaster(const QString &fileName) { - Location location = Location::null; + Location location; QFile fin(fileName); if (!fin.open(QFile::ReadOnly | QFile::Text)) { if (!Config::installDir.isEmpty()) { diff --git a/src/qdoc/doc.cpp b/src/qdoc/doc.cpp index 87a29be51..d6dc2871e 100644 --- a/src/qdoc/doc.cpp +++ b/src/qdoc/doc.cpp @@ -328,7 +328,7 @@ typedef QMap CommandMap; class DocPrivate : public Shared { public: - DocPrivate(const Location &start = Location::null, const Location &end = Location::null, + DocPrivate(const Location &start = Location(), const Location &end = Location(), const QString &source = QString()); ~DocPrivate(); diff --git a/src/qdoc/doc/qdoc-manual-contextcmds.qdoc b/src/qdoc/doc/qdoc-manual-contextcmds.qdoc index 2c42493e8..d3cf23b76 100644 --- a/src/qdoc/doc/qdoc-manual-contextcmds.qdoc +++ b/src/qdoc/doc/qdoc-manual-contextcmds.qdoc @@ -672,11 +672,11 @@ \endcode QDoc includes this line on the reference page for the - \l{http://qt-project.org/doc/qt-4.7/qml-pauseanimation.html} {PauseAnimation} + \l [QML] PauseAnimation element: \quotation - Inherits \l{http://qt-project.org/doc/qt-4.7/qml-animation.html} {Animation} + Inherits \l [QML] Animation \endquotation \target overload-command @@ -693,9 +693,9 @@ should be fully documented. Each overload can have whatever extra documentation you want to add for just that overloaded version. - From Qt 4.5, you can include the function name plus '()' as a - parameter to the \b{\\overload} command, which will include a - standard \e{This function overloads...} line of text with a link + You can include the function name plus '()' as a parameter to + the \b{\\overload} command, which will include a standard + \e{This function overloads...} line of text with a link to the documentation for the primary version of the function. \code diff --git a/src/qdoc/doc/qdoc-manual-markupcmds.qdoc b/src/qdoc/doc/qdoc-manual-markupcmds.qdoc index c21869ac6..386501cd3 100644 --- a/src/qdoc/doc/qdoc-manual-markupcmds.qdoc +++ b/src/qdoc/doc/qdoc-manual-markupcmds.qdoc @@ -3655,16 +3655,16 @@ The command is useful when some snippet of commands or text is to be used in multiple places in the documentation. Use the \\include command wherever you want to insert a snippet into the documentation. - The file containing the snippet to include must be located under the - path(s) listed in the \l{sourcedirs-variable}{sourcedirs} QDoc - configuration variable. It can be either any source file parsed - by QDoc (or even the same one where \\include command is used), or - any other text file. To store snippets in a separate file that is - not meant to be parsed by QDoc, use a file extension that is not - listed in \l {sources.fileextensions-variable}{sources.fileextensions}; + The file containing the snippet to include, must be located under the + path(s) listed in the \l{sourcedirs-variable}{sourcedirs} or + \l{exampledirs-variable}{exampledirs} QDoc configuration variable. + It can be either any source file parsed by QDoc (or even the same one + where \\include command is used), or any other text file. To store + snippets in a separate file that is not meant to be parsed by QDoc, + use a file extension that is not listed in + \l{sources.fileextensions-variable}{sources.fileextensions}; for example, \c .qdocinc. - The command can have either one or two arguments. The first argument is always a file name. The contents of the file must be QDoc input, in other words, a sequence of QDoc commands and text, but @@ -3778,6 +3778,22 @@ This would result in the following tags: \e {tutorial,basic,hello,world}. Common words such as \e example are ignored. + \b {Example Install Paths} + + The \\meta command combined with an argument \c installpath specifies the + location of an installed example. This value overrides the one that is set + using the \c examplesinstallpath configuration variable. + + \badcode + / *! + \example helloworld + \title Hello World Example + \meta {installpath} {tutorials} + * / + \endcode + + See also \l {examplesinstallpath}. + \target noautolist-command \section1 \\noautolist diff --git a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc index 070263e12..62ac13c28 100644 --- a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc +++ b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc @@ -1275,7 +1275,7 @@ QT_VERSION_STR is defined in qglobal.h as follows \badcode - #define QT_VERSION_STR "4.0.1" + #define QT_VERSION_STR "5.14.1" \endcode When a version number is specified (using the \tt{\l version} or @@ -1780,14 +1780,14 @@ \badcode project = Qt description = Qt Reference Documentation - url = http://doc.qt.io/qt-4.8/ + url = https://doc.qt.io/qt/ ... \endcode This makes sure that whenever \c qt.index is used to generate references to for example Qt classes, the base URL is \c - http://doc.qt.io/qt-4.8/. + https://doc.qt.io/qt/. See also \l indexes and \l {url.examples}. @@ -1855,7 +1855,7 @@ \badcode project = Qt description = Qt Reference Documentation - url = http://doc.qt.io/qt-4.8/ + url = http://doc.qt.io/qt/ ... \endcode diff --git a/src/qdoc/doc/qdoc-manual-topiccmds.qdoc b/src/qdoc/doc/qdoc-manual-topiccmds.qdoc index 5c3de3a98..cdd0c9aeb 100644 --- a/src/qdoc/doc/qdoc-manual-topiccmds.qdoc +++ b/src/qdoc/doc/qdoc-manual-topiccmds.qdoc @@ -812,20 +812,12 @@ - - - - @@ -884,7 +876,7 @@ \quotation \raw HTML -

          Qt Namespace Reference

          +

          Qt Namespace

          The Qt namespace contains miscellaneous identifiers used throughout the Qt library. More... @@ -893,15 +885,15 @@

          #include <Qt>

          Types


          \endraw @@ -1206,7 +1198,7 @@ \endcode This example generates the - \l {http://qt-project.org/doc/qt-4.7/qml-transform.html} {QML Transform} + \l {https://doc.qt.io/qt-5/qml-qtquick-transform.html} {QML Transform} page. The \\qmlclass comment should include the \l {since-command} {\\since} command, because all QML types are new. It should also include the \l{brief-command} {\\brief} @@ -1279,7 +1271,7 @@ \endcode The example generates the \l - {http://qt-project.org/doc/qt-4.7/qml-transform.html} {QML Transform} + {https://doc.qt.io/qt-5/qml-qtquick-transform.html} {QML Transform} page. The \e{\\qmltype} comment includes \l{instantiates-command} {\\instantiates} to specify that a Transform is instantiated by the C++ class QGraphicsTransform. A \\qmltype comment should @@ -1412,7 +1404,7 @@ \endcode The example generates the \l - {http://qt-project.org/doc/qt-4.7/qml-transform.html} {QML Transform} + {https://doc.qt.io/qt-5/qml-qtquick-transform.html} {QML Transform} page. The \e{\\qmltype} comment includes \l{instantiates-command} {\\instantiates} to specify that a Transform is instantiated by the C++ class QGraphicsTransform. A \\qmltype comment should diff --git a/src/qdoc/doc/qtgui-qdocconf.qdoc b/src/qdoc/doc/qtgui-qdocconf.qdoc index eaed76c67..4161c2917 100644 --- a/src/qdoc/doc/qtgui-qdocconf.qdoc +++ b/src/qdoc/doc/qtgui-qdocconf.qdoc @@ -137,7 +137,7 @@ to content listed in the index. \note QDoc omits this value when the -installdir argument is specified when running QDoc. -\keyword examplesinstallpath +\target examplesinstallpath \badcode examplesinstallpath = gui @@ -150,7 +150,11 @@ installed in the \e gui directory under the parent examples directory \note The examplepath variable has to match the example directory specified in \c exampledirs. -\b {See also}: \l {exampledirs}. +\note It is possible to override the \c exampleinstallpath for a specific + \l {example-command}{\\example} using the \l {meta-command}{\\meta} + command. + +\b {See also}: \l {exampledirs} and \l {meta-command}{\\meta}. \badcode qhp.projects = QtGui diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index 3897b8519..f886ef56c 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -962,8 +962,10 @@ void Generator::generateLinkToExample(const ExampleNode *en, CodeMarker *marker, } // Construct a path to the example; / - QStringList path = QStringList() - << Config::instance().getString(CONFIG_EXAMPLESINSTALLPATH) << en->name(); + QString pathRoot = en->doc().metaTagMap().value(QLatin1String("installpath")); + if (pathRoot.isEmpty()) + pathRoot = Config::instance().getString(CONFIG_EXAMPLESINSTALLPATH); + QStringList path = QStringList() << pathRoot << en->name(); path.removeAll({}); Text text; diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 5ddd7ef9e..8bd009f5f 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -3635,7 +3635,7 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, const Aggregate *relat "
          - QAbstractSocket + QAbstractSocket The base functionality common to all socket types
          - QFtp - - Implementation of the FTP protocol -
          ... ...
          \n"); QString qmlItemStart("\n" - "\n"); QString qmlItemFooter("

          \n"); + "

          \n"); QString qmlItemEnd("

          \n"); @@ -3666,8 +3666,10 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, const Aggregate *relat const SharedCommentNode *scn = static_cast(node); out() << qmlItemHeader; if (!scn->name().isEmpty()) { - out() << ""; + const QString nodeRef = refForNode(scn); + out() << ""; out() << "

          "; + out() << ""; out() << "" << scn->name() << " group"; out() << "

          \n"; } @@ -3900,6 +3902,14 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString } else if (en->name().startsWith("demos")) { continue; } + + // Retrieve the install path specified with \meta command, + // or fall back to the one defined in .qdocconf + QString installPath = en->doc().metaTagMap().value(QLatin1String("installpath")); + if (installPath.isEmpty()) + installPath = examplesPath; + if (!installPath.isEmpty() && !installPath.endsWith(QLatin1Char('/'))) + installPath += QLatin1Char('/'); // attributes that are always written for the element usedAttributes.clear(); usedAttributes << "name" @@ -3919,7 +3929,7 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString } if (!proFiles.isEmpty()) { if (proFiles.size() == 1) { - writer.writeAttribute("projectPath", examplesPath + proFiles[0]); + writer.writeAttribute("projectPath", installPath + proFiles[0]); } else { QString exampleName = en->name().split('/').last(); bool proWithExampleNameFound = false; @@ -3928,13 +3938,13 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString || proFiles[j].endsWith(QStringLiteral("%1/%1.qmlproject").arg(exampleName)) || proFiles[j].endsWith( QStringLiteral("%1/%1.pyproject").arg(exampleName))) { - writer.writeAttribute("projectPath", examplesPath + proFiles[j]); + writer.writeAttribute("projectPath", installPath + proFiles[j]); proWithExampleNameFound = true; break; } } if (!proWithExampleNameFound) - writer.writeAttribute("projectPath", examplesPath + proFiles[0]); + writer.writeAttribute("projectPath", installPath + proFiles[0]); } } if (!en->imageFileName().isEmpty()) { @@ -4072,7 +4082,7 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString if (--it == filesToOpen.constBegin()) { writer.writeAttribute(QStringLiteral("mainFile"), QStringLiteral("true")); } - writer.writeCharacters(examplesPath + it.value()); + writer.writeCharacters(installPath + it.value()); writer.writeEndElement(); } diff --git a/src/qdoc/location.cpp b/src/qdoc/location.cpp index f3db56c00..a77537f56 100644 --- a/src/qdoc/location.cpp +++ b/src/qdoc/location.cpp @@ -42,8 +42,6 @@ QT_BEGIN_NAMESPACE -const Location Location::null; - int Location::tabSize; int Location::warningCount = 0; int Location::warningLimit = -1; @@ -283,7 +281,7 @@ int Location::exitCode() if (warningLimit < 0 || warningCount <= warningLimit) return EXIT_SUCCESS; - Location::null.emitMessage( + Location().emitMessage( Error, tr("Documentation warnings (%1) exceeded the limit (%2) for '%3'.") .arg(QString::number(warningCount), QString::number(warningLimit), project), @@ -392,11 +390,11 @@ void Location::logToStdErrAlways(const QString &message) */ void Location::internalError(const QString &hint) { - Location::null.fatal(tr("Internal error (%1)").arg(hint), - tr("There is a bug in %1. Seek advice from your local" - " %2 guru.") - .arg(programName) - .arg(programName)); + Location().fatal(tr("Internal error (%1)").arg(hint), + tr("There is a bug in %1. Seek advice from your local" + " %2 guru.") + .arg(programName) + .arg(programName)); } /*! diff --git a/src/qdoc/location.h b/src/qdoc/location.h index bbefb10eb..f6704ca87 100644 --- a/src/qdoc/location.h +++ b/src/qdoc/location.h @@ -79,9 +79,8 @@ public: void fatal(const QString &message, const QString &details = QString()) const; void report(const QString &message, const QString &details = QString()) const; - static const Location null; - static void initialize(); + static void terminate(); static void information(const QString &message); static void internalError(const QString &hint); diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp index 5f98dabd5..87a1b4b2d 100644 --- a/src/qdoc/main.cpp +++ b/src/qdoc/main.cpp @@ -99,7 +99,7 @@ static void loadIndexFiles(const QSet &formats) if (fi.exists() && fi.isFile()) indexFiles << index; else - Location::null.warning(QString("Index file not found: %1").arg(index)); + Location().warning(QString("Index file not found: %1").arg(index)); } config.dependModules() += config.getStringList(CONFIG_DEPENDS); @@ -196,10 +196,10 @@ static void loadIndexFiles(const QSet &formats) indexPaths.reserve(foundIndices.size()); for (const auto &found : qAsConst(foundIndices)) indexPaths << found.absoluteFilePath(); - Location::null.warning( + Location().warning( QString("Multiple index files found for dependency \"%1\":\n%2") .arg(module, indexPaths.join('\n'))); - Location::null.warning( + Location().warning( QString("Using %1 as index file for dependency \"%2\"") .arg(foundIndices[foundIndices.size() - 1].absoluteFilePath(), module)); @@ -211,13 +211,13 @@ static void loadIndexFiles(const QSet &formats) if (!indexFiles.contains(indexToAdd)) indexFiles << indexToAdd; } else if (!asteriskUsed) { - Location::null.warning( + Location().warning( QString("\"%1\" Cannot locate index file for dependency \"%2\"") .arg(config.getString(CONFIG_PROJECT), module)); } } } else { - Location::null.warning( + Location().warning( QLatin1String("Dependent modules specified, but no index directories were set. " "There will probably be errors for missing links.")); } @@ -225,6 +225,27 @@ static void loadIndexFiles(const QSet &formats) qdb->readIndexes(indexFiles); } +/*! + \internal + Prints to stderr the name of the project that QDoc is running for, + in which mode and which phase. + + If QDoc is running in debug mode, also logs the command line arguments. + */ +void logStartEndMessage(const QLatin1String &startStop, const Config &config) +{ + const QString runName = " qdoc for " + + config.getString(CONFIG_PROJECT) + + QLatin1String(" in ") + + QLatin1String(Generator::singleExec() ? "single" : "dual") + + QLatin1String(" process mode, (") + + QLatin1String(Generator::preparing() ? "prepare" : "generate") + + QLatin1String(" phase)"); + + const QString msg = startStop + runName; + Location::logToStdErrAlways(msg); +} + /*! Processes the qdoc config file \a fileName. This is the controller for all of QDoc. The \a config instance represents the configuration data for QDoc. @@ -258,22 +279,13 @@ static void processQdocconfFile(const QString &fileName) if (!config.currentDir().isEmpty()) QDir::setCurrent(config.currentDir()); - QString phase = " in "; - if (Generator::singleExec()) - phase += "single process mode, "; - else - phase += "dual process mode, "; - if (Generator::preparing()) - phase += "(prepare phase)"; - else if (Generator::generating()) - phase += "(generate phase)"; + logStartEndMessage(QLatin1String("Start"), config); - QString msg = "Start qdoc for " + config.getString(CONFIG_PROJECT) + phase; - Location::logToStdErrAlways(msg); if (config.getDebug()) { Utilities::startDebugging(QString("command line")); qCDebug(lcQdoc).noquote() << "Arguments:" << QCoreApplication::arguments(); } + /* Initialize all the classes and data structures with the qdoc configuration. This is safe to do for each qdocconf @@ -508,8 +520,7 @@ static void processQdocconfFile(const QString &fileName) if (Utilities::debugging()) Utilities::stopDebugging(project); - msg = "End qdoc for " + config.getString(CONFIG_PROJECT) + phase; - Location::logToStdErrAlways(msg); + logStartEndMessage(QLatin1String("End"), config); QDocDatabase::qdocDB()->setVersion(QString()); Generator::terminate(); CodeParser::terminate(); diff --git a/src/qdoc/node.cpp b/src/qdoc/node.cpp index 0993f53f0..cffaf79dd 100644 --- a/src/qdoc/node.cpp +++ b/src/qdoc/node.cpp @@ -2228,7 +2228,7 @@ void Aggregate::normalizeOverloads() const NodeList &Aggregate::nonfunctionList() { nonfunctionList_ = nonfunctionMap_.values(); - std::sort(nonfunctionList_.begin(), nonfunctionList_.end()); + std::sort(nonfunctionList_.begin(), nonfunctionList_.end(), Node::nodeNameLessThan); nonfunctionList_.erase(std::unique(nonfunctionList_.begin(), nonfunctionList_.end()), nonfunctionList_.end()); return nonfunctionList_; @@ -4221,19 +4221,23 @@ void FunctionNode::addAssociatedProperty(PropertyNode *p) } /*! - Returns true if this function has at least one property - that is active, i.e. at least one property that is not - obsolete. - */ -bool FunctionNode::hasActiveAssociatedProperty() const + \reimp + + Returns \c true if this is an access function for an obsolete property, + otherwise calls the base implementation of isObsolete(). +*/ +bool FunctionNode::isObsolete() const { - if (associatedProperties_.isEmpty()) - return false; - for (const auto *property : qAsConst(associatedProperties_)) { - if (!property->isObsolete()) - return true; - } - return false; + auto it = std::find_if_not(associatedProperties_.begin(), + associatedProperties_.end(), + [](const Node *p)->bool { + return p->isObsolete(); + }); + + if (!associatedProperties_.isEmpty() && it == associatedProperties_.end()) + return true; + + return Node::isObsolete(); } /*! \fn unsigned char FunctionNode::overloadNumber() const diff --git a/src/qdoc/node.h b/src/qdoc/node.h index 54a93f7e4..f1b356fa4 100644 --- a/src/qdoc/node.h +++ b/src/qdoc/node.h @@ -183,7 +183,6 @@ public: bool isJsType() const { return nodeType_ == JsType; } bool isModule() const { return nodeType_ == Module; } bool isNamespace() const { return nodeType_ == Namespace; } - bool isObsolete() const { return (status_ == Obsolete); } bool isPage() const { return nodeType_ == Page; } bool isPreliminary() const { return (status_ == Preliminary); } bool isPrivate() const { return access_ == Private; } @@ -205,6 +204,7 @@ public: bool isVariable() const { return nodeType_ == Variable; } bool isGenericCollection() const { return (nodeType_ == Node::Collection); } + virtual bool isObsolete() const { return (status_ == Obsolete); } virtual bool isAbstract() const { return false; } virtual bool isAggregate() const { return false; } // means "can have children" virtual bool isFirstClassAggregate() const @@ -1025,6 +1025,7 @@ public: bool isMacroWithParams() const { return (metaness_ == MacroWithParams); } bool isMacroWithoutParams() const { return (metaness_ == MacroWithoutParams); } bool isMacro() const override { return (isMacroWithParams() || isMacroWithoutParams()); } + bool isObsolete() const override; bool isCppFunction() const { return metaness_ == Plain; } // Is this correct? bool isSignal() const { return (metaness_ == Signal); } @@ -1065,7 +1066,6 @@ public: bool hasAssociatedProperties() const { return !associatedProperties_.isEmpty(); } bool hasOneAssociatedProperty() const { return (associatedProperties_.size() == 1); } Node *firstAssociatedProperty() const { return associatedProperties_[0]; } - bool hasActiveAssociatedProperty() const; QString element() const override { return parent()->name(); } bool isAttached() const override { return attached_; } diff --git a/src/qdoc/qdocdatabase.cpp b/src/qdoc/qdocdatabase.cpp index 7f585cc51..2297c237d 100644 --- a/src/qdoc/qdocdatabase.cpp +++ b/src/qdoc/qdocdatabase.cpp @@ -336,7 +336,7 @@ const Node *QDocForest::findNodeForTarget(QStringList &targetPath, const Node *r */ void QDocForest::printLinkCounts(const QString &project) { - Location::null.report(QString("%1: Link Counts").arg(project)); + Location().report(QString("%1: Link Counts").arg(project)); QMultiMap m; for (const auto *tree : searchOrder()) { if (tree->linkCount() < 0) @@ -352,10 +352,10 @@ void QDocForest::printLinkCounts(const QString &project) for (int k = 0; k < pad; ++k) line += QLatin1Char(' '); line += "%1"; - Location::null.report(line.arg(-(it.key()))); + Location().report(line.arg(-(it.key()))); } - Location::null.report("Optimal depends variable:"); - Location::null.report(depends); + Location().report("Optimal depends variable:"); + Location().report(depends); } /*! diff --git a/src/qdoc/qdoctagfiles.cpp b/src/qdoc/qdoctagfiles.cpp index 192e3b4d8..0d9b0aee0 100644 --- a/src/qdoc/qdoctagfiles.cpp +++ b/src/qdoc/qdoctagfiles.cpp @@ -346,7 +346,7 @@ void QDocTagFiles::generateTagFile(const QString &fileName, Generator *g) file.setFileName(gen_->outputDir() + QLatin1Char('/') + fileInfo.fileName()); if (!file.open(QFile::WriteOnly | QFile::Text)) { - Location::null.warning(QString("Failed to open %1 for writing.").arg(file.fileName())); + Location().warning(QString("Failed to open %1 for writing.").arg(file.fileName())); return; } diff --git a/src/qdoc/quoter.cpp b/src/qdoc/quoter.cpp index a313ab5c5..fcdc6dee1 100644 --- a/src/qdoc/quoter.cpp +++ b/src/qdoc/quoter.cpp @@ -134,7 +134,7 @@ void Quoter::reset() silent = false; plainLines.clear(); markedLines.clear(); - codeLocation = Location::null; + codeLocation = Location(); } void Quoter::quoteFromFile(const QString &userFriendlyFilePath, const QString &plainCode, diff --git a/src/qdoc/sections.cpp b/src/qdoc/sections.cpp index c0c5e095d..c9012e21c 100644 --- a/src/qdoc/sections.cpp +++ b/src/qdoc/sections.cpp @@ -728,9 +728,7 @@ void Sections::distributeNodeInSummaryVector(SectionVector &sv, Node *n) sv[RelatedNonmembers].insert(n); return; } - if (fn->hasAssociatedProperties() && !fn->hasActiveAssociatedProperty()) - return; - else if (fn->isIgnored()) + if (fn->isIgnored()) return; if (fn->isSlot()) { if (fn->isPublic()) diff --git a/tests/auto/qdoc/generatedoutput/examples-qhp.qdocconf b/tests/auto/qdoc/generatedoutput/examples-qhp.qdocconf index 816d1d1a4..b4598476e 100644 --- a/tests/auto/qdoc/generatedoutput/examples-qhp.qdocconf +++ b/tests/auto/qdoc/generatedoutput/examples-qhp.qdocconf @@ -1,6 +1,8 @@ # QML test includes a documented example include(testqml.qdocconf) +examplesinstallpath = test + # Configure .qhp generation qhp.projects = Test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/test-componentset-example.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/test-componentset-example.xml index ac93617a2..2b442d1dd 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/docbook/test-componentset-example.xml +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/test-componentset-example.xml @@ -5,7 +5,8 @@ Test A test project for QDoc build artifacts -A test project for QDoc build artifacts. +Example for documenting QML types. + This example demonstrates one of the ways to document QML types. In particular, there are sample types that are documented with QDoc commands comments. There are documentation comments for the QML types and their public interfaces. The types are grouped into a module, the UI Components module. @@ -33,4 +34,14 @@ An aliased property of type <@type>int</@type><@op>.</@op&g QML Types with C++ Implementation This example only demonstrates the documentation for types in QML files, but the regular QML commands may be placed inside C++ classes to define the public API of the QML type. +Files: + +componentset/ProgressBar.qml + +componentset/Switch.qml + +componentset/TabWidget.qml + +componentset/componentset.pro + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/examples-manifest.xml b/tests/auto/qdoc/generatedoutput/expected_output/examples-manifest.xml index 330923033..7f206d0e8 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/examples-manifest.xml +++ b/tests/auto/qdoc/generatedoutput/expected_output/examples-manifest.xml @@ -1,9 +1,9 @@ - - - documentation,qml,test + + + documentation,qml,sample,test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/test-componentset-example.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/test-componentset-example.webxml index 377c49980..515ef7bf1 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/test-componentset-example.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/test-componentset-example.webxml @@ -1,12 +1,13 @@ - + + Example for documenting QML types. This example demonstrates one of the ways to document QML types. In particular, there are sample types that are documented with QDoc commands comments. There are documentation comments for the QML types and their public interfaces. The types are grouped into a module, the UI Components module. The uicomponents.qdoc file generates the overview page for the UI Components module page. @@ -32,6 +33,29 @@ An aliased property of type int. QML Types with C++ Implementation This example only demonstrates the documentation for types in QML files, but the regular QML commands may be placed inside C++ classes to define the public API of the QML type. + Files: + + + + componentset/ProgressBar.qml + + + + + componentset/Switch.qml + + + + + componentset/TabWidget.qml + + + + + componentset/componentset.pro + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/index.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/index.html new file mode 100644 index 000000000..d1fb02484 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/index.html @@ -0,0 +1,28 @@ + + + + + + doc index | Test + + +

          doc index

          + + +
          + +

          C++ Classes

          +
          + + +

          TestQDoc::Test

          A class in a namespace

          TestQDoc::TestDerived

          A derived class in a namespace

          + +

          QML Types

          +
          + +

          AbstractParent

          Abstract base QML type

          +

          Test include file that is part of the sourcedirs.

          +
          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qdoc-test-qmlmodule.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qdoc-test-qmlmodule.html new file mode 100644 index 000000000..6a513e987 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qdoc-test-qmlmodule.html @@ -0,0 +1,23 @@ + + + + + + Test + + + + + +
          +
          + +
          + + + + + +

          AbstractParent

          Abstract base QML type

          Child

          A Child inheriting its parent

          DocTest

          Represents a doc test case

          Type

          A QML type documented in a .cpp file

          int

          An integer basic type

          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-int.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-int.html new file mode 100644 index 000000000..651f840cb --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-int.html @@ -0,0 +1,23 @@ + + + + + + int QML Basic Type | Test + + + +

          int QML Basic Type

          + + +
          +
          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent-members.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent-members.html new file mode 100644 index 000000000..48c8fa485 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent-members.html @@ -0,0 +1,18 @@ + + + + + + List of All Members for AbstractParent | Test + + + +

          List of All Members for AbstractParent

          +

          This is the complete list of members for AbstractParent, including inherited members.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent.html new file mode 100644 index 000000000..cbb0f36aa --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent.html @@ -0,0 +1,79 @@ + + + + + + AbstractParent QML Type | Test + + + +

          AbstractParent QML Type

          + + +

          Abstract base QML type. More...

          + +
          +
          Import Statement: import QDoc.Test 1.1
          Inherited By:

          Child

          +
          + +

          Properties

          + + +

          Methods

          + + + +

          Detailed Description

          + +

          Property Documentation

          + +
          +
          + + +

          +[default] children : list<Child>

          +

          Children of the type.

          +

          Test include file that is part of the sourcedirs.

          +
          +
          +

          Method Documentation

          + +
          +
          + + +

          +void rear(child)

          +

          Do some abstract parenting on child.

          +
          +
          + +
          +
          + + +

          +void rear(child)

          +

          Do some abstract parenting on child.

          +

          Test include file that is part of the sourcedirs.

          +
          +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child-members.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child-members.html new file mode 100644 index 000000000..cedbad6bc --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child-members.html @@ -0,0 +1,18 @@ + + + + + + List of All Members for Child | Test + + + +

          List of All Members for Child

          +

          This is the complete list of members for Child, including inherited members.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child.html new file mode 100644 index 000000000..b1775faa3 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-child.html @@ -0,0 +1,79 @@ + + + + + + Child QML Type | Test + + + +

          Child QML Type

          + + +

          A Child inheriting its parent. More...

          + +
          +
          Import Statement: import QDoc.Test 1.1
          Inherits:

          AbstractParent

          +
          + +

          Properties

          + + +

          Methods

          + + + +

          Detailed Description

          + +

          Property Documentation

          + +
          +
          + + +

          +[default] children : list<Child>

          +

          Children of the type.

          +

          Test include file that is part of the sourcedirs.

          +
          +
          +

          Method Documentation

          + +
          +
          + + +

          +void rear(child)

          +

          Do some abstract parenting on child.

          +
          +
          + +
          +
          + + +

          +void rear(child)

          +

          Do some abstract parenting on child.

          +

          Test include file that is part of the sourcedirs.

          +
          +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest-members.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest-members.html new file mode 100644 index 000000000..3048f9701 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest-members.html @@ -0,0 +1,18 @@ + + + + + + List of All Members for DocTest | Test + + + +

          List of All Members for DocTest

          +

          This is the complete list of members for DocTest, including inherited members.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest.html new file mode 100644 index 000000000..e1475d5fb --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-doctest.html @@ -0,0 +1,86 @@ + + + + + + DocTest QML Type | Test + + + +

          DocTest QML Type

          + + +

          Represents a doc test case. More...

          + +
          +
          Import Statement: import QDoc.Test 1.1
          Since: QDoc.Test 0.9
          + +

          Properties

          + + +

          Methods

          + + + +

          Detailed Description

          + +

          Introduction

          +

          A documentation test case, itself documented inline in DocTest.qml.

          + +

          Property Documentation

          + +
          +
          + + +

          +active : bool

          +

          Whether the test is active.

          +

          See also name.

          +
          +
          + +
          +
          + + +

          +name : string

          +

          Name of the test.

          +
          DocTest {
          +    name: "test"
          +    // ...
          +}
          +
          +
          +

          Method Documentation

          + +
          +
          + + +

          +fail(message = "oops")

          +

          Fails the current test case, with the optional message.

          +

          This method was introduced in QDoc.Test 1.0.

          +
          +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type-members.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type-members.html new file mode 100644 index 000000000..91cfa8643 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type-members.html @@ -0,0 +1,31 @@ + + + + + + List of All Members for Type | Test + + + +

          List of All Members for Type

          +

          This is the complete list of members for Type, including inherited members.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type.html new file mode 100644 index 000000000..166cbee81 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-type.html @@ -0,0 +1,185 @@ + + + + + + Type QML Type | Test + + + +

          Type QML Type

          + + +

          A QML type documented in a .cpp file. More...

          + +
          +
          Import Statement: import QDoc.Test 1.1
          Instantiates: Test
          + +

          Properties

          + + +

          Attached Properties

          +
            +
          • type : enumeration
          • +
          + +

          Signals

          + + +

          Attached Signals

          + + +

          Methods

          + + + +

          Detailed Description

          + +

          Property Documentation

          + +
          +
          +
          + + + + +

          +fifth : int

          +fourth : int

          +

          A group of properties sharing a documentation comment.

          +
          +
          + +
          +
          + + + + + + + +

          group group

          +group.first : int

          +group.second : int

          +group.third : int

          +

          A property group.

          +
          +
          + +
          +
          + + +

          +[read-only] id : int

          +

          A read-only property.

          +
          +
          + +
          +
          + + +

          +name : string

          +

          Name of the Test.

          +
          +
          +

          Attached Property Documentation

          + +
          +
          + + +

          +Type.type : enumeration

          +
          + + +
          ConstantDescription
          Type.NoTypeNothing
          Type.SomeTypeSomething
          +
          +
          +

          Signal Documentation

          + +
          +
          + + +

          +completed(status)

          +

          This signal is emitted when the operation completed with status.

          +
          +
          +

          Attached Signal Documentation

          + +
          +
          + + +

          +configured()

          +

          This attached signal is emitted when the type was configured.

          +
          +
          +

          Method Documentation

          + +
          +
          +
          + + + + +

          +disable()

          +enable()

          +

          Enables or disables this type.

          +
          +
          + +
          +
          + + +

          +Type copy(a)

          +

          Returns another Type based on a.

          +
          +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/test.index b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/test.index new file mode 100644 index 000000000..f45b33114 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/test.index @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testcpp-module.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testcpp-module.html new file mode 100644 index 000000000..b1301b5d0 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testcpp-module.html @@ -0,0 +1,42 @@ + + + + + + QDoc Test C++ Classes | Test + + + +

          QDoc Test C++ Classes

          + + +

          A test module page. More...

          + + +

          Namespaces

          +
          + +

          TestQDoc

          A namespace

          + +

          Classes

          +
          + + +

          TestQDoc::Test

          A class in a namespace

          TestQDoc::TestDerived

          A derived class in a namespace

          + + +
          +

          Detailed Description

          +
          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-members.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-members.html new file mode 100644 index 000000000..6f3ca0ff5 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-members.html @@ -0,0 +1,22 @@ + + + + + + List of All Members for Test | Test + + +
        • Test
        • + +

          List of All Members for Test

          +

          This is the complete list of members for TestQDoc::Test, including inherited members.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-obsolete.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-obsolete.html new file mode 100644 index 000000000..088c2ee99 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test-obsolete.html @@ -0,0 +1,36 @@ + + + + + + Obsolete Members for Test | Test + + +
        • Test
        • + +

          Obsolete Members for Test

          +

          The following members of class Test are obsolete. They are provided to keep old source code working. We strongly advise against using them in new code.

          +

          Public Functions

          +
          + + + +
          (obsolete) void anotherObsoleteMember()
          (obsolete) void deprecatedMember()
          (obsolete) void obsoleteMember()
          +

          Member Function Documentation

          + +

          void Test::anotherObsoleteMember()

          +

          This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.

          +

          Use obsoleteMember() instead.

          + + +

          void Test::deprecatedMember()

          +

          This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.

          +

          Use someFunction() instead.

          + + +

          void Test::obsoleteMember()

          +

          This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.

          +

          Use someFunction() instead.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test.html new file mode 100644 index 000000000..53db06685 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-test.html @@ -0,0 +1,91 @@ + + + + + + Test Class | Test + + +
        • Test
        • + +

          Test Class

          +(TestQDoc::Test)
          + +

          A class in a namespace. More...

          + +
          +
          Header: #include <Test> +
          qmake: QT += testcpp
          Instantiated By: Type
          Inherited By:

          TestQDoc::TestDerived

          +
          + +

          Public Functions

          +
          + + + + +
          void inlineFunction()
          int someFunction(int v)
          void someFunctionDefaultArg(int i, bool b = false)
          virtual void virtualFun()
          + +

          Protected Functions

          +
          + + +
          void overload()
          void overload(bool b)
          + +

          Macros

          + + + +
          +

          Detailed Description

          +
          + +
          +

          Member Function Documentation

          + +
          +

          [protected] void Test::overload()

          [protected] void Test::overload(bool b)

          +

          Overloads that share a documentation comment, optionally taking a parameter b.

          + + +

          void Test::inlineFunction()

          +

          An inline function, documented using the \fn QDoc command.

          + + +

          int Test::someFunction(int v)

          +

          Function that takes a parameter v. Also returns the value of v.

          + + +

          void Test::someFunctionDefaultArg(int i, bool b = false)

          +

          Function that takes a parameter i and b.

          + + +

          [virtual] void Test::virtualFun()

          +

          Function that must be reimplemented.

          + +
          +
          +

          Macro Documentation

          + +

          QDOCTEST_MACRO2(x)

          +

          A macro with argument x.

          +

          This function was introduced in Test 1.1.

          + +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived-members.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived-members.html new file mode 100644 index 000000000..0babbbd5f --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived-members.html @@ -0,0 +1,22 @@ + + + + + + List of All Members for TestDerived | Test + + +
        • TestDerived
        • + +

          List of All Members for TestDerived

          +

          This is the complete list of members for TestQDoc::TestDerived, including inherited members.

          + + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived.html new file mode 100644 index 000000000..8f7517cd3 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc-testderived.html @@ -0,0 +1,48 @@ + + + + + + TestDerived Class | Test + + +
        • TestDerived
        • + +

          TestDerived Class

          +(TestQDoc::TestDerived)
          + +

          A derived class in a namespace. More...

          + +
          +
          Header: #include <TestDerived> +
          qmake: QT += testcpp
          Inherits: TestQDoc::Test
          + +

          Reimplemented Public Functions

          +
          + +
          virtual void virtualFun() override
          + + +
          +

          Detailed Description

          +
          + +
          +

          Member Function Documentation

          + +

          [override virtual] void TestDerived::virtualFun()

          +

          Reimplements: Test::virtualFun().

          + +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc.html new file mode 100644 index 000000000..9c6f5b6ae --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/testqdoc.html @@ -0,0 +1,64 @@ + + + + + + TestQDoc Namespace | Test + + + +

          TestQDoc Namespace

          + +

          A namespace. More...

          + +
          +
          Header: #include <TestCPP> +
          qmake: QT += testcpp
            +
          + +

          Classes

          +
          + + +
          class Test
          class TestDerived
          + +

          Macros

          + + + +
          +

          Detailed Description

          + +

          Usage

          +

          This namespace is for testing QDoc output.

          +
          + +
          +

          Classes

          +

          class Test

          +

          A class in a namespace. More...

          + +

          class TestDerived

          +

          A derived class in a namespace. More...

          + +
          +
          +

          Macro Documentation

          + +

          QDOCTEST_MACRO

          + +
          + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html index 949dc7868..3668112ee 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html @@ -46,7 +46,7 @@
          +[default] children : list<Child>

          -[default] children : list<Child>

          Children of the type.

          @@ -57,7 +57,7 @@
          +voidrear(child)

          -void rear(child)

          Do some abstract parenting on child.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html index 5ba40c99c..22f38cc9c 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html @@ -46,7 +46,7 @@
          +[default] children : list<Child>

          -[default] children : list<Child>

          Children of the type.

          @@ -57,7 +57,7 @@
          +voidrear(child)

          -void rear(child)

          Do some abstract parenting on child.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html index a88d935be..e1475d5fb 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html @@ -50,7 +50,7 @@
          +active : bool

          -active : bool

          Whether the test is active.

          See also name.

          @@ -61,7 +61,7 @@
          +name : string

          -name : string

          Name of the test.

          DocTest {
          @@ -76,7 +76,7 @@
           
          +fail(message = "oops")

          -fail(message = "oops")

          Fails the current test case, with the optional message.

          This method was introduced in QDoc.Test 1.0.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html index 363a4bf16..166cbee81 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html @@ -75,10 +75,10 @@
          +fifth : int

          +fourth : int

          -fifth : int

          -fourth : int

          A group of properties sharing a documentation comment.

          @@ -86,16 +86,16 @@
          - + +group.first : int

          +group.second : int

          +group.third : int

          group group

          group group

          -group.first : int

          -group.second : int

          -group.third : int

          A property group.

          @@ -105,7 +105,7 @@
          +[read-only] id : int

          -[read-only] id : int

          A read-only property.

          @@ -115,7 +115,7 @@
          +name : string

          -name : string

          Name of the Test.

          @@ -126,7 +126,7 @@
          +Type.type : enumeration

          -Type.type : enumeration

          @@ -140,7 +140,7 @@
          ConstantDescription
          Type.NoTypeNothing
          +completed(status)

          -completed(status)

          This signal is emitted when the operation completed with status.

          @@ -151,7 +151,7 @@
          +configured()

          -configured()

          This attached signal is emitted when the type was configured.

          @@ -163,10 +163,10 @@
          +disable()

          +enable()

          -disable()

          -enable()

          Enables or disables this type.

          @@ -176,7 +176,7 @@
          +Typecopy(a)

          -Type copy(a)

          Returns another Type based on a.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html index 6cfe36a83..a1b43ea9d 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html @@ -46,7 +46,7 @@
          +color : color

          -color : color

          The color of the ProgressBar's gradient. Must bind to a color type.

          See also secondColor.

          @@ -57,7 +57,7 @@
          +maximum : int

          -maximum : int

          The maximum value of the ProgressBar range. The value must not be more than this value.

          @@ -67,7 +67,7 @@
          +minimum : int

          -minimum : int

          The minimum value of the ProgressBar range. The value must not be less than this value.

          @@ -77,7 +77,7 @@
          +secondColor : color

          -secondColor : color

          The second color of the ProgressBar's gradient. Must bind to a color type.

          See also color.

          @@ -88,7 +88,7 @@
          +value : int

          -value : int

          The value of the progress.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html index 5ebae4905..fadb1a531 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html @@ -48,7 +48,7 @@
          +on : bool

          -on : bool

          Indicates the state of the switch. If false, then the switch is in the off state.

          @@ -59,7 +59,7 @@
          +toggle()

          -toggle()

          A method to toggle the switch. If the switch is on, the toggling it will turn it off. Toggling a switch in the off position will turn it on.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html index 2c48e1ddd..1b2421722 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html @@ -62,7 +62,7 @@
          +current : int

          -current : int

          The currently active tab in the TabWidget.

          @@ -72,7 +72,7 @@
          +[read-only] sampleReadOnlyProperty : int

          -[read-only] sampleReadOnlyProperty : int

          A sample read-only property. A contrived property to demonstrate QDoc's ability to detect read-only properties.

          The signature is:

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/test-componentset-example.html b/tests/auto/qdoc/generatedoutput/expected_output/test-componentset-example.html index faf632bea..8b792090f 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/test-componentset-example.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/test-componentset-example.html @@ -19,6 +19,9 @@

          QML Documentation Example

          + +

          Example for documenting QML types.

          +

          This example demonstrates one of the ways to document QML types.

          @@ -42,6 +45,13 @@ An aliased property of type int

          QML Types with C++ Implementation

          This example only demonstrates the documentation for types in QML files, but the regular QML commands may be placed inside C++ classes to define the public API of the QML type.

          +

          Files:

          +
          diff --git a/tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/anotherindex.qdoc b/tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/anotherindex.qdoc new file mode 100644 index 000000000..75dd9197d --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/anotherindex.qdoc @@ -0,0 +1,39 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +//! exampledirs-include + \page index.html + \title doc index + + \section1 C++ Classes + \generatelist {classesbymodule TestCPP} + \section1 QML Types + \annotatedlist qmltypes +//! exampledirs-include +*/ diff --git a/tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/parentinclude.qdoc b/tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/parentinclude.qdoc new file mode 100644 index 000000000..c95e22125 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/parentinclude.qdoc @@ -0,0 +1,64 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +//! abstract-type + \qmltype AbstractParent + \ingroup qmltypes + \qmlabstract + \brief Abstract base QML type. +//! abstract-type +*/ + +/*! +//! children-qmlproperty + \qmlproperty list AbstractParent::children + \default + \brief Children of the type. +//! children-qmlproperty +*/ + +/*! +//! rear-qmlmethod + \qmlmethod void AbstractParent::rear(Child child) + \brief Do some abstract parenting on \a child. +//! rear-qmlmethod +*/ + +/*! + \qmltype Child + \ingroup qmltypes + \inherits AbstractParent + \brief A Child inheriting its parent. +*/ + +/*! + \qmlbasictype int + \ingroup qmltypes + \brief An integer basic type. +*/ diff --git a/tests/auto/qdoc/generatedoutput/includefromexampledirs/includefromexampledirs.qdocconf b/tests/auto/qdoc/generatedoutput/includefromexampledirs/includefromexampledirs.qdocconf new file mode 100644 index 000000000..05683c80b --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/includefromexampledirs/includefromexampledirs.qdocconf @@ -0,0 +1,12 @@ +include(../testqml.qdocconf) + +includepaths += .. +sourcedirs += src + +excludedirs += excludes \ + ../qml/componentset + +exampledirs += excludes + +HTML.nosubdirs = true +HTML.outputsubdir = includefromexampledirs diff --git a/tests/auto/qdoc/generatedoutput/includefromexampledirs/src/includefromparent.qdoc b/tests/auto/qdoc/generatedoutput/includefromexampledirs/src/includefromparent.qdoc new file mode 100644 index 000000000..7b4c00b76 --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/includefromexampledirs/src/includefromparent.qdoc @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +\include anotherindex.qdoc exampledirs-include + +\include parent.qdocinc +*/ + +/*! +\include parentinclude.qdoc abstract-type + +\include parent.qdocinc +*/ + +/*! +\include parentinclude.qdoc children-qmlproperty + +\include parent.qdocinc +*/ + +/*! +\include parentinclude.qdoc rear-qmlmethod + +\include parent.qdocinc +*/ diff --git a/tests/auto/qdoc/generatedoutput/includefromexampledirs/src/parent.qdocinc b/tests/auto/qdoc/generatedoutput/includefromexampledirs/src/parent.qdocinc new file mode 100644 index 000000000..307c39dbd --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/includefromexampledirs/src/parent.qdocinc @@ -0,0 +1 @@ +Test include file that is part of the sourcedirs. diff --git a/tests/auto/qdoc/generatedoutput/qml/componentset/examples.qdoc b/tests/auto/qdoc/generatedoutput/qml/componentset/examples.qdoc index 7c780eca8..2f56c221c 100644 --- a/tests/auto/qdoc/generatedoutput/qml/componentset/examples.qdoc +++ b/tests/auto/qdoc/generatedoutput/qml/componentset/examples.qdoc @@ -28,6 +28,10 @@ /*! \example componentset \title QML Documentation Example + \brief Example for documenting QML types. + + \meta tag {test,sample} + \meta installpath tutorials This example demonstrates one of the ways to document QML types. diff --git a/tests/auto/qdoc/generatedoutput/testqml.qdocconf b/tests/auto/qdoc/generatedoutput/testqml.qdocconf index c469bde06..f618fe1b8 100644 --- a/tests/auto/qdoc/generatedoutput/testqml.qdocconf +++ b/tests/auto/qdoc/generatedoutput/testqml.qdocconf @@ -16,5 +16,7 @@ excludedirs = ./bug80259 sources.fileextensions = "*.qml *.cpp *.qdoc" headers.fileextensions = "*.h" +examples.fileextensions = "*.qml" + macro.begincomment = "\\c{/*}" macro.QDocTestVer = "1.1" diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index f1c0b892e..4cab6a8fd 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -63,6 +63,7 @@ private slots: void dontDocument(); void inheritedQmlPropertyGroups(); void crossModuleLinking(); + void includeFromExampleDirs(); private: QScopedPointer m_outputDir; @@ -334,6 +335,14 @@ void tst_generatedOutput::crossModuleLinking() indexDir.toLatin1().data()); } +void tst_generatedOutput::includeFromExampleDirs() +{ + testAndCompare("includefromexampledirs/includefromexampledirs.qdocconf", + "includefromexampledirs/index.html " + "includefromexampledirs/qml-qdoc-test-abstractparent.html " + "includefromexampledirs/qml-qdoc-test-abstractparent-members.html"); +} + QTEST_APPLESS_MAIN(tst_generatedOutput) #include "tst_generatedoutput.moc" -- cgit v1.2.3 From 698ffa215fd3fd7b8dd67ed9be88ca1a6731df91 Mon Sep 17 00:00:00 2001 From: Yuhang Zhao <2546789017@qq.com> Date: Tue, 18 Feb 2020 10:54:03 +0800 Subject: windeployqt: Use correct file name for ANGLE In most cases, the letter "v" is always lower-cased. Change-Id: I3748357f548f62b6ea7f6d1f3ee8d404fec34f8b Reviewed-by: Oliver Wolff --- src/windeployqt/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp index bae019150..ae27f36ba 100644 --- a/src/windeployqt/main.cpp +++ b/src/windeployqt/main.cpp @@ -1418,7 +1418,7 @@ static DeployResult deploy(const Options &options, // Check for ANGLE on the Qt5Gui library. if (options.platform.testFlag(WindowsBased) && !qtGuiLibrary.isEmpty()) { - QString libGlesName = QStringLiteral("libGLESV2"); + QString libGlesName = QStringLiteral("libGLESv2"); if (result.isDebug && platformHasDebugSuffix(options.platform)) libGlesName += QLatin1Char('d'); libGlesName += QLatin1String(windowsSharedLibrarySuffix); -- cgit v1.2.3 From 4bfea4e31f4a3deec673f519c83081b284f7c556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucie=20G=C3=A9rard?= Date: Tue, 18 Feb 2020 11:44:41 +0100 Subject: Split the PP handling out of the AST parsing Change-Id: Id36ef1a920fb21442263df975e8bde0e3a76bd5b Reviewed-by: Karsten Heimrich --- src/global/configure.pri | 3 +- src/linguist/lupdate/clangtoolastreader.cpp | 157 +------------------- src/linguist/lupdate/clangtoolastreader.h | 121 +--------------- src/linguist/lupdate/cpp_clang.cpp | 9 +- src/linguist/lupdate/cpp_clang.h | 158 ++++++++++++++++++++- src/linguist/lupdate/lupdate.pro | 6 +- src/linguist/lupdate/lupdatepreprocessoraction.cpp | 142 ++++++++++++++++++ src/linguist/lupdate/lupdatepreprocessoraction.h | 125 ++++++++++++++++ 8 files changed, 440 insertions(+), 281 deletions(-) create mode 100644 src/linguist/lupdate/lupdatepreprocessoraction.cpp create mode 100644 src/linguist/lupdate/lupdatepreprocessoraction.h diff --git a/src/global/configure.pri b/src/global/configure.pri index 2d0601245..4dd81c623 100644 --- a/src/global/configure.pri +++ b/src/global/configure.pri @@ -191,8 +191,7 @@ defineReplace(CheckClangLlvmLibForLupdateParser) { } } !equals(QMAKE_HOST.os, Windows): { - equals(QMAKE_HOST.os, Darwin): CLANG_LLVM_LIBS += -lz -lcurses - else: CLANG_LLVM_LIBS += -lz -ltinfo + CLANG_LLVM_LIBS += -lz -ltinfo } return($$CLANG_LLVM_LIBS) } diff --git a/src/linguist/lupdate/clangtoolastreader.cpp b/src/linguist/lupdate/clangtoolastreader.cpp index bd3147838..da0fcd5d8 100644 --- a/src/linguist/lupdate/clangtoolastreader.cpp +++ b/src/linguist/lupdate/clangtoolastreader.cpp @@ -25,12 +25,9 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ -#include "clangtoolastreader.h" - -#include -#include -#include +#include "clangtoolastreader.h" +#include "translator.h" QT_BEGIN_NAMESPACE @@ -50,67 +47,6 @@ namespace LupdatePrivate return QString::fromStdString(context.substr(0, context.find("::" + funcName, 0))); } - enum QuoteCompulsary - { - None = 0x01, - Left = 0x02, // Left quote is mandatory - Right = 0x04, // Right quote is mandatory - LeftAndRight = Left | Right // Both quotes are mandatory - }; - - /* - Removes the quotes around the lupdate extra, ID meta data, magic and - ID prefix comments and source string literals. - Depending on the given compulsory option, quotes can be unbalanced and - still some text is returned. This is to mimic the old lupdate behavior. - */ - QString cleanQuote(llvm::StringRef s, QuoteCompulsary quote) - { - if (s.empty()) - return {}; - s = s.trim(); - if (!s.consume_front("\"") && ((quote & Left) != 0)) - return {}; - if (!s.consume_back("\"") && ((quote & Right) != 0)) - return {}; - return QString::fromStdString(s); - } - - /* - Removes the quotes and a possible existing string literal prefix - for a given string literal coming from the source code. Do not use - to clean the quotes around the lupdate translator specific comments. - */ - QString cleanQuote(const std::string &token) - { - if (token.empty()) - return {}; - - const QString string = QString::fromStdString(token).trimmed(); - const int index = string.indexOf(QLatin1Char('"')); - if (index <= 0) - return LupdatePrivate::cleanQuote(token, QuoteCompulsary::LeftAndRight); - - QRegularExpressionMatch result; - if (string.at(index - 1) == QLatin1Char('R')) { - static const QRegularExpression rawStringLiteral { - QStringLiteral( - "(?:\\bu8|\\b[LuU])??R\\\"([^\\(\\)\\\\ ]{0,16})\\((?.*)\\)\\1\\\"" - ), QRegularExpression::DotMatchesEverythingOption }; - result = rawStringLiteral.match(string); - } else { - static const QRegularExpression stringLiteral { - QStringLiteral( - "(?:\\bu8|\\b[LuU])+?\\\"(?[^\\\"\\\\]*(?:\\\\.[^\\\"\\\\]*)*)\\\"" - ) - }; - result = stringLiteral.match(string); - } - if (result.hasMatch()) - return result.captured(QStringLiteral("characters")); - return string; - } - static bool capture(const QRegularExpression &exp, const QString &line, QString *i, QString *c) { i->clear(), c->clear(); @@ -622,93 +558,4 @@ void LupdateVisitor::processPreprocessorCall(TranslationRelatedStore store) } } -void LupdatePPCallbacks::MacroExpands(const clang::Token ¯oNameTok, - const clang::MacroDefinition ¯oDefinition, clang::SourceRange range, - const clang::MacroArgs *args) -{ - if (!args) - return; - const auto &sm = m_preprocessor.getSourceManager(); - llvm::StringRef fileName = sm.getFilename(range.getBegin()); - if (fileName != m_inputFile) - return; - - const QString funcName = QString::fromStdString(m_preprocessor.getSpelling(macroNameTok)); - qCDebug(lcClang) << "func Name " << funcName; - if (!funcName.contains(QStringLiteral("NOOP")) - && !funcName.contains(QStringLiteral("Q_DECLARE_TR_FUNCTIONS"))) { - return; - } - - TranslationRelatedStore store; - store.callType = QStringLiteral("MacroExpands"); - store.funcName = funcName; - store.lupdateLocationFile = QString::fromStdString(fileName); - store.lupdateLocationLine = sm.getExpansionLineNumber(range.getBegin()); - store.locationCol = sm.getExpansionColumnNumber(range.getBegin()); - store.callLocation = range.getBegin(); - - std::vector arguments(args->getNumMacroArguments()); - for (unsigned i = 0; i < args->getNumMacroArguments(); i++) { - auto preExpArguments = const_cast(args)->getPreExpArgument(i, - m_preprocessor); - QString temp; - for (const auto &preExpArgument : preExpArguments) { - const auto kind = preExpArgument.getKind(); - if (kind == clang::tok::TokenKind::identifier) - temp = QString::fromStdString(m_preprocessor.getSpelling(preExpArgument)); - else if (clang::tok::isStringLiteral(kind)) - temp += LupdatePrivate::cleanQuote(m_preprocessor.getSpelling(preExpArgument)); - } - arguments[i] = temp; - } - storeMacroArguments(arguments, &store); - if (store.isValid()) - m_translationStores.push_back(store); -} - -void LupdatePPCallbacks::storeMacroArguments(const std::vector &args, - TranslationRelatedStore *store) -{ - switch (trFunctionAliasManager.trFunctionByName(store->funcName)) { - // only one argument: the context with no " - case TrFunctionAliasManager::Function_Q_DECLARE_TR_FUNCTIONS: - if (args.size() != 1) - break; - store->contextArg = args[0]; - break; - // only one argument: the source - case TrFunctionAliasManager::Function_QT_TR_N_NOOP: - Q_FALLTHROUGH(); - case TrFunctionAliasManager::Function_QT_TR_NOOP: - case TrFunctionAliasManager::Function_QT_TR_NOOP_UTF8: - if (args.size() != 1) - break; - store->lupdateSource = args[0]; - break; - // two arguments: the context and the source - case TrFunctionAliasManager::Function_QT_TRANSLATE_N_NOOP: - case TrFunctionAliasManager::Function_QT_TRANSLATE_N_NOOP3: - Q_FALLTHROUGH(); - case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP: - case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP_UTF8: - case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP3: - case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP3_UTF8: - if (args.size() != 2) - break; - store->contextArg = args[0]; - store->lupdateSource = args[1]; - break; - // only one argument (?) the message Id - case TrFunctionAliasManager::Function_QT_TRID_N_NOOP: - Q_FALLTHROUGH(); - case TrFunctionAliasManager::Function_qtTrId: - case TrFunctionAliasManager::Function_QT_TRID_NOOP: - if (args.size() != 1) - break; - store->lupdateId = args[0]; - break; - } -} - QT_END_NAMESPACE diff --git a/src/linguist/lupdate/clangtoolastreader.h b/src/linguist/lupdate/clangtoolastreader.h index d7f6fce3b..ea544bdad 100644 --- a/src/linguist/lupdate/clangtoolastreader.h +++ b/src/linguist/lupdate/clangtoolastreader.h @@ -29,136 +29,33 @@ #ifndef CLANG_TOOL_AST_READER_H #define CLANG_TOOL_AST_READER_H -#include "lupdate.h" -#include "translator.h" -#include "translatormessage.h" - -#include +#include "cpp_clang.h" #if defined(Q_CC_MSVC) +# pragma warning(push) # pragma warning(disable: 4100) # pragma warning(disable: 4146) # pragma warning(disable: 4267) # pragma warning(disable: 4624) #endif -#include #include #include #include #include -#include -#include #if defined(Q_CC_MSVC) -# pragma warning(default: 4100) -# pragma warning(default: 4146) -# pragma warning(default: 4267) -# pragma warning(default: 4624) +# pragma warning(pop) #endif #include -#include -#include -#include QT_BEGIN_NAMESPACE -inline QDebug operator<<(QDebug out, const std::string& str) -{ - out << QString::fromStdString(str); - return out; -} -Q_DECLARE_LOGGING_CATEGORY(lcClang) - -#define LUPDATE_CLANG_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch)) -#define LUPDATE_CLANG_VERSION LUPDATE_CLANG_VERSION_CHECK(LUPDATE_CLANG_VERSION_MAJOR, \ - LUPDATE_CLANG_VERSION_MINOR, LUPDATE_CLANG_VERSION_PATCH) - -// Local storage of translation information (information from the AST and -// linguist side) -struct TranslationRelatedStore -{ - QString callType; - QString rawCode; - QString funcName; - qint64 locationCol = -1; - QString contextArg; - QString contextRetrieved; - QString lupdateSource; - QString lupdateLocationFile; - qint64 lupdateLocationLine = -1; - QString lupdateId; - QString lupdateSourceWhenId; - QString lupdateIdMetaData; - QString lupdateMagicMetaData; - QHash lupdateAllMagicMetaData; - QString lupdateComment; - QString lupdateExtraComment; - QString lupdatePlural; - clang::SourceLocation callLocation; - - bool isValid() const - { - return !lupdateLocationFile.isEmpty() && (lupdateLocationLine > -1) && (locationCol > -1); - } - - void printStore() const - { - qCDebug(lcClang) << "------------------ Printing Store----------------------------------\n"; - qCDebug(lcClang) - << "callType : " << callType << "\n" - << "rawCode : \n" << rawCode << "\n" - << "funcName : " << funcName << "\n" - << "LocationCol : " << locationCol << "\n" - << "contextArg : " << contextArg << "\n" - << "contextRetrieved : " << contextRetrieved << "\n" - << "lupdateSource : " << lupdateSource << "\n" - << "lupdateLocationFile : " << lupdateLocationFile << "\n" - << "lupdateLocationLine : " << lupdateLocationLine << "\n" - << "lupdateId : " << lupdateId << "\n" - << "lupdateIdMetaData : " << lupdateIdMetaData << "\n" - << "lupdateMagicMetaData: " << lupdateMagicMetaData << "\n" - << "lupdateComment : " << lupdateComment << "\n" - << "lupdateExtraComment : " << lupdateExtraComment << "\n" - << "lupdatePlural : " << lupdatePlural; - qCDebug(lcClang) << "-------------------------------------------------------------------\n"; - } -}; - -using TranslationStores = std::vector; - -class LupdatePPCallbacks : public clang::PPCallbacks -{ -public: - LupdatePPCallbacks(TranslationStores &translationStores, clang::Preprocessor &preprocessor) - : m_translationStores(translationStores), - m_preprocessor(preprocessor) - { - const auto &sm = m_preprocessor.getSourceManager(); - m_inputFile = sm.getFileEntryForID(sm.getMainFileID())->getName(); - } - - ~LupdatePPCallbacks() override - {} - - // Overridden callback functions. - void MacroExpands(const clang::Token ¯oNameTok, - const clang::MacroDefinition ¯oDefinition, clang::SourceRange range, - const clang::MacroArgs *args) override; - -private: - void storeMacroArguments(const std::vector &args, TranslationRelatedStore *store); - - TranslationStores &m_translationStores; - clang::Preprocessor &m_preprocessor; - std::string m_inputFile; -}; +class Translator; class LupdateVisitor : public clang::RecursiveASTVisitor { - friend class LupdateASTConsumer; - public: explicit LupdateVisitor(clang::ASTContext *context, Translator *tor) : m_context(context), @@ -214,11 +111,6 @@ public: m_visitor.fillTranslator(); } - TranslationStores &preprocessorStores() - { - return m_visitor.m_translationStoresFromPP; - } - private: LupdateVisitor m_visitor; }; @@ -234,11 +126,6 @@ public: clang::CompilerInstance &compiler, llvm::StringRef /* inFile */) override { LupdateASTConsumer *consumer = new LupdateASTConsumer(&compiler.getASTContext(), m_tor); - clang::Preprocessor &preprocessor = compiler.getPreprocessor(); - LupdatePPCallbacks *callbacks = new LupdatePPCallbacks(consumer->preprocessorStores(), - preprocessor); - preprocessor.addPPCallbacks(std::unique_ptr(callbacks)); - return std::unique_ptr(consumer); } diff --git a/src/linguist/lupdate/cpp_clang.cpp b/src/linguist/lupdate/cpp_clang.cpp index 598ac94ca..6b8162c59 100644 --- a/src/linguist/lupdate/cpp_clang.cpp +++ b/src/linguist/lupdate/cpp_clang.cpp @@ -25,9 +25,11 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ -#include "cpp_clang.h" -#include +#include "cpp_clang.h" +#include "clangtoolastreader.h" +#include "lupdatepreprocessoraction.h" +#include "translator.h" #include #include @@ -77,6 +79,9 @@ void ClangCppParser::loadCPP(Translator &translator, const QStringList &filename clang::tooling::ClangTool tool(OptionsParser.getCompilations(), sources); tool.appendArgumentsAdjuster(getClangArgumentAdjuster()); + Stores stores; + tool.run(new LupdatePreprocessorActionFactory(stores.Preprocessor)); + Translator *tor = new Translator(); // A ClangTool needs a new FrontendAction for each translation unit it runs on diff --git a/src/linguist/lupdate/cpp_clang.h b/src/linguist/lupdate/cpp_clang.h index 16e03fb70..c9d512c5e 100644 --- a/src/linguist/lupdate/cpp_clang.h +++ b/src/linguist/lupdate/cpp_clang.h @@ -29,16 +29,168 @@ #ifndef CLANG_CPP_H #define CLANG_CPP_H -#include "clangtoolastreader.h" #include "lupdate.h" +#include +#include + +#if defined(Q_CC_MSVC) +# pragma warning(push) +# pragma warning(disable: 4100) +# pragma warning(disable: 4146) +# pragma warning(disable: 4267) +# pragma warning(disable: 4624) +#endif + +#include + +#if defined(Q_CC_MSVC) +# pragma warning(pop) +#endif + +#include + QT_BEGIN_NAMESPACE -namespace ClangCppParser { +inline QDebug operator<<(QDebug out, const std::string& str) +{ + out << QString::fromStdString(str); + return out; +} +Q_DECLARE_LOGGING_CATEGORY(lcClang) + +#define LUPDATE_CLANG_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch)) +#define LUPDATE_CLANG_VERSION LUPDATE_CLANG_VERSION_CHECK(LUPDATE_CLANG_VERSION_MAJOR, \ + LUPDATE_CLANG_VERSION_MINOR, LUPDATE_CLANG_VERSION_PATCH) + +// Local storage of translation information (information from the AST and linguist side) +struct TranslationRelatedStore +{ + QString callType; + QString rawCode; + QString funcName; + qint64 locationCol = -1; + QString contextArg; + QString contextRetrieved; + QString lupdateSource; + QString lupdateLocationFile; + qint64 lupdateLocationLine = -1; + QString lupdateId; + QString lupdateSourceWhenId; + QString lupdateIdMetaData; + QString lupdateMagicMetaData; + QHash lupdateAllMagicMetaData; + QString lupdateComment; + QString lupdateExtraComment; + QString lupdatePlural; + clang::SourceLocation callLocation; + + bool isValid() const + { + return !lupdateLocationFile.isEmpty() && (lupdateLocationLine > -1) && (locationCol > -1); + } + + void printStore() const + { + qCDebug(lcClang) << "------------------ Printing Store----------------------------------\n"; + qCDebug(lcClang) + << "callType : " << callType << "\n" + << "rawCode : \n" << rawCode << "\n" + << "funcName : " << funcName << "\n" + << "LocationCol : " << locationCol << "\n" + << "contextArg : " << contextArg << "\n" + << "contextRetrieved : " << contextRetrieved << "\n" + << "lupdateSource : " << lupdateSource << "\n" + << "lupdateLocationFile : " << lupdateLocationFile << "\n" + << "lupdateLocationLine : " << lupdateLocationLine << "\n" + << "lupdateId : " << lupdateId << "\n" + << "lupdateIdMetaData : " << lupdateIdMetaData << "\n" + << "lupdateMagicMetaData: " << lupdateMagicMetaData << "\n" + << "lupdateComment : " << lupdateComment << "\n" + << "lupdateExtraComment : " << lupdateExtraComment << "\n" + << "lupdatePlural : " << lupdatePlural; + qCDebug(lcClang) << "-------------------------------------------------------------------\n"; + } +}; +using TranslationStores = std::vector; + +struct Stores +{ + TranslationStores Preprocessor; + TranslationStores AST; + TranslationStores QDeclareTrWithContext; + TranslationStores QNoopTranlsationWithContext; +}; + +namespace LupdatePrivate +{ + enum QuoteCompulsary + { + None = 0x01, + Left = 0x02, // Left quote is mandatory + Right = 0x04, // Right quote is mandatory + LeftAndRight = Left | Right // Both quotes are mandatory + }; + + /* + Removes the quotes around the lupdate extra, ID meta data, magic and + ID prefix comments and source string literals. + Depending on the given compulsory option, quotes can be unbalanced and + still some text is returned. This is to mimic the old lupdate behavior. + */ + static QString cleanQuote(llvm::StringRef s, QuoteCompulsary quote) + { + if (s.empty()) + return {}; + s = s.trim(); + if (!s.consume_front("\"") && ((quote & Left) != 0)) + return {}; + if (!s.consume_back("\"") && ((quote & Right) != 0)) + return {}; + return QString::fromStdString(s); + } + + /* + Removes the quotes and a possible existing string literal prefix + for a given string literal coming from the source code. Do not use + to clean the quotes around the lupdate translator specific comments. + */ + static QString cleanQuote(const std::string &token) + { + if (token.empty()) + return {}; + + const QString string = QString::fromStdString(token).trimmed(); + const int index = string.indexOf(QLatin1Char('"')); + if (index <= 0) + return LupdatePrivate::cleanQuote(token, QuoteCompulsary::LeftAndRight); + + QRegularExpressionMatch result; + if (string.at(index - 1) == QLatin1Char('R')) { + static const QRegularExpression rawStringLiteral { + QStringLiteral( + "(?:\\bu8|\\b[LuU])??R\\\"([^\\(\\)\\\\ ]{0,16})\\((?.*)\\)\\1\\\"" + ), QRegularExpression::DotMatchesEverythingOption }; + result = rawStringLiteral.match(string); + } else { + static const QRegularExpression stringLiteral { + QStringLiteral( + "(?:\\bu8|\\b[LuU])+?\\\"(?[^\\\"\\\\]*(?:\\\\.[^\\\"\\\\]*)*)\\\"" + ) + }; + result = stringLiteral.match(string); + } + if (result.hasMatch()) + return result.captured(QStringLiteral("characters")); + return string; + } +} + +namespace ClangCppParser +{ void loadCPP(Translator &translator, const QStringList &filenames, ConversionData &cd); } QT_END_NAMESPACE - #endif diff --git a/src/linguist/lupdate/lupdate.pro b/src/linguist/lupdate/lupdate.pro index 8f1826eee..c653a4e46 100644 --- a/src/linguist/lupdate/lupdate.pro +++ b/src/linguist/lupdate/lupdate.pro @@ -53,10 +53,12 @@ HEADERS += \ qtConfig(clangcpp) { SOURCES += \ cpp_clang.cpp \ - clangtoolastreader.cpp + clangtoolastreader.cpp \ + lupdatepreprocessoraction.cpp HEADERS += \ cpp_clang.h \ - clangtoolastreader.h + clangtoolastreader.h \ + lupdatepreprocessoraction.h } mingw { diff --git a/src/linguist/lupdate/lupdatepreprocessoraction.cpp b/src/linguist/lupdate/lupdatepreprocessoraction.cpp new file mode 100644 index 000000000..3e48ffdfe --- /dev/null +++ b/src/linguist/lupdate/lupdatepreprocessoraction.cpp @@ -0,0 +1,142 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Linguist of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "lupdatepreprocessoraction.h" + +#include +#include + +QT_BEGIN_NAMESPACE + +void LupdatePPCallbacks::MacroExpands(const clang::Token &token, + const clang::MacroDefinition ¯oDefinition, clang::SourceRange sourceRange, + const clang::MacroArgs *macroArgs) +{ + const auto &sm = m_preprocessor.getSourceManager(); + llvm::StringRef fileName = sm.getFilename(sourceRange.getBegin()); + if (fileName != m_inputFile) + return; + + const QString funcName = QString::fromStdString(m_preprocessor.getSpelling(token)); + switch (trFunctionAliasManager.trFunctionByName(funcName)) { + default: + return; + case TrFunctionAliasManager::Function_Q_DECLARE_TR_FUNCTIONS: + case TrFunctionAliasManager::Function_QT_TRANSLATE_N_NOOP: + case TrFunctionAliasManager::Function_QT_TRANSLATE_N_NOOP3: + case TrFunctionAliasManager::Function_QT_TRID_NOOP: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP3: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP_UTF8: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP3_UTF8: + qCDebug(lcClang) << "MacroExpands: Function name:" << funcName; + break; + } + + TranslationRelatedStore store; + store.callType = QStringLiteral("MacroExpands"); + store.funcName = funcName; + store.lupdateLocationFile = QString::fromStdString(fileName); + store.lupdateLocationLine = sm.getExpansionLineNumber(sourceRange.getBegin()); + store.locationCol = sm.getExpansionColumnNumber(sourceRange.getBegin()); + store.callLocation = sourceRange.getBegin(); + + if (macroArgs) { + std::vector arguments(macroArgs->getNumMacroArguments()); + for (unsigned i = 0; i < macroArgs->getNumMacroArguments(); i++) { + auto preExpArguments = const_cast(macroArgs)->getPreExpArgument(i, + m_preprocessor); + QString temp; + bool errorArgument = false; + for (const auto &preExpArgument : preExpArguments) { + const auto kind = preExpArgument.getKind(); + switch (trFunctionAliasManager.trFunctionByName(funcName)) { + default: + break; + case TrFunctionAliasManager::Function_QT_TRANSLATE_N_NOOP: + case TrFunctionAliasManager::Function_QT_TRANSLATE_N_NOOP3: + case TrFunctionAliasManager::Function_QT_TRID_NOOP: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP3: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP_UTF8: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP3_UTF8: + if (!clang::tok::isStringLiteral(kind)) + errorArgument = true; + break; + } + if (errorArgument) + break; + if (clang::tok::isStringLiteral(kind)) + temp += LupdatePrivate::cleanQuote(m_preprocessor.getSpelling(preExpArgument)); + else + temp += QString::fromStdString(m_preprocessor.getSpelling(preExpArgument)); + } + arguments[i] = temp; + } + storeMacroArguments(arguments, &store); + } + if (store.isValid()) + m_stores.push_back(store); +} + +void LupdatePPCallbacks::storeMacroArguments(const std::vector &args, + TranslationRelatedStore *store) +{ + switch (trFunctionAliasManager.trFunctionByName(store->funcName)) { + // only one argument: the context with no " + case TrFunctionAliasManager::Function_Q_DECLARE_TR_FUNCTIONS: + if (args.size() == 1) + store->contextArg = args[0]; + break; + // two arguments: the context and the source + case TrFunctionAliasManager::Function_QT_TRANSLATE_N_NOOP: + case TrFunctionAliasManager::Function_QT_TRANSLATE_N_NOOP3: + Q_FALLTHROUGH(); + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP_UTF8: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP3: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP3_UTF8: + if (args.size() >= 2) { + store->contextArg = args[0]; + store->lupdateSource = args[1]; + } + if (args.size() == 3) + store->lupdateComment = args[2]; + break; + // only one argument (?) the message Id + case TrFunctionAliasManager::Function_QT_TRID_N_NOOP: + Q_FALLTHROUGH(); + case TrFunctionAliasManager::Function_qtTrId: + case TrFunctionAliasManager::Function_QT_TRID_NOOP: + if (args.size() == 1) + store->lupdateId = args[0]; + break; + } +} + +QT_END_NAMESPACE diff --git a/src/linguist/lupdate/lupdatepreprocessoraction.h b/src/linguist/lupdate/lupdatepreprocessoraction.h new file mode 100644 index 000000000..21c7baee1 --- /dev/null +++ b/src/linguist/lupdate/lupdatepreprocessoraction.h @@ -0,0 +1,125 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Linguist of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef LUPDATEPREPROCESSORACTION_H +#define LUPDATEPREPROCESSORACTION_H + +#include "cpp_clang.h" + +#if defined(Q_CC_MSVC) +# pragma warning(push) +# pragma warning(disable: 4100) +# pragma warning(disable: 4146) +# pragma warning(disable: 4267) +# pragma warning(disable: 4624) +#endif + +#include +#include +#include +#include +#include + +#if defined(Q_CC_MSVC) +# pragma warning(pop) +#endif + +#include + +QT_BEGIN_NAMESPACE + +class LupdatePPCallbacks : public clang::PPCallbacks +{ +public: + LupdatePPCallbacks(TranslationStores &stores, clang::Preprocessor &pp) + : m_stores(stores) + , m_preprocessor(pp) + { + const auto &sm = m_preprocessor.getSourceManager(); + m_inputFile = sm.getFileEntryForID(sm.getMainFileID())->getName(); + } + +private: + void MacroExpands(const clang::Token &token, const clang::MacroDefinition ¯oDefinition, + clang::SourceRange sourceRange, const clang::MacroArgs *macroArgs) override; + + void storeMacroArguments(const std::vector &args, TranslationRelatedStore *store); + + std::string m_inputFile; + TranslationStores &m_stores; + clang::Preprocessor &m_preprocessor; +}; + +class LupdatePreprocessorAction : public clang::PreprocessOnlyAction +{ +public: + LupdatePreprocessorAction(TranslationStores &stores) + : m_stores(stores) + {} + +private: + void ExecuteAction() override + { + auto &preprocessor = getCompilerInstance().getPreprocessor(); + preprocessor.SetSuppressIncludeNotFoundError(true); + auto callbacks = new LupdatePPCallbacks(m_stores, preprocessor); + preprocessor.addPPCallbacks(std::unique_ptr(callbacks)); + + clang::PreprocessOnlyAction::ExecuteAction(); + } + +private: + TranslationStores &m_stores; +}; + +class LupdatePreprocessorActionFactory : public clang::tooling::FrontendActionFactory +{ +public: + LupdatePreprocessorActionFactory(TranslationStores &stores) + : m_stores(stores) + {} + +#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(10,0,0)) + std::unique_ptr create() override + { + return std::make_unique(m_stores); + } +#else + clang::FrontendAction *create() override + { + return new LupdatePreprocessorAction(m_stores); + } +#endif + +private: + TranslationStores &m_stores; +}; + +QT_END_NAMESPACE + +#endif -- cgit v1.2.3 From f685da95bd841c212142c9ba5ce9cad64640af2f Mon Sep 17 00:00:00 2001 From: Karsten Heimrich Date: Fri, 8 Nov 2019 14:38:30 +0100 Subject: Add PP calls context and fill the information in translator This is needed to get the context for translations present in macros without a context in their argument and to apply the argument-context in Q_DECLARE_TR_FUNCTIONS to the right translation calls Change-Id: I109f2bf963211dabcf293b772fa7d1d873f6ff60 Reviewed-by: Karsten Heimrich --- src/linguist/lupdate/clangtoolastreader.cpp | 261 ++++++++++++++++------------ src/linguist/lupdate/clangtoolastreader.h | 50 +++--- src/linguist/lupdate/cpp_clang.cpp | 174 ++++++++++++++++++- src/linguist/lupdate/cpp_clang.h | 14 ++ 4 files changed, 353 insertions(+), 146 deletions(-) diff --git a/src/linguist/lupdate/clangtoolastreader.cpp b/src/linguist/lupdate/clangtoolastreader.cpp index da0fcd5d8..8d384e89a 100644 --- a/src/linguist/lupdate/clangtoolastreader.cpp +++ b/src/linguist/lupdate/clangtoolastreader.cpp @@ -33,6 +33,34 @@ QT_BEGIN_NAMESPACE namespace LupdatePrivate { + /* + Retrieves the context for the NOOP macros using the context of + the NamedDeclaration within which the Macro is. + The context is stripped of the function or method part as it used not to be retrieved + in the previous cpp parser. + */ + QString contextForNoopMacro(clang::NamedDecl *namedDecl) + { + QStringList context; + const clang::DeclContext *decl = namedDecl->getDeclContext(); + while (decl) { + if (clang::isa(decl) && !decl->isFunctionOrMethod()) { + if (const auto *namespaceDecl = clang::dyn_cast(decl)) { + context.prepend(namespaceDecl->isAnonymousNamespace() + ? QStringLiteral("(anonymous namespace)") + : QString::fromStdString(namespaceDecl->getDeclName().getAsString())); + } else if (const auto *recordDecl = clang::dyn_cast(decl)) { + static const QString anonymous = QStringLiteral("(anonymous %1)"); + context.prepend(recordDecl->getIdentifier() + ? QString::fromStdString(recordDecl->getDeclName().getAsString()) + : anonymous.arg(QLatin1String(recordDecl->getKindName().data()))); + } + } + decl = decl->getParent(); + } + return context.join(QStringLiteral("::")); + } + QString contextForFunctionDecl(clang::FunctionDecl *func, const std::string &funcName) { std::string context; @@ -104,6 +132,15 @@ namespace LupdatePrivate return true; return false; } + + bool isPointWithin(const clang::SourceRange &sourceRange, const clang::SourceLocation &point, + const clang::SourceManager &sm) + { + clang::SourceLocation start = sourceRange.getBegin(); + clang::SourceLocation end = sourceRange.getEnd(); + return point == start || point == end || (sm.isBeforeInTranslationUnit(start, point) + && sm.isBeforeInTranslationUnit(point, end)); + } } /* @@ -206,7 +243,7 @@ bool LupdateVisitor::VisitCallExpr(clang::CallExpr *callExpression) qCDebug(lcClang) << "Plural : " << store.lupdatePlural; break; } - m_translationStoresFromAST.push_back(store); + m_stores.AST.push_back(store); return true; } @@ -423,138 +460,136 @@ void LupdateVisitor::setInfoFromRawComment(const QString &commentString, } } -/* - Fill the Translator with the retrieved information after traversing the AST. -*/ -void LupdateVisitor::fillTranslator() +void LupdateVisitor::processPreprocessorCalls() { - for (const auto &store : qAsConst(m_translationStoresFromAST)) - fillTranslator(store); - // Here also need to fill the translator with the information retrieved from the PreProcessor + m_macro = (m_stores.Preprocessor.size() > 0); + for (const auto &store : qAsConst(m_stores.Preprocessor)) + processPreprocessorCall(store); } -void LupdateVisitor::fillTranslator(TranslationRelatedStore store) +void LupdateVisitor::processPreprocessorCall(TranslationRelatedStore store) { - bool forcePlural = false; - switch (trFunctionAliasManager.trFunctionByName(store.funcName)) { - case TrFunctionAliasManager::Function_Q_DECLARE_TR_FUNCTIONS: - // If there is a Q_DECLARE_TR_FUNCTION the context given takes priority - // over the retrieved context. - // The retrieved context for Q_DECLARE_TR_FUNCTION (where the macro was) - // has to fit the start of the retrieved context of the tr function or - // NOOP macro if there is already a argument giving the context, it has - // priority. - //handleDeclareTrFunctions(); // TODO: Implement. - break; - case TrFunctionAliasManager::Function_QT_TR_N_NOOP: - forcePlural = true; - Q_FALLTHROUGH(); - case TrFunctionAliasManager::Function_tr: - case TrFunctionAliasManager::Function_trUtf8: - case TrFunctionAliasManager::Function_QT_TR_NOOP: - case TrFunctionAliasManager::Function_QT_TR_NOOP_UTF8: - handleTr(store, forcePlural); - break; - case TrFunctionAliasManager::Function_QT_TRANSLATE_N_NOOP: - case TrFunctionAliasManager::Function_QT_TRANSLATE_N_NOOP3: - forcePlural = true; - Q_FALLTHROUGH(); - case TrFunctionAliasManager::Function_translate: - case TrFunctionAliasManager::Function_findMessage: - case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP: - case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP_UTF8: - case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP3: - case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP3_UTF8: - handleTranslate(store, forcePlural); - break; - case TrFunctionAliasManager::Function_QT_TRID_N_NOOP: - forcePlural = true; - Q_FALLTHROUGH(); - case TrFunctionAliasManager::Function_qtTrId: - case TrFunctionAliasManager::Function_QT_TRID_NOOP: - handleTrId(store, forcePlural); - break; - } -} + const std::vector rawComments = rawCommentsFromSourceLocation(store.callLocation); + for (const auto &rawComment : rawComments) + setInfoFromRawComment(rawComment, &store); -TranslatorMessage LupdateVisitor::fillTranslatorMessage(const TranslationRelatedStore &store, - bool forcePlural, bool isId) -{ - QString context; - if (!isId) { - context = ParserTool::transcode(store.contextArg.isEmpty() ? store.contextRetrieved - : store.contextArg); + if (store.isValid()) { + if (store.funcName.contains(QStringLiteral("Q_DECLARE_TR_FUNCTIONS"))) + m_qDeclareTrMacroAll.push_back(store); + else + m_noopTranslationMacroAll.push_back(store); + store.printStore(); } - - TranslatorMessage msg(context, - ParserTool::transcode(isId ? store.lupdateSourceWhenId - : store.lupdateSource), - ParserTool::transcode(store.lupdateComment), - QString(), - store.lupdateLocationFile, - store.lupdateLocationLine, - QStringList(), - TranslatorMessage::Type::Unfinished, - (forcePlural ? forcePlural : !store.lupdatePlural.isEmpty())); - - if (!store.lupdateAllMagicMetaData.empty()) - msg.setExtras(store.lupdateAllMagicMetaData); - msg.setExtraComment(ParserTool::transcode(store.lupdateExtraComment)); - return msg; } -void LupdateVisitor::handleTranslate(const TranslationRelatedStore &store, bool forcePlural) +bool LupdateVisitor::VisitNamedDecl(clang::NamedDecl *namedDeclaration) { - if (!store.lupdateSourceWhenId.isEmpty()) - qCDebug(lcClang) << "//% is ignored when using translate function\n"; + if (!m_macro) + return true; + auto fullLocation = m_context->getFullLoc(namedDeclaration->getBeginLoc()); + if (!fullLocation.isValid() || !fullLocation.getFileEntry()) + return true; + + if (fullLocation.getFileEntry()->getName() != m_inputFile) + return true; - TranslatorMessage msg = fillTranslatorMessage(store, forcePlural); - msg.setId(ParserTool::transcode(store.lupdateIdMetaData)); // //= NOT to be used with qTrId - m_tor->append(msg); + qCDebug(lcClang) << "NamedDecl Name: " << namedDeclaration->getQualifiedNameAsString(); + qCDebug(lcClang) << "NamedDecl source: " << namedDeclaration->getSourceRange().printToString( + m_context->getSourceManager()); + // Checks if there is a macro located within the range of this NamedDeclaration + // in order to find a context for the macro + findContextForTranslationStoresFromPP(namedDeclaration); + return true; } -void LupdateVisitor::handleTr(const TranslationRelatedStore &store, bool forcePlural) +void LupdateVisitor::findContextForTranslationStoresFromPP(clang::NamedDecl *namedDeclaration) { - if (!store.lupdateSourceWhenId.isEmpty()) - qCDebug(lcClang) << "//% is ignored when using tr function\n"; - if (store.contextRetrieved.isEmpty() && store.contextArg.isEmpty()) { - qCDebug(lcClang) << "tr() cannot be called without context \n"; - return; + qCDebug(lcClang) << "=================findContextForTranslationStoresFromPP==================="; + qCDebug(lcClang) << "m_noopTranslationMacroAll " << m_noopTranslationMacroAll.size(); + qCDebug(lcClang) << "m_qDeclareTrMacroAll " << m_qDeclareTrMacroAll.size(); + clang::SourceManager &sm = m_context->getSourceManager(); + + // Looking for NOOP context only in the input file + // because we are not interested in the NOOP from all related file + // Once QT_TR_NOOP are gone this step can be removes because the only + // QT_...NOOP left will have an context as argument + for (TranslationRelatedStore &store : m_noopTranslationMacroAll) { + if (!store.contextArg.isEmpty()) + continue; + clang::SourceLocation sourceLoc = store.callLocation; + if (!sourceLoc.isValid()) + continue; + if (LupdatePrivate::isPointWithin(namedDeclaration->getSourceRange(), sourceLoc, sm)) { + /* + void N3::C1::C12::C121::f2() + { + const char test_NOOP[] = QT_TR_NOOP("A QT_TR_NOOP N3::C1::C13"); + } + In such case namedDeclaration->getQualifiedNameAsString() will give only + test_NOOP as context. + This is why the following function is needed + */ + store.contextRetrievedTempNOOP = LupdatePrivate::contextForNoopMacro(namedDeclaration); + qCDebug(lcClang) << "------------------------------------------NOOP Macro in range ---"; + qCDebug(lcClang) << "Range " << namedDeclaration->getSourceRange().printToString(sm); + qCDebug(lcClang) << "Point " << sourceLoc.printToString(sm); + qCDebug(lcClang) << "=========== Visit Named Declaration ============================="; + qCDebug(lcClang) << " Declaration Location " << + namedDeclaration->getSourceRange().printToString(sm); + qCDebug(lcClang) << " Macro Location " + << store.callLocation.printToString(sm); + qCDebug(lcClang) << " Context namedDeclaration->getQualifiedNameAsString() " + << namedDeclaration->getQualifiedNameAsString(); + qCDebug(lcClang) << " Context LupdatePrivate::contextForNoopMacro " + << store.contextRetrievedTempNOOP; + qCDebug(lcClang) << " Context Retrieved " << store.contextRetrievedTempNOOP; + qCDebug(lcClang) << "================================================================="; + store.printStore(); + } } - TranslatorMessage msg = fillTranslatorMessage(store, forcePlural); - msg.setId(ParserTool::transcode(store.lupdateIdMetaData)); // //= NOT to be used with qTrId - m_tor->append(msg); + for (TranslationRelatedStore &store : m_qDeclareTrMacroAll) { + clang::SourceLocation sourceLoc = store.callLocation; + if (!sourceLoc.isValid()) + continue; + if (LupdatePrivate::isPointWithin(namedDeclaration->getSourceRange(), sourceLoc, sm)) { + store.contextRetrieved = QString::fromStdString( + namedDeclaration->getQualifiedNameAsString()); + qCDebug(lcClang) << "------------------------------------------DECL Macro in range ---"; + qCDebug(lcClang) << "Range " << namedDeclaration->getSourceRange().printToString(sm); + qCDebug(lcClang) << "Point " << sourceLoc.printToString(sm); + qCDebug(lcClang) << "=========== Visit Named Declaration ============================="; + qCDebug(lcClang) << " Declaration Location " << + namedDeclaration->getSourceRange().printToString(sm); + qCDebug(lcClang) << " Macro Location " + << store.callLocation.printToString(sm); + qCDebug(lcClang) << " Context namedDeclaration->getQualifiedNameAsString() " + << store.contextRetrieved; + qCDebug(lcClang) << " Context LupdatePrivate::contextForNoopMacro " + << LupdatePrivate::contextForNoopMacro(namedDeclaration); + qCDebug(lcClang) << " Context Retrieved " << store.contextRetrieved; + qCDebug(lcClang) << "================================================================="; + store.printStore(); + } + } } -void LupdateVisitor::handleTrId(const TranslationRelatedStore &store, bool forcePlural) +void LupdateVisitor::generateOuput() { - if (!store.lupdateIdMetaData.isEmpty()) - qCDebug(lcClang) << "//= is ignored when using qtTrId function \n"; + qCDebug(lcClang) << "===================generateOuput============================"; - TranslatorMessage msg = fillTranslatorMessage(store, forcePlural, true); - msg.setId(ParserTool::transcode(store.lupdateId)); - m_tor->append(msg); -} - -void LupdateVisitor::processPreprocessorCalls() -{ - for (const auto &store : qAsConst(m_translationStoresFromPP)) - processPreprocessorCall(store); -} - -void LupdateVisitor::processPreprocessorCall(TranslationRelatedStore store) -{ - const std::vector rawComments = rawCommentsFromSourceLocation(store.callLocation); - for (const auto &rawComment : rawComments) - setInfoFromRawComment(rawComment, &store); + for (TranslationRelatedStore &store : m_noopTranslationMacroAll) { + if (store.contextRetrievedTempNOOP.isEmpty() && store.contextArg.isEmpty()) + continue; + // only fill if a context has been retrieved in the file we're currently visiting + m_stores.QNoopTranlsationWithContext.push_back(store); + } - if (store.isValid()) { - if (store.funcName.contains(QStringLiteral("Q_DECLARE_TR_FUNCTIONS"))) - m_qDeclateTrFunctionContext.push_back(store); - else - m_noopTranslationStores.push_back(store); - store.printStore(); + for (TranslationRelatedStore &store : m_qDeclareTrMacroAll) { + if (store.contextRetrieved.isEmpty()) + continue; + // only fill if a context has been retrieved in the file we're currently visiting + m_stores.QDeclareTrWithContext.push_back(store); } } diff --git a/src/linguist/lupdate/clangtoolastreader.h b/src/linguist/lupdate/clangtoolastreader.h index ea544bdad..8f9a54565 100644 --- a/src/linguist/lupdate/clangtoolastreader.h +++ b/src/linguist/lupdate/clangtoolastreader.h @@ -57,17 +57,19 @@ class Translator; class LupdateVisitor : public clang::RecursiveASTVisitor { public: - explicit LupdateVisitor(clang::ASTContext *context, Translator *tor) - : m_context(context), - m_tor(tor) + explicit LupdateVisitor(clang::ASTContext *context, Stores &stores) + : m_context(context) + , m_stores(stores) { m_inputFile = m_context->getSourceManager().getFileEntryForID( m_context->getSourceManager().getMainFileID())->getName(); } bool VisitCallExpr(clang::CallExpr *callExpression); - void fillTranslator(); void processPreprocessorCalls(); + bool VisitNamedDecl(clang::NamedDecl *namedDeclaration); + void findContextForTranslationStoresFromPP(clang::NamedDecl *namedDeclaration); + void generateOuput(); private: std::vector rawCommentsForCallExpr(const clang::CallExpr *callExpr) const; @@ -75,30 +77,24 @@ private: void setInfoFromRawComment(const QString &commentString, TranslationRelatedStore *store); - void fillTranslator(TranslationRelatedStore store); - TranslatorMessage fillTranslatorMessage(const TranslationRelatedStore &store, - bool forcePlural, bool isID = false); - void handleTr(const TranslationRelatedStore &store, bool forcePlural); - void handleTrId(const TranslationRelatedStore &store, bool forcePlural); - void handleTranslate(const TranslationRelatedStore &store, bool forcePlural); - void processPreprocessorCall(TranslationRelatedStore store); clang::ASTContext *m_context { nullptr }; Translator *m_tor { nullptr }; std::string m_inputFile; - TranslationStores m_translationStoresFromAST; - TranslationStores m_qDeclateTrFunctionContext; - TranslationStores m_noopTranslationStores; - TranslationStores m_translationStoresFromPP; + Stores &m_stores; + + TranslationStores m_qDeclareTrMacroAll; + TranslationStores m_noopTranslationMacroAll; + bool m_macro = false; }; class LupdateASTConsumer : public clang::ASTConsumer { public: - explicit LupdateASTConsumer(clang::ASTContext *context, Translator *tor) - : m_visitor(context, tor) + explicit LupdateASTConsumer(clang::ASTContext *context, Stores &stores) + : m_visitor(context, stores) {} // This method is called when the ASTs for entire translation unit have been @@ -108,7 +104,7 @@ public: m_visitor.processPreprocessorCalls(); bool traverse = m_visitor.TraverseAST(context); qCDebug(lcClang) << "TraverseAST: " << traverse; - m_visitor.fillTranslator(); + m_visitor.generateOuput(); } private: @@ -118,42 +114,42 @@ private: class LupdateFrontendAction : public clang::ASTFrontendAction { public: - LupdateFrontendAction(Translator *tor) - : m_tor(tor) + LupdateFrontendAction(Stores &outputStoresWithContext) + : m_stores(outputStoresWithContext) {} std::unique_ptr CreateASTConsumer( clang::CompilerInstance &compiler, llvm::StringRef /* inFile */) override { - LupdateASTConsumer *consumer = new LupdateASTConsumer(&compiler.getASTContext(), m_tor); + auto consumer = new LupdateASTConsumer(&compiler.getASTContext(), m_stores); return std::unique_ptr(consumer); } private: - Translator *m_tor { nullptr }; + Stores &m_stores; }; class LupdateToolActionFactory : public clang::tooling::FrontendActionFactory { public: - LupdateToolActionFactory(Translator *tor) - : m_tor(tor) + LupdateToolActionFactory(Stores &stores) + : m_stores(stores) {} #if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(10,0,0)) std::unique_ptr create() override { - return std::make_unique(m_tor); + return std::make_unique(m_stores); } #else clang::FrontendAction *create() override { - return new LupdateFrontendAction(m_tor); + return new LupdateFrontendAction(m_stores); } #endif private: - Translator *m_tor { nullptr }; + Stores &m_stores; }; QT_END_NAMESPACE diff --git a/src/linguist/lupdate/cpp_clang.cpp b/src/linguist/lupdate/cpp_clang.cpp index 6b8162c59..fc11253bd 100644 --- a/src/linguist/lupdate/cpp_clang.cpp +++ b/src/linguist/lupdate/cpp_clang.cpp @@ -68,8 +68,6 @@ void ClangCppParser::loadCPP(Translator &translator, const QStringList &filename for (const QString &filename : filenames) sources.push_back(filename.toStdString()); - // The ClangTool is to be created and run from this function. - int argc = 4; // NEED 2 empty one to start!!! otherwise: LLVM::ERROR const QByteArray jsonPath = cd.m_compileCommandsPath.toLocal8Bit(); @@ -81,12 +79,10 @@ void ClangCppParser::loadCPP(Translator &translator, const QStringList &filename Stores stores; tool.run(new LupdatePreprocessorActionFactory(stores.Preprocessor)); + tool.run(new LupdateToolActionFactory(stores)); Translator *tor = new Translator(); - - // A ClangTool needs a new FrontendAction for each translation unit it runs on - // A Customized FrontendActionFactory is building a customized FrondendAction - tool.run(new LupdateToolActionFactory(tor)); + ClangCppParser::fillTranslator(tor, stores); if (QLoggingCategory("qt.lupdate.clang").isDebugEnabled()) tor->dump(); @@ -95,4 +91,170 @@ void ClangCppParser::loadCPP(Translator &translator, const QStringList &filename translator.extend(msg, cd); } +/* + Fill the Translator with the retrieved information after traversing the AST. +*/ +void ClangCppParser::fillTranslator(Translator *tor, Stores &stores) +{ + correctAstTranslationContext(stores); + for (auto &store : stores.AST) + fillTranslator(tor, store); + + correctNoopTanslationContext(stores); + for (auto &store : stores.QNoopTranlsationWithContext) + fillTranslator(tor, store); +} + +void ClangCppParser::fillTranslator(Translator *tor, TranslationRelatedStore store) +{ + bool plural = false; + switch (trFunctionAliasManager.trFunctionByName(store.funcName)) { + case TrFunctionAliasManager::Function_Q_DECLARE_TR_FUNCTIONS: + break; + case TrFunctionAliasManager::Function_QT_TR_N_NOOP: + plural = true; + Q_FALLTHROUGH(); + case TrFunctionAliasManager::Function_tr: + case TrFunctionAliasManager::Function_trUtf8: + case TrFunctionAliasManager::Function_QT_TR_NOOP: + case TrFunctionAliasManager::Function_QT_TR_NOOP_UTF8: + handleTr(tor, store, plural); + break; + case TrFunctionAliasManager::Function_QT_TRANSLATE_N_NOOP: + case TrFunctionAliasManager::Function_QT_TRANSLATE_N_NOOP3: + plural = true; + Q_FALLTHROUGH(); + case TrFunctionAliasManager::Function_translate: + case TrFunctionAliasManager::Function_findMessage: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP_UTF8: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP3: + case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP3_UTF8: + handleTranslate(tor, store, plural); + break; + case TrFunctionAliasManager::Function_QT_TRID_N_NOOP: + plural = true; + Q_FALLTHROUGH(); + case TrFunctionAliasManager::Function_qtTrId: + case TrFunctionAliasManager::Function_QT_TRID_NOOP: + handleTrId(tor, store, plural); + break; + } +} + +TranslatorMessage ClangCppParser::fillTranslatorMessage(const TranslationRelatedStore &store, + const QString &id, bool plural, bool isId) +{ + QString context; + if (!isId) { + context = ParserTool::transcode(store.contextArg.isEmpty() ? store.contextRetrieved + : store.contextArg); + } + + TranslatorMessage msg(context, + ParserTool::transcode(isId ? store.lupdateSourceWhenId + : store.lupdateSource), + ParserTool::transcode(store.lupdateComment), + QString(), + store.lupdateLocationFile, + store.lupdateLocationLine, + QStringList(), + TranslatorMessage::Type::Unfinished, + (plural ? plural : !store.lupdatePlural.isEmpty())); + + if (!store.lupdateAllMagicMetaData.empty()) + msg.setExtras(store.lupdateAllMagicMetaData); + msg.setExtraComment(ParserTool::transcode(store.lupdateExtraComment)); + msg.setId(ParserTool::transcode(id)); + return msg; +} + +void ClangCppParser::handleTranslate(Translator *tor, const TranslationRelatedStore &store, + bool plural) +{ + if (!store.lupdateSourceWhenId.isEmpty()) + qCDebug(lcClang) << "//% is ignored when using translate function\n"; + tor->append(fillTranslatorMessage(store, store.lupdateIdMetaData, plural, false)); +} + +void ClangCppParser::handleTr(Translator *tor, const TranslationRelatedStore &store, bool plural) +{ + if (!store.lupdateSourceWhenId.isEmpty()) + qCDebug(lcClang) << "//% is ignored when using tr function\n"; + if (store.contextRetrieved.isEmpty() && store.contextArg.isEmpty()) { + qCDebug(lcClang) << "tr() cannot be called without context \n"; + return; + } + tor->append(fillTranslatorMessage(store, store.lupdateIdMetaData, plural, false)); +} + +void ClangCppParser::handleTrId(Translator *tor, const TranslationRelatedStore &store, bool plural) +{ + if (!store.lupdateIdMetaData.isEmpty()) + qCDebug(lcClang) << "//= is ignored when using qtTrId function \n"; + tor->append(fillTranslatorMessage(store, store.lupdateId, plural, true)); +} + +void ClangCppParser::correctAstTranslationContext(Stores &stores) +{ + for (auto &store : stores.AST) { + if (!store.contextArg.isEmpty()) + continue; + + // If there is a Q_DECLARE_TR_FUNCTION the context given there takes + // priority over the retrieved context. The retrieved context for + // Q_DECLARE_TR_FUNCTION (where the macro was) has to fit the retrieved + // context of the tr function if there is already a argument giving the + // context, it has priority + for (auto &declareStore : stores.QDeclareTrWithContext) { + qCDebug(lcClang) << "----------------------------"; + qCDebug(lcClang) << "Tr call context retrieved " << store.contextRetrieved; + qCDebug(lcClang) << "Tr call source " << store.lupdateSource; + qCDebug(lcClang) << "- DECLARE context retrieved " << declareStore.contextRetrieved; + qCDebug(lcClang) << "- DECLARE context Arg " << declareStore.contextArg; + if (declareStore.contextRetrieved.isEmpty()) + continue; + if (!declareStore.contextRetrieved.startsWith(store.contextRetrieved)) + continue; + if (store.contextRetrieved.size() == declareStore.contextRetrieved.size()) { + qCDebug(lcClang) << "* Tr call context retrieved " << store.contextRetrieved; + qCDebug(lcClang) << "* DECLARE context retrieved " << declareStore.contextRetrieved; + qCDebug(lcClang) << "* DECLARE context Arg " << declareStore.contextArg; + store.contextArg = declareStore.contextArg; + } + } + } +} + +void ClangCppParser::correctNoopTanslationContext(Stores &stores) +{ + for (auto &store : stores.QNoopTranlsationWithContext) { + if (!store.contextArg.isEmpty()) + continue; + qCDebug(lcClang) << "----------------------------"; + qCDebug(lcClang) << "NOOP call context retrieved Temp" << store.contextRetrievedTempNOOP; + qCDebug(lcClang) << "NOOP call source " << store.lupdateSource; + + for (const auto &qDeclare : stores.QDeclareTrWithContext) { + bool firstCheck = false; + bool secondCheck = false; + qCDebug(lcClang) << "- DECLARE context retrieved " << qDeclare.contextRetrieved; + qCDebug(lcClang) << "- DECLARE context Arg " << qDeclare.contextArg; + if (store.contextRetrievedTempNOOP.startsWith(qDeclare.contextRetrieved)) { + firstCheck = (store.contextRetrievedTempNOOP.size() == qDeclare.contextRetrieved.size() + || (store.contextRetrievedTempNOOP.at(qDeclare.contextRetrieved.size() + 1) + == QLatin1Char(':'))); + secondCheck = qDeclare.contextRetrieved.size() > store.contextRetrieved.size(); + if (firstCheck && secondCheck) { + store.contextRetrieved = qDeclare.contextRetrieved; + store.contextArg = qDeclare.contextArg; + qCDebug(lcClang) << "* NOOP call context retrieved " << store.contextRetrieved; + qCDebug(lcClang) << "* DECLARE context retrieved " << qDeclare.contextRetrieved; + qCDebug(lcClang) << "* DECLARE context Arg " << qDeclare.contextArg; + } + } + } + } +} + QT_END_NAMESPACE diff --git a/src/linguist/lupdate/cpp_clang.h b/src/linguist/lupdate/cpp_clang.h index c9d512c5e..acc0157da 100644 --- a/src/linguist/lupdate/cpp_clang.h +++ b/src/linguist/lupdate/cpp_clang.h @@ -72,6 +72,7 @@ struct TranslationRelatedStore qint64 locationCol = -1; QString contextArg; QString contextRetrieved; + QString contextRetrievedTempNOOP; QString lupdateSource; QString lupdateLocationFile; qint64 lupdateLocationLine = -1; @@ -189,6 +190,19 @@ namespace LupdatePrivate namespace ClangCppParser { void loadCPP(Translator &translator, const QStringList &filenames, ConversionData &cd); + + void fillTranslator(Translator *tor, Stores &stores); + void fillTranslator(Translator *tor, TranslationRelatedStore store); + + TranslatorMessage fillTranslatorMessage(const TranslationRelatedStore &store, + const QString &id, bool plural, bool isID); + + void handleTr(Translator *tor, const TranslationRelatedStore &store, bool plural); + void handleTrId(Translator *tor, const TranslationRelatedStore &store, bool plural); + void handleTranslate(Translator *tor, const TranslationRelatedStore &store, bool plural); + + void correctAstTranslationContext(Stores &stores); + void correctNoopTanslationContext(Stores &stores); } QT_END_NAMESPACE -- cgit v1.2.3 From 9202d454511fa917d7ede2e969c738c20e835675 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Sun, 16 Feb 2020 12:26:54 +0100 Subject: qdoc: Add a test for validating output of QML basic type methods MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-36585 Change-Id: Idbcc701394e1a1f688d3832a88ae5f8948e73c36 Reviewed-by: Topi Reiniö --- .../generatedoutput/expected_output/docbook/qml-int.xml | 7 +++++++ .../qdoc/generatedoutput/expected_output/qml-int.html | 16 ++++++++++++++++ tests/auto/qdoc/generatedoutput/qml/parent.qdoc | 5 +++++ 3 files changed, 28 insertions(+) diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-int.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-int.xml index 2dd4bc1c5..00ef9ec39 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-int.xml +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qml-int.xml @@ -11,4 +11,11 @@ Detailed Description + +Method Documentation + +int abs() +Returns the absolute value of this integer. + + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html index 651f840cb..0b21da628 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-int.html @@ -15,9 +15,25 @@

          int QML Basic Type

          + +

          Methods

          +
          +

          Method Documentation

          + +
          +
          + + +

          +int abs()

          +

          Returns the absolute value of this integer.

          +
          +
          diff --git a/tests/auto/qdoc/generatedoutput/qml/parent.qdoc b/tests/auto/qdoc/generatedoutput/qml/parent.qdoc index e0bed66c0..fed18491c 100644 --- a/tests/auto/qdoc/generatedoutput/qml/parent.qdoc +++ b/tests/auto/qdoc/generatedoutput/qml/parent.qdoc @@ -57,3 +57,8 @@ \brief An integer basic type. */ + +/*! + \qmlmethod int int::abs() + Returns the absolute value of this integer. +*/ -- cgit v1.2.3 From ea29dae17dd4238c259a05667ebd8ce7ca54b4fd Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Sun, 16 Feb 2020 16:33:22 +0100 Subject: qdoc: Store and use the current namespace scope for \fn comments Writing \fn commands for member functions of classes declared under a namespace was error-prone as QDoc required the fully qualified paths for the function signature, even though the documentation comment was located under the correct namespace scope. Store the scope by backtracking the Clang AST until we reach the level of the translation unit, and store each encountered namespace declaration into a list. When generating the temporary source file for an \fn command, we can then recreate the correct namespace hierarchy. This does not break the existing \fn command usage as it's perfectly valid, even if unnecessary, to provide fully qualified paths in the function signature. [ChangeLog][qdoc] QDoc is now aware of the namespace scope of an \fn command without requiring fully qualified paths. Fixes: QTBUG-82190 Change-Id: Ia446c19d130b2ef48b16b67e4dfcbdaab1f9d4f5 Reviewed-by: Paul Wicking --- src/qdoc/clangcodeparser.cpp | 30 +++++++++++++++++++++++------ src/qdoc/clangcodeparser.h | 1 + tests/auto/qdoc/generatedoutput/testcpp.cpp | 3 ++- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp index 89ef4f067..2f167eaad 100644 --- a/src/qdoc/clangcodeparser.cpp +++ b/src/qdoc/clangcodeparser.cpp @@ -593,6 +593,8 @@ CXChildVisitResult ClangVisitor::visitFnSignature(CXCursor cursor, CXSourceLocat bool &ignoreSignature) { switch (clang_getCursorKind(cursor)) { + case CXCursor_Namespace: + return CXChildVisit_Recurse; case CXCursor_FunctionDecl: case CXCursor_FunctionTemplate: case CXCursor_CXXMethod: @@ -1503,14 +1505,14 @@ void ClangCodeParser::parseSourceFile(const Location & /*location*/, const QStri return; } - CXCursor cur = clang_getTranslationUnitCursor(tu); + CXCursor tuCur = clang_getTranslationUnitCursor(tu); ClangVisitor visitor(qdb_, allHeaders_); - visitor.visitChildren(cur); + visitor.visitChildren(tuCur); CXToken *tokens; unsigned int numTokens = 0; const QSet &commands = topicCommands() + metaCommands(); - clang_tokenize(tu, clang_getCursorExtent(cur), &tokens, &numTokens); + clang_tokenize(tu, clang_getCursorExtent(tuCur), &tokens, &numTokens); for (unsigned int i = 0; i < numTokens; ++i) { if (clang_getTokenKind(tokens[i]) != CXToken_Comment) @@ -1519,7 +1521,8 @@ void ClangCodeParser::parseSourceFile(const Location & /*location*/, const QStri if (!comment.startsWith("/*!")) continue; - auto loc = fromCXSourceLocation(clang_getTokenLocation(tu, tokens[i])); + auto commentLoc = clang_getTokenLocation(tu, tokens[i]); + auto loc = fromCXSourceLocation(commentLoc); auto end_loc = fromCXSourceLocation(clang_getRangeEnd(clang_getTokenExtent(tu, tokens[i]))); Doc::trimCStyleComment(loc, comment); @@ -1536,7 +1539,6 @@ void ClangCodeParser::parseSourceFile(const Location & /*location*/, const QStri topic = topics[0].topic; if (topic.isEmpty()) { - CXSourceLocation commentLoc = clang_getTokenLocation(tu, tokens[i]); Node *n = nullptr; if (i + 1 < numTokens) { // Try to find the next declaration. @@ -1568,6 +1570,17 @@ void ClangCodeParser::parseSourceFile(const Location & /*location*/, const QStri } } } else { + // Store the namespace scope from lexical parents of the comment + namespaceScope_.clear(); + CXCursor cur = clang_getCursor(tu, commentLoc); + while (true) { + CXCursorKind kind = clang_getCursorKind(cur); + if (clang_isTranslationUnit(kind) || clang_isInvalid(kind)) + break; + if (kind == CXCursor_Namespace) + namespaceScope_ << fromCXString(clang_getCursorSpelling(cur)); + cur = clang_getCursorLexicalParent(cur); + } processTopicArgs(doc, topic, nodes, docs); } processMetaCommands(nodes, docs); @@ -1654,9 +1667,14 @@ Node *ClangCodeParser::parseFnArg(const Location &location, const QString &fnArg args.push_back(pchName_.constData()); } CXTranslationUnit tu; - QByteArray fn = fnArg.toUtf8(); + QByteArray fn; + for (const auto &ns : qAsConst(namespaceScope_)) + fn.prepend("namespace " + ns.toUtf8() + " {"); + fn += fnArg.toUtf8(); if (!fn.endsWith(";")) fn += "{ }"; + fn.append(namespaceScope_.size(), '}'); + const char *dummyFileName = "/fn_dummyfile.cpp"; CXUnsavedFile unsavedFile { dummyFileName, fn.constData(), static_cast(fn.size()) }; diff --git a/src/qdoc/clangcodeparser.h b/src/qdoc/clangcodeparser.h index 078d307c2..9af292e67 100644 --- a/src/qdoc/clangcodeparser.h +++ b/src/qdoc/clangcodeparser.h @@ -78,6 +78,7 @@ private: QVector defines_; std::vector args_; QVector moreArgs_; + QStringList namespaceScope_; }; QT_END_NAMESPACE diff --git a/tests/auto/qdoc/generatedoutput/testcpp.cpp b/tests/auto/qdoc/generatedoutput/testcpp.cpp index b703a844b..5d3055ac2 100644 --- a/tests/auto/qdoc/generatedoutput/testcpp.cpp +++ b/tests/auto/qdoc/generatedoutput/testcpp.cpp @@ -156,7 +156,8 @@ void TestDerived::virtualFun() /*! \fn TestQDoc::Test::overload() - \fn TestQDoc::Test::overload(bool b) + \fn Test::overload(bool b) + //! The second overload should match even without the fully qualified path Overloads that share a documentation comment, optionally taking a parameter \a b. -- cgit v1.2.3 From 402ebd2dbb121dc2dfe8866b663c9c7c6e80200c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucie=20G=C3=A9rard?= Date: Fri, 8 Nov 2019 12:29:27 +0100 Subject: Rewrite how the source location is stored in PP stores Recreate and cache the source location while processing the AST. Storing the source location from the PP run is not reliable and thus not the same during PP and AST processing. Change-Id: I7d096ce1fca139b916ebc0a0cbdd6a2f461a03de Reviewed-by: Karsten Heimrich Reviewed-by: Joerg Bornemann --- src/linguist/lupdate/clangtoolastreader.cpp | 11 ++++++----- src/linguist/lupdate/cpp_clang.h | 19 ++++++++++++++++++- src/linguist/lupdate/lupdatepreprocessoraction.cpp | 1 - 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/linguist/lupdate/clangtoolastreader.cpp b/src/linguist/lupdate/clangtoolastreader.cpp index 8d384e89a..ceff09523 100644 --- a/src/linguist/lupdate/clangtoolastreader.cpp +++ b/src/linguist/lupdate/clangtoolastreader.cpp @@ -469,7 +469,8 @@ void LupdateVisitor::processPreprocessorCalls() void LupdateVisitor::processPreprocessorCall(TranslationRelatedStore store) { - const std::vector rawComments = rawCommentsFromSourceLocation(store.callLocation); + const std::vector rawComments = rawCommentsFromSourceLocation(store + .callLocation(m_context->getSourceManager())); for (const auto &rawComment : rawComments) setInfoFromRawComment(rawComment, &store); @@ -516,7 +517,7 @@ void LupdateVisitor::findContextForTranslationStoresFromPP(clang::NamedDecl *nam for (TranslationRelatedStore &store : m_noopTranslationMacroAll) { if (!store.contextArg.isEmpty()) continue; - clang::SourceLocation sourceLoc = store.callLocation; + clang::SourceLocation sourceLoc = store.callLocation(sm); if (!sourceLoc.isValid()) continue; if (LupdatePrivate::isPointWithin(namedDeclaration->getSourceRange(), sourceLoc, sm)) { @@ -537,7 +538,7 @@ void LupdateVisitor::findContextForTranslationStoresFromPP(clang::NamedDecl *nam qCDebug(lcClang) << " Declaration Location " << namedDeclaration->getSourceRange().printToString(sm); qCDebug(lcClang) << " Macro Location " - << store.callLocation.printToString(sm); + << sourceLoc.printToString(sm); qCDebug(lcClang) << " Context namedDeclaration->getQualifiedNameAsString() " << namedDeclaration->getQualifiedNameAsString(); qCDebug(lcClang) << " Context LupdatePrivate::contextForNoopMacro " @@ -549,7 +550,7 @@ void LupdateVisitor::findContextForTranslationStoresFromPP(clang::NamedDecl *nam } for (TranslationRelatedStore &store : m_qDeclareTrMacroAll) { - clang::SourceLocation sourceLoc = store.callLocation; + clang::SourceLocation sourceLoc = store.callLocation(sm); if (!sourceLoc.isValid()) continue; if (LupdatePrivate::isPointWithin(namedDeclaration->getSourceRange(), sourceLoc, sm)) { @@ -562,7 +563,7 @@ void LupdateVisitor::findContextForTranslationStoresFromPP(clang::NamedDecl *nam qCDebug(lcClang) << " Declaration Location " << namedDeclaration->getSourceRange().printToString(sm); qCDebug(lcClang) << " Macro Location " - << store.callLocation.printToString(sm); + << sourceLoc.printToString(sm); qCDebug(lcClang) << " Context namedDeclaration->getQualifiedNameAsString() " << store.contextRetrieved; qCDebug(lcClang) << " Context LupdatePrivate::contextForNoopMacro " diff --git a/src/linguist/lupdate/cpp_clang.h b/src/linguist/lupdate/cpp_clang.h index acc0157da..eabf2d830 100644 --- a/src/linguist/lupdate/cpp_clang.h +++ b/src/linguist/lupdate/cpp_clang.h @@ -43,6 +43,7 @@ #endif #include +#include #if defined(Q_CC_MSVC) # pragma warning(pop) @@ -84,13 +85,29 @@ struct TranslationRelatedStore QString lupdateComment; QString lupdateExtraComment; QString lupdatePlural; - clang::SourceLocation callLocation; + clang::SourceLocation sourceLocation; bool isValid() const { return !lupdateLocationFile.isEmpty() && (lupdateLocationLine > -1) && (locationCol > -1); } + clang::SourceLocation callLocation(const clang::SourceManager &sourceManager) + { + if (sourceLocation.isInvalid()) { + auto sourceFile = sourceManager.getFileManager() + .getFile(lupdateLocationFile.toStdString()); +#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(10,0,0)) + sourceLocation = sourceManager.translateFileLineCol(sourceFile.get(), + lupdateLocationLine, locationCol); +#else + sourceLocation = sourceManager.translateFileLineCol(sourceFile, lupdateLocationLine, + locationCol); +#endif + } + return sourceLocation; + } + void printStore() const { qCDebug(lcClang) << "------------------ Printing Store----------------------------------\n"; diff --git a/src/linguist/lupdate/lupdatepreprocessoraction.cpp b/src/linguist/lupdate/lupdatepreprocessoraction.cpp index 3e48ffdfe..feba49942 100644 --- a/src/linguist/lupdate/lupdatepreprocessoraction.cpp +++ b/src/linguist/lupdate/lupdatepreprocessoraction.cpp @@ -64,7 +64,6 @@ void LupdatePPCallbacks::MacroExpands(const clang::Token &token, store.lupdateLocationFile = QString::fromStdString(fileName); store.lupdateLocationLine = sm.getExpansionLineNumber(sourceRange.getBegin()); store.locationCol = sm.getExpansionColumnNumber(sourceRange.getBegin()); - store.callLocation = sourceRange.getBegin(); if (macroArgs) { std::vector arguments(macroArgs->getNumMacroArguments()); -- cgit v1.2.3 From 9b9519f1c0206bd45852000551dc796c8210e425 Mon Sep 17 00:00:00 2001 From: Levon Sargsyan Date: Wed, 19 Feb 2020 17:46:13 +0100 Subject: Fix coverity warning of uninitialized pointer Initializing Config as nullptr in DocBook class, avoiding potential undefined behavior. Coverity-id: 266393 Change-Id: I0330d86b750f2a972c21875bc776407bc94c81df Reviewed-by: Paul Wicking --- src/qdoc/docbookgenerator.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qdoc/docbookgenerator.h b/src/qdoc/docbookgenerator.h index ad5b36220..9a223f4af 100644 --- a/src/qdoc/docbookgenerator.h +++ b/src/qdoc/docbookgenerator.h @@ -172,7 +172,7 @@ private: QString buildversion; QXmlStreamWriter *writer = nullptr; - Config *config; + Config *config = nullptr; }; QT_END_NAMESPACE -- cgit v1.2.3 From 6df536b01de755ea47e55407e128dc5f59f35e87 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Thu, 20 Feb 2020 13:02:47 +0100 Subject: qtdiag: rhi: Output supported texture formats and sample counts Very useful to discover what compressed texture formats are supported on a given system with a given backend. Also change the OpenGL ES label to be more generic. Change-Id: Iaf44d9ee7e78afaf8d067fc85747f4bae19f00c3 Reviewed-by: Eirik Aavitsland --- src/qtdiag/qtdiag.cpp | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/src/qtdiag/qtdiag.cpp b/src/qtdiag/qtdiag.cpp index 8d9e42578..100b1acf8 100644 --- a/src/qtdiag/qtdiag.cpp +++ b/src/qtdiag/qtdiag.cpp @@ -302,6 +302,48 @@ void dumpRhiBackendInfo(QTextStream &str, const char *name, QRhi::Implementation { "ReadBackNonBaseMipLevel", QRhi::ReadBackNonBaseMipLevel }, { nullptr, QRhi::Feature(0) } }; + struct RhiTextureFormat { + const char *name; + QRhiTexture::Format val; + }; + const RhiTextureFormat textureFormats[] = { + { "RGBA8", QRhiTexture::RGBA8 }, + { "BGRA8", QRhiTexture::BGRA8 }, + { "R8", QRhiTexture::R8 }, + { "R16", QRhiTexture::R16 }, + { "RED_OR_ALPHA8", QRhiTexture::RED_OR_ALPHA8 }, + { "RGBA16F", QRhiTexture::RGBA16F }, + { "RGBA32F", QRhiTexture::RGBA32F }, + { "R16F", QRhiTexture::R16F }, + { "R32F", QRhiTexture::R32F }, + { "D16", QRhiTexture::D16 }, + { "D32F", QRhiTexture::D32F }, + { "BC1", QRhiTexture::BC1 }, + { "BC2", QRhiTexture::BC2 }, + { "BC3", QRhiTexture::BC3 }, + { "BC4", QRhiTexture::BC4 }, + { "BC5", QRhiTexture::BC5 }, + { "BC6H", QRhiTexture::BC6H }, + { "BC7", QRhiTexture::BC7 }, + { "ETC2_RGB8", QRhiTexture::ETC2_RGB8 }, + { "ETC2_RGB8A1", QRhiTexture::ETC2_RGB8A1 }, + { "ETC2_RGBA8", QRhiTexture::ETC2_RGBA8 }, + { "ASTC_4x4", QRhiTexture::ASTC_4x4 }, + { "ASTC_5x4", QRhiTexture::ASTC_5x4 }, + { "ASTC_5x5", QRhiTexture::ASTC_5x5 }, + { "ASTC_6x5", QRhiTexture::ASTC_6x5 }, + { "ASTC_6x6", QRhiTexture::ASTC_6x6 }, + { "ASTC_8x5", QRhiTexture::ASTC_8x5 }, + { "ASTC_8x6", QRhiTexture::ASTC_8x6 }, + { "ASTC_8x8", QRhiTexture::ASTC_8x8 }, + { "ASTC_10x5", QRhiTexture::ASTC_10x5 }, + { "ASTC_10x6", QRhiTexture::ASTC_10x6 }, + { "ASTC_10x8", QRhiTexture::ASTC_10x8 }, + { "ASTC_10x10", QRhiTexture::ASTC_10x10 }, + { "ASTC_12x10", QRhiTexture::ASTC_12x10 }, + { "ASTC_12x12", QRhiTexture::ASTC_12x12 }, + { nullptr, QRhiTexture::UnknownFormat } + }; QScopedPointer rhi(QRhi::create(impl, initParams, QRhi::Flags(), nullptr)); if (rhi) { @@ -311,10 +353,20 @@ void dumpRhiBackendInfo(QTextStream &str, const char *name, QRhi::Implementation str << " Max Color Attachments: " << rhi->resourceLimit(QRhi::MaxColorAttachments) << "\n"; str << " Frames in Flight: " << rhi->resourceLimit(QRhi::FramesInFlight) << "\n"; str << " Uniform Buffer Alignment: " << rhi->ubufAlignment() << "\n"; + QByteArrayList supportedSampleCounts; + for (int s : rhi->supportedSampleCounts()) + supportedSampleCounts << QByteArray::number(s); + str << " Supported MSAA sample counts: " << supportedSampleCounts.join(',') << "\n"; str << " Features:\n"; for (int i = 0; features[i].name; i++) { str << " " << (rhi->isFeatureSupported(features[i].val) ? "v" : "-") << " " << features[i].name << "\n"; } + str << " Texture formats:"; + for (int i = 0; textureFormats[i].name; i++) { + if (rhi->isTextureFormatSupported(textureFormats[i].val)) + str << " " << textureFormats[i].name; + } + str << "\n"; } } @@ -326,7 +378,7 @@ void dumpRhiInfo(QTextStream &str) { QRhiGles2InitParams params; params.fallbackSurface = QRhiGles2InitParams::newFallbackSurface(); - dumpRhiBackendInfo(str, "OpenGL ES2", QRhi::OpenGLES2, ¶ms); + dumpRhiBackendInfo(str, "OpenGL (with default QSurfaceFormat)", QRhi::OpenGLES2, ¶ms); delete params.fallbackSurface; } #endif -- cgit v1.2.3 From 37a6641ba543ec5bd6d11bde9a2a71f58a32c295 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Tue, 18 Feb 2020 23:04:24 +0100 Subject: qdoc: Remove code for unimplemented command \pagekeywords This undocumented command was storing a list of keywords in a node. Those keywords were never accessed. Task-number: QTBUG-82310 Change-Id: I144454667c78329a8a03ca81b9b90b047971d301 Reviewed-by: Paul Wicking --- src/qdoc/codeparser.cpp | 10 +++++----- src/qdoc/codeparser.h | 1 - src/qdoc/cppcodeparser.cpp | 2 -- src/qdoc/node.cpp | 14 -------------- src/qdoc/node.h | 4 ---- src/qdoc/qmlvisitor.cpp | 2 -- 6 files changed, 5 insertions(+), 28 deletions(-) diff --git a/src/qdoc/codeparser.cpp b/src/qdoc/codeparser.cpp index e9dc3a352..1bf31b800 100644 --- a/src/qdoc/codeparser.cpp +++ b/src/qdoc/codeparser.cpp @@ -161,11 +161,11 @@ const QSet &CodeParser::commonMetaCommands() << COMMAND_INJSMODULE << COMMAND_INMODULE << COMMAND_INPUBLICGROUP << COMMAND_INQMLMODULE << COMMAND_INTERNAL << COMMAND_MAINCLASS << COMMAND_NOAUTOLIST << COMMAND_NONREENTRANT << COMMAND_OBSOLETE - << COMMAND_PAGEKEYWORDS << COMMAND_PRELIMINARY << COMMAND_QMLABSTRACT - << COMMAND_QMLDEFAULT << COMMAND_QMLINHERITS << COMMAND_QMLREADONLY - << COMMAND_QTVARIABLE << COMMAND_REENTRANT << COMMAND_SINCE - << COMMAND_STARTPAGE << COMMAND_SUBTITLE << COMMAND_THREADSAFE - << COMMAND_TITLE << COMMAND_WRAPPER; + << COMMAND_PRELIMINARY << COMMAND_QMLABSTRACT << COMMAND_QMLDEFAULT + << COMMAND_QMLINHERITS << COMMAND_QMLREADONLY << COMMAND_QTVARIABLE + << COMMAND_REENTRANT << COMMAND_SINCE << COMMAND_STARTPAGE + << COMMAND_SUBTITLE << COMMAND_THREADSAFE << COMMAND_TITLE + << COMMAND_WRAPPER; } return commonMetaCommands_; } diff --git a/src/qdoc/codeparser.h b/src/qdoc/codeparser.h index 6ab214eb1..7ae34df1d 100644 --- a/src/qdoc/codeparser.h +++ b/src/qdoc/codeparser.h @@ -137,7 +137,6 @@ private: #define COMMAND_OBSOLETE Doc::alias(QLatin1String("obsolete")) #define COMMAND_OVERLOAD Doc::alias(QLatin1String("overload")) #define COMMAND_PAGE Doc::alias(QLatin1String("page")) -#define COMMAND_PAGEKEYWORDS Doc::alias(QLatin1String("pagekeywords")) #define COMMAND_PERMISSIONS Doc::alias(QLatin1String("permissions")) #define COMMAND_PRELIMINARY Doc::alias(QLatin1String("preliminary")) #define COMMAND_PREVIOUSPAGE Doc::alias(QLatin1String("previouspage")) diff --git a/src/qdoc/cppcodeparser.cpp b/src/qdoc/cppcodeparser.cpp index 877b08279..dec081c22 100644 --- a/src/qdoc/cppcodeparser.cpp +++ b/src/qdoc/cppcodeparser.cpp @@ -620,8 +620,6 @@ void CppCodeParser::processMetaCommand(const Doc &doc, const QString &command, node->setSince(arg); } else if (command == COMMAND_WRAPPER) { node->setWrapper(); - } else if (command == COMMAND_PAGEKEYWORDS) { - node->addPageKeywords(arg); } else if (command == COMMAND_THREADSAFE) { node->setThreadSafeness(Node::ThreadSafe); } else if (command == COMMAND_TITLE) { diff --git a/src/qdoc/node.cpp b/src/qdoc/node.cpp index cffaf79dd..634cce3ec 100644 --- a/src/qdoc/node.cpp +++ b/src/qdoc/node.cpp @@ -1822,12 +1822,6 @@ QString Node::physicalModuleName() const Returns the node's reconstituted brief data member. */ -/*! \fn void Node::addPageKeywords(const QString &t) - If this is a PageNode, the function appends the string \a t - to the page keywords data member. Otherwise the function does - nothing. - */ - /*! \fn bool Node::isSharingComment() const This function returns \c true if the node is sharing a comment with other nodes. For example, multiple functions can be documented @@ -3661,14 +3655,6 @@ bool PageNode::setTitle(const QString &title) Appends \a t to the list of group names. */ -/*! \fn const QStringList &PageNode::pageKeywords() const - Returns a const reference to the list of keywords for this page. - */ - -/*! \fn void PageNode::addPageKeywords(const QString &t) - Appends \a t to the keywords list. - */ - /*! \fn void PageNode::setOutputFileName(const QString &f) Sets this PageNode's output file name to \a f. */ diff --git a/src/qdoc/node.h b/src/qdoc/node.h index f1b356fa4..9f78cc824 100644 --- a/src/qdoc/node.h +++ b/src/qdoc/node.h @@ -322,7 +322,6 @@ public: const QString &templateDecl() const { return templateDecl_; } const QString &reconstitutedBrief() const { return reconstitutedBrief_; } QString nodeSubtypeString() const; - virtual void addPageKeywords(const QString &) {} bool isSharingComment() const { return (sharedCommentNode_ != nullptr); } bool hasSharedDoc() const; @@ -434,8 +433,6 @@ public: const QStringList &groupNames() const { return groupNames_; } void appendGroupName(const QString &t) override { groupNames_.append(t); } - const QStringList &pageKeywords() const { return pageKeywds_; } - void addPageKeywords(const QString &t) override { pageKeywds_ << t; } void setOutputFileName(const QString &f) override { outputFileName_ = f; } QString outputFileName() const override { return outputFileName_; } @@ -448,7 +445,6 @@ protected: QString subtitle_; QString outputFileName_; QStringList groupNames_; - QStringList pageKeywds_; }; class ExternalPageNode : public PageNode diff --git a/src/qdoc/qmlvisitor.cpp b/src/qdoc/qmlvisitor.cpp index 168c5e38d..2ee362d77 100644 --- a/src/qdoc/qmlvisitor.cpp +++ b/src/qdoc/qmlvisitor.cpp @@ -453,8 +453,6 @@ void QmlDocVisitor::applyMetacommands(QQmlJS::AST::SourceLocation, Node *node, D node->setStatus(Node::Internal); } else if (command == COMMAND_OBSOLETE) { node->setStatus(Node::Obsolete); - } else if (command == COMMAND_PAGEKEYWORDS) { - // Not done yet. Do we need this? } else if (command == COMMAND_PRELIMINARY) { node->setStatus(Node::Preliminary); } else if (command == COMMAND_SINCE) { -- cgit v1.2.3 From 5234c7fcc09fa59d410ede16136804588e2cc4d2 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Wed, 12 Feb 2020 22:05:43 +0100 Subject: qdoc: Fix behavior with missing \inmodule command QDoc warns about a missing \inmodule command and tells us that it has selected a default (project) name for the module, but this had no effect because we never added the node to the module. Automatically adding the node to the module won't eliminate the warnings, but ensures that a \module page whose name matches the default one is populated with the classes/namespaces as expected. Change-Id: Ib6a949cc2763c254d379ff99b08c60812f45e607 Reviewed-by: Paul Wicking --- src/qdoc/codeparser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qdoc/codeparser.cpp b/src/qdoc/codeparser.cpp index 1bf31b800..db2d0df97 100644 --- a/src/qdoc/codeparser.cpp +++ b/src/qdoc/codeparser.cpp @@ -269,7 +269,7 @@ bool CodeParser::isParsingQdoc() const void CodeParser::checkModuleInclusion(Node *n) { if (n->physicalModuleName().isEmpty()) { - n->setPhysicalModuleName(Generator::defaultModuleName()); + qdb_->addToModule(Generator::defaultModuleName(), n); QString word; switch (n->nodeType()) { case Node::Class: -- cgit v1.2.3 From d15236d9af91b32a43f3b2321eb776f6c2f2bf9c Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 21 Feb 2020 10:08:00 +0100 Subject: Qt Designer: Add missing extra comments to strings from Palette Preview The comment was present on the existing strings. Amends 7fd5d435b76460e42cd25004056a39e05f376baa. Change-Id: Ic5a03c3b63a974956845ad2a3d1fb6c7d4df98a2 Reviewed-by: Jarek Kobus --- .../src/components/propertyeditor/previewwidget.ui | 30 +++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/designer/src/components/propertyeditor/previewwidget.ui b/src/designer/src/components/propertyeditor/previewwidget.ui index 64c29229f..077ff24b4 100644 --- a/src/designer/src/components/propertyeditor/previewwidget.ui +++ b/src/designer/src/components/propertyeditor/previewwidget.ui @@ -129,7 +129,7 @@ - ToggleButton + ToggleButton true @@ -147,14 +147,14 @@ - ToolButton + ToolButton - Menu + Menu @@ -181,7 +181,7 @@ - Item Views + Item Views true @@ -194,26 +194,26 @@ - Column 1 + Column 1 - Top Level 1 + Top Level 1 - Nested Item 1 + Nested Item 1 - Nested Item 2 + Nested Item 2 - Nested Item 3 + Nested Item 3 @@ -225,7 +225,7 @@ - Simple Input Widgets + Simple Input Widgets true @@ -252,12 +252,12 @@ - Item1 + Item1 - Item2 + Item2 @@ -291,7 +291,7 @@ - Display Widgets + Display Widgets @@ -307,7 +307,7 @@ - QLabel + QLabel @@ -317,7 +317,7 @@ QFrame::StyledPanel - QLabel with frame + QLabel with frame -- cgit v1.2.3 From d8a971b8475035f61e1ad3baaef6a8c49556c42d Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Fri, 14 Feb 2020 06:46:33 +0100 Subject: QDoc: Reorganize expected output test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As the test has grown in size and scope, the lack of structure adds an unnecessary mental overhead when adding new tests, or when attempting to refactor the tests themselves. - Place all testdata in a directory aptly named testdata, following Qt convention. - Create sub-directories for all tests, so that their data is separated from each other. - Update qdocconf-files to match the new structure. - Update expected output data to match changes in qdocconf-files. - Ensure all tests still run; this requires modifications to paths in .qdocconf files mostly, but also in #include directives. Fixes: QTBUG-82159 Change-Id: I43b2333cacc75d1076a8aca86e89ccc52e4ec8a3 Reviewed-by: Levon Sargsyan Reviewed-by: Topi Reiniö --- tests/auto/qdoc/generatedoutput/TestCPP | 5 - .../bug80259/inc/testmodule/TestModule.h | 3 - .../generatedoutput/bug80259/inc/testmodule/aaa.h | 4 - .../generatedoutput/bug80259/inc/testmodule/bbb.h | 5 - .../generatedoutput/bug80259/inc/testmodule/ccc.h | 4 - .../qdoc/generatedoutput/bug80259/src/main.cpp | 54 ------ .../generatedoutput/bug80259/src/qdoc/index.qdoc | 7 - .../generatedoutput/bug80259/testmodule.qdocconf | 13 -- .../bug80259/webxml_testmodule.qdocconf | 2 - .../qdoc/generatedoutput/crossmodule/CrossModule | 2 - .../crossmodule/crossmodule.qdocconf | 10 -- .../qdoc/generatedoutput/crossmodule/testtype.cpp | 56 ------ .../qdoc/generatedoutput/crossmodule/testtype.h | 37 ---- tests/auto/qdoc/generatedoutput/docbook.qdocconf | 3 - .../qdoc/generatedoutput/docbook_test.qdocconf | 2 - .../qdoc/generatedoutput/docbook_testcpp.qdocconf | 2 - .../qdoc/generatedoutput/docbook_testqml.qdocconf | 2 - .../auto/qdoc/generatedoutput/dontdocument/TestCPP | 2 - .../qdoc/generatedoutput/dontdocument/dont.cpp | 47 ----- .../auto/qdoc/generatedoutput/dontdocument/dont.h | 41 ----- .../dontdocument/dontdocument.qdocconf | 7 - .../qdoc/generatedoutput/dontdocument/test.qdoc | 36 ---- .../qdoc/generatedoutput/examples-qhp.qdocconf | 20 --- .../docbook/qdoctests-qdocfileoutput-linking.xml | 2 +- .../docbook/qdoctests-qdocfileoutput.xml | 2 +- .../html/qdoctests-qdocfileoutput-linking.webxml | 2 +- .../html/qdoctests-qdocfileoutput.webxml | 2 +- .../qdoctests-qdocfileoutput-linking.html | 2 +- .../expected_output/qdoctests-qdocfileoutput.html | 2 +- .../auto/qdoc/generatedoutput/ignoresince.qdocconf | 8 - .../excludes/anotherindex.qdoc | 39 ----- .../excludes/parentinclude.qdoc | 64 ------- .../includefromexampledirs.qdocconf | 12 -- .../src/includefromparent.qdoc | 51 ------ .../includefromexampledirs/src/parent.qdocinc | 1 - .../qdoctests-outputfromqdocfiles.qdoc | 83 --------- tests/auto/qdoc/generatedoutput/qml/DocTest.qml | 84 --------- .../qml/componentset/ProgressBar.qml | 145 ---------------- .../generatedoutput/qml/componentset/Switch.qml | 152 ---------------- .../generatedoutput/qml/componentset/TabWidget.qml | 193 --------------------- .../qml/componentset/componentset.pro | 5 - .../generatedoutput/qml/componentset/examples.qdoc | 101 ----------- .../qml/componentset/uicomponents.qdoc.sample | 38 ---- tests/auto/qdoc/generatedoutput/qml/parent.qdoc | 64 ------- tests/auto/qdoc/generatedoutput/qml/type.cpp | 101 ----------- .../generatedoutput/qmlpropertygroups/parent.qdoc | 52 ------ .../qmlpropertygroups/qmlpropertygroups.qdocconf | 7 - tests/auto/qdoc/generatedoutput/scopedenum.qdoc | 35 ---- .../auto/qdoc/generatedoutput/scopedenum.qdocconf | 7 - tests/auto/qdoc/generatedoutput/test.qdocconf | 8 - tests/auto/qdoc/generatedoutput/testcpp.cpp | 175 ------------------- tests/auto/qdoc/generatedoutput/testcpp.h | 67 ------- tests/auto/qdoc/generatedoutput/testcpp.qdocconf | 7 - .../testdata/bug80259/inc/testmodule/TestModule.h | 3 + .../testdata/bug80259/inc/testmodule/aaa.h | 4 + .../testdata/bug80259/inc/testmodule/bbb.h | 5 + .../testdata/bug80259/inc/testmodule/ccc.h | 4 + .../generatedoutput/testdata/bug80259/src/main.cpp | 54 ++++++ .../testdata/bug80259/src/qdoc/index.qdoc | 7 + .../testdata/bug80259/testmodule.qdocconf | 13 ++ .../testdata/bug80259/webxml_testmodule.qdocconf | 2 + .../testdata/configs/docbook.qdocconf | 3 + .../testdata/configs/docbook_test.qdocconf | 2 + .../testdata/configs/docbook_testcpp.qdocconf | 2 + .../testdata/configs/docbook_testqml.qdocconf | 2 + .../testdata/configs/examples-qhp.qdocconf | 20 +++ .../testdata/configs/ignoresince.qdocconf | 8 + .../testdata/configs/scopedenum.qdocconf | 7 + .../generatedoutput/testdata/configs/test.qdocconf | 8 + .../testdata/configs/testcpp.qdocconf | 7 + .../testdata/configs/testqml.qdocconf | 22 +++ .../testdata/configs/testtemplate.qdocconf | 8 + .../testdata/configs/webxml.qdocconf | 4 + .../testdata/configs/webxml_test.qdocconf | 2 + .../testdata/configs/webxml_testcpp.qdocconf | 2 + .../testdata/configs/webxml_testqml.qdocconf | 2 + .../testdata/crossmodule/CrossModule | 2 + .../testdata/crossmodule/crossmodule.qdocconf | 10 ++ .../testdata/crossmodule/testtype.cpp | 56 ++++++ .../testdata/crossmodule/testtype.h | 37 ++++ .../generatedoutput/testdata/dontdocument/TestCPP | 2 + .../generatedoutput/testdata/dontdocument/dont.cpp | 47 +++++ .../generatedoutput/testdata/dontdocument/dont.h | 41 +++++ .../testdata/dontdocument/dontdocument.qdocconf | 7 + .../testdata/dontdocument/test.qdoc | 36 ++++ .../excludes/anotherindex.qdoc | 39 +++++ .../excludes/parentinclude.qdoc | 64 +++++++ .../includefromexampledirs.qdocconf | 12 ++ .../src/includefromparent.qdoc | 51 ++++++ .../includefromexampledirs/src/parent.qdocinc | 1 + .../qdoctests-outputfromqdocfiles.qdoc | 83 +++++++++ .../qdoc/generatedoutput/testdata/qml/DocTest.qml | 84 +++++++++ .../testdata/qml/componentset/ProgressBar.qml | 145 ++++++++++++++++ .../testdata/qml/componentset/Switch.qml | 152 ++++++++++++++++ .../testdata/qml/componentset/TabWidget.qml | 193 +++++++++++++++++++++ .../testdata/qml/componentset/componentset.pro | 5 + .../testdata/qml/componentset/examples.qdoc | 101 +++++++++++ .../qml/componentset/uicomponents.qdoc.sample | 38 ++++ .../qdoc/generatedoutput/testdata/qml/parent.qdoc | 64 +++++++ .../qdoc/generatedoutput/testdata/qml/type.cpp | 101 +++++++++++ .../testdata/qmlpropertygroups/parent.qdoc | 52 ++++++ .../qmlpropertygroups/qmlpropertygroups.qdocconf | 7 + .../testdata/scopedenum/scopedenum.qdoc | 35 ++++ .../qdoc/generatedoutput/testdata/testcpp/TestCPP | 5 + .../generatedoutput/testdata/testcpp/testcpp.cpp | 175 +++++++++++++++++++ .../generatedoutput/testdata/testcpp/testcpp.h | 67 +++++++ .../testdata/testtemplate/testtemplate.cpp | 47 +++++ .../testdata/testtemplate/testtemplate.h | 53 ++++++ tests/auto/qdoc/generatedoutput/testqml.qdocconf | 22 --- tests/auto/qdoc/generatedoutput/testtemplate.cpp | 47 ----- tests/auto/qdoc/generatedoutput/testtemplate.h | 53 ------ .../qdoc/generatedoutput/testtemplate.qdocconf | 8 - .../qdoc/generatedoutput/tst_generatedoutput.cpp | 38 ++-- tests/auto/qdoc/generatedoutput/webxml.qdocconf | 4 - .../auto/qdoc/generatedoutput/webxml_test.qdocconf | 2 - .../qdoc/generatedoutput/webxml_testcpp.qdocconf | 2 - .../qdoc/generatedoutput/webxml_testqml.qdocconf | 2 - 117 files changed, 2028 insertions(+), 2028 deletions(-) delete mode 100644 tests/auto/qdoc/generatedoutput/TestCPP delete mode 100644 tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/TestModule.h delete mode 100644 tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/aaa.h delete mode 100644 tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/bbb.h delete mode 100644 tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/ccc.h delete mode 100644 tests/auto/qdoc/generatedoutput/bug80259/src/main.cpp delete mode 100644 tests/auto/qdoc/generatedoutput/bug80259/src/qdoc/index.qdoc delete mode 100644 tests/auto/qdoc/generatedoutput/bug80259/testmodule.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/bug80259/webxml_testmodule.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/crossmodule/CrossModule delete mode 100644 tests/auto/qdoc/generatedoutput/crossmodule/crossmodule.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/crossmodule/testtype.cpp delete mode 100644 tests/auto/qdoc/generatedoutput/crossmodule/testtype.h delete mode 100644 tests/auto/qdoc/generatedoutput/docbook.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/docbook_test.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/docbook_testcpp.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/docbook_testqml.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/dontdocument/TestCPP delete mode 100644 tests/auto/qdoc/generatedoutput/dontdocument/dont.cpp delete mode 100644 tests/auto/qdoc/generatedoutput/dontdocument/dont.h delete mode 100644 tests/auto/qdoc/generatedoutput/dontdocument/dontdocument.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/dontdocument/test.qdoc delete mode 100644 tests/auto/qdoc/generatedoutput/examples-qhp.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/ignoresince.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/anotherindex.qdoc delete mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/excludes/parentinclude.qdoc delete mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/includefromexampledirs.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/src/includefromparent.qdoc delete mode 100644 tests/auto/qdoc/generatedoutput/includefromexampledirs/src/parent.qdocinc delete mode 100644 tests/auto/qdoc/generatedoutput/qdoctests-outputfromqdocfiles.qdoc delete mode 100644 tests/auto/qdoc/generatedoutput/qml/DocTest.qml delete mode 100644 tests/auto/qdoc/generatedoutput/qml/componentset/ProgressBar.qml delete mode 100644 tests/auto/qdoc/generatedoutput/qml/componentset/Switch.qml delete mode 100644 tests/auto/qdoc/generatedoutput/qml/componentset/TabWidget.qml delete mode 100644 tests/auto/qdoc/generatedoutput/qml/componentset/componentset.pro delete mode 100644 tests/auto/qdoc/generatedoutput/qml/componentset/examples.qdoc delete mode 100644 tests/auto/qdoc/generatedoutput/qml/componentset/uicomponents.qdoc.sample delete mode 100644 tests/auto/qdoc/generatedoutput/qml/parent.qdoc delete mode 100644 tests/auto/qdoc/generatedoutput/qml/type.cpp delete mode 100644 tests/auto/qdoc/generatedoutput/qmlpropertygroups/parent.qdoc delete mode 100644 tests/auto/qdoc/generatedoutput/qmlpropertygroups/qmlpropertygroups.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/scopedenum.qdoc delete mode 100644 tests/auto/qdoc/generatedoutput/scopedenum.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/test.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/testcpp.cpp delete mode 100644 tests/auto/qdoc/generatedoutput/testcpp.h delete mode 100644 tests/auto/qdoc/generatedoutput/testcpp.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/bug80259/inc/testmodule/TestModule.h create mode 100644 tests/auto/qdoc/generatedoutput/testdata/bug80259/inc/testmodule/aaa.h create mode 100644 tests/auto/qdoc/generatedoutput/testdata/bug80259/inc/testmodule/bbb.h create mode 100644 tests/auto/qdoc/generatedoutput/testdata/bug80259/inc/testmodule/ccc.h create mode 100644 tests/auto/qdoc/generatedoutput/testdata/bug80259/src/main.cpp create mode 100644 tests/auto/qdoc/generatedoutput/testdata/bug80259/src/qdoc/index.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/testdata/bug80259/testmodule.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/bug80259/webxml_testmodule.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/docbook.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/docbook_test.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/docbook_testcpp.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/docbook_testqml.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/examples-qhp.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/ignoresince.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/scopedenum.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/test.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/testcpp.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/testqml.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/testtemplate.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/webxml.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/webxml_test.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/webxml_testcpp.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/configs/webxml_testqml.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/crossmodule/CrossModule create mode 100644 tests/auto/qdoc/generatedoutput/testdata/crossmodule/crossmodule.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.cpp create mode 100644 tests/auto/qdoc/generatedoutput/testdata/crossmodule/testtype.h create mode 100644 tests/auto/qdoc/generatedoutput/testdata/dontdocument/TestCPP create mode 100644 tests/auto/qdoc/generatedoutput/testdata/dontdocument/dont.cpp create mode 100644 tests/auto/qdoc/generatedoutput/testdata/dontdocument/dont.h create mode 100644 tests/auto/qdoc/generatedoutput/testdata/dontdocument/dontdocument.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/dontdocument/test.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/excludes/anotherindex.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/excludes/parentinclude.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/includefromexampledirs.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/src/includefromparent.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/src/parent.qdocinc create mode 100644 tests/auto/qdoc/generatedoutput/testdata/outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/testdata/qml/DocTest.qml create mode 100644 tests/auto/qdoc/generatedoutput/testdata/qml/componentset/ProgressBar.qml create mode 100644 tests/auto/qdoc/generatedoutput/testdata/qml/componentset/Switch.qml create mode 100644 tests/auto/qdoc/generatedoutput/testdata/qml/componentset/TabWidget.qml create mode 100644 tests/auto/qdoc/generatedoutput/testdata/qml/componentset/componentset.pro create mode 100644 tests/auto/qdoc/generatedoutput/testdata/qml/componentset/examples.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/testdata/qml/componentset/uicomponents.qdoc.sample create mode 100644 tests/auto/qdoc/generatedoutput/testdata/qml/parent.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/testdata/qml/type.cpp create mode 100644 tests/auto/qdoc/generatedoutput/testdata/qmlpropertygroups/parent.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/testdata/qmlpropertygroups/qmlpropertygroups.qdocconf create mode 100644 tests/auto/qdoc/generatedoutput/testdata/scopedenum/scopedenum.qdoc create mode 100644 tests/auto/qdoc/generatedoutput/testdata/testcpp/TestCPP create mode 100644 tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp create mode 100644 tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h create mode 100644 tests/auto/qdoc/generatedoutput/testdata/testtemplate/testtemplate.cpp create mode 100644 tests/auto/qdoc/generatedoutput/testdata/testtemplate/testtemplate.h delete mode 100644 tests/auto/qdoc/generatedoutput/testqml.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/testtemplate.cpp delete mode 100644 tests/auto/qdoc/generatedoutput/testtemplate.h delete mode 100644 tests/auto/qdoc/generatedoutput/testtemplate.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/webxml.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/webxml_test.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/webxml_testcpp.qdocconf delete mode 100644 tests/auto/qdoc/generatedoutput/webxml_testqml.qdocconf diff --git a/tests/auto/qdoc/generatedoutput/TestCPP b/tests/auto/qdoc/generatedoutput/TestCPP deleted file mode 100644 index 4ed786108..000000000 --- a/tests/auto/qdoc/generatedoutput/TestCPP +++ /dev/null @@ -1,5 +0,0 @@ -#include "testcpp.h" - -#ifdef test_template -# include "testtemplate.h" -#endif diff --git a/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/TestModule.h b/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/TestModule.h deleted file mode 100644 index 686cbe948..000000000 --- a/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/TestModule.h +++ /dev/null @@ -1,3 +0,0 @@ -#include "testmodule/aaa.h" -#include "testmodule/bbb.h" -#include "testmodule/ccc.h" diff --git a/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/aaa.h b/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/aaa.h deleted file mode 100644 index dea5c1841..000000000 --- a/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/aaa.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once -class Third -{ -}; diff --git a/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/bbb.h b/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/bbb.h deleted file mode 100644 index 0dc6e52c6..000000000 --- a/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/bbb.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once -class First -{ - class Nested {}; -}; diff --git a/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/ccc.h b/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/ccc.h deleted file mode 100644 index d3a1557e1..000000000 --- a/tests/auto/qdoc/generatedoutput/bug80259/inc/testmodule/ccc.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once -class Second -{ -}; diff --git a/tests/auto/qdoc/generatedoutput/bug80259/src/main.cpp b/tests/auto/qdoc/generatedoutput/bug80259/src/main.cpp deleted file mode 100644 index a8991e18f..000000000 --- a/tests/auto/qdoc/generatedoutput/bug80259/src/main.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2019 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the tools applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -/*! -\class First -\inmodule TestModule - -This is a first class -*/ - -/*! -\class First::Nested -\inmodule TestModule - -This is a nested class -*/ - -/*! -\class Second -\inmodule TestModule - -This is a second class -*/ - -/*! -\class Third -\inmodule TestModule - -This is a third class -*/ diff --git a/tests/auto/qdoc/generatedoutput/bug80259/src/qdoc/index.qdoc b/tests/auto/qdoc/generatedoutput/bug80259/src/qdoc/index.qdoc deleted file mode 100644 index 35ef7e087..000000000 --- a/tests/auto/qdoc/generatedoutput/bug80259/src/qdoc/index.qdoc +++ /dev/null @@ -1,7 +0,0 @@ -/*! - \page index.html - \title doc index - - \generatelist {classesbymodule TestModule} - -*/ diff --git a/tests/auto/qdoc/generatedoutput/bug80259/testmodule.qdocconf b/tests/auto/qdoc/generatedoutput/bug80259/testmodule.qdocconf deleted file mode 100644 index c02fb6fcf..000000000 --- a/tests/auto/qdoc/generatedoutput/bug80259/testmodule.qdocconf +++ /dev/null @@ -1,13 +0,0 @@ -project = TestModule - -moduleheader = TestModule.h - -headerdirs = inc -sourcedirs = src -includepaths += ./bug80259/inc/testmodule - -sources.fileextensions = "*.cpp *.qdoc" -headers.fileextensions = "*.h" - -outputdir = doc -outputformats = HTML diff --git a/tests/auto/qdoc/generatedoutput/bug80259/webxml_testmodule.qdocconf b/tests/auto/qdoc/generatedoutput/bug80259/webxml_testmodule.qdocconf deleted file mode 100644 index 642fe5c2d..000000000 --- a/tests/auto/qdoc/generatedoutput/bug80259/webxml_testmodule.qdocconf +++ /dev/null @@ -1,2 +0,0 @@ -include(testmodule.qdocconf) -include(../webxml.qdocconf) diff --git a/tests/auto/qdoc/generatedoutput/crossmodule/CrossModule b/tests/auto/qdoc/generatedoutput/crossmodule/CrossModule deleted file mode 100644 index df9c82ad5..000000000 --- a/tests/auto/qdoc/generatedoutput/crossmodule/CrossModule +++ /dev/null @@ -1,2 +0,0 @@ -#include "../TestCPP" -#include "testtype.h" diff --git a/tests/auto/qdoc/generatedoutput/crossmodule/crossmodule.qdocconf b/tests/auto/qdoc/generatedoutput/crossmodule/crossmodule.qdocconf deleted file mode 100644 index fb4a6be77..000000000 --- a/tests/auto/qdoc/generatedoutput/crossmodule/crossmodule.qdocconf +++ /dev/null @@ -1,10 +0,0 @@ -project = CrossModule -includepaths += -I. - -depends = testcpp - -headers = testtype.h -sources = testtype.cpp - -HTML.nosubdirs = true -HTML.outputsubdir = crossmodule diff --git a/tests/auto/qdoc/generatedoutput/crossmodule/testtype.cpp b/tests/auto/qdoc/generatedoutput/crossmodule/testtype.cpp deleted file mode 100644 index 50d5d4845..000000000 --- a/tests/auto/qdoc/generatedoutput/crossmodule/testtype.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the tools applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include "testtype.h" - -/*! - \module CrossModule -*/ -/*! - \class TestType - \inmodule CrossModule - \brief A class inheriting another class that lives in an external doc - module. - - \section1 Linking - - These links go to the parent class: - \list - \li \l {TestQDoc::TestDerived} - \li \l {TestQDoc::}{Test} class \l Usage. - \li QDOCTEST_MACRO - \endlist - - \sa {TestQDoc::Test::}{someFunction()} -*/ - -/*! - Nothing to see here. -*/ -void TestType::nothing() -{ -} diff --git a/tests/auto/qdoc/generatedoutput/crossmodule/testtype.h b/tests/auto/qdoc/generatedoutput/crossmodule/testtype.h deleted file mode 100644 index 957505fcc..000000000 --- a/tests/auto/qdoc/generatedoutput/crossmodule/testtype.h +++ /dev/null @@ -1,37 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the tools applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#pragma once - -#include "../testcpp.h" - -class TestType : public TestQDoc::TestDerived -{ -public: - TestType() {} - void nothing() {} -}; diff --git a/tests/auto/qdoc/generatedoutput/docbook.qdocconf b/tests/auto/qdoc/generatedoutput/docbook.qdocconf deleted file mode 100644 index 6fe708176..000000000 --- a/tests/auto/qdoc/generatedoutput/docbook.qdocconf +++ /dev/null @@ -1,3 +0,0 @@ -outputformats = DocBook -DocBook.nosubdirs = true -DocBook.outputsubdir = docbook diff --git a/tests/auto/qdoc/generatedoutput/docbook_test.qdocconf b/tests/auto/qdoc/generatedoutput/docbook_test.qdocconf deleted file mode 100644 index e8095e405..000000000 --- a/tests/auto/qdoc/generatedoutput/docbook_test.qdocconf +++ /dev/null @@ -1,2 +0,0 @@ -include(test.qdocconf) -include(docbook.qdocconf) diff --git a/tests/auto/qdoc/generatedoutput/docbook_testcpp.qdocconf b/tests/auto/qdoc/generatedoutput/docbook_testcpp.qdocconf deleted file mode 100644 index 0abdf8169..000000000 --- a/tests/auto/qdoc/generatedoutput/docbook_testcpp.qdocconf +++ /dev/null @@ -1,2 +0,0 @@ -include(testcpp.qdocconf) -include(docbook.qdocconf) diff --git a/tests/auto/qdoc/generatedoutput/docbook_testqml.qdocconf b/tests/auto/qdoc/generatedoutput/docbook_testqml.qdocconf deleted file mode 100644 index 0a0a18b07..000000000 --- a/tests/auto/qdoc/generatedoutput/docbook_testqml.qdocconf +++ /dev/null @@ -1,2 +0,0 @@ -include(testqml.qdocconf) -include(docbook.qdocconf) diff --git a/tests/auto/qdoc/generatedoutput/dontdocument/TestCPP b/tests/auto/qdoc/generatedoutput/dontdocument/TestCPP deleted file mode 100644 index 7291e6d8f..000000000 --- a/tests/auto/qdoc/generatedoutput/dontdocument/TestCPP +++ /dev/null @@ -1,2 +0,0 @@ -#include "../TestCPP" -#include "dont.h" diff --git a/tests/auto/qdoc/generatedoutput/dontdocument/dont.cpp b/tests/auto/qdoc/generatedoutput/dontdocument/dont.cpp deleted file mode 100644 index 33e208459..000000000 --- a/tests/auto/qdoc/generatedoutput/dontdocument/dont.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the tools applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "dont.h" - -/*! - \class UnseenClass - \inmodule TestCPP - \brief A public but undocumented class. -*/ -UnseenClass::UnseenClass() -{ -} - -/*! - \class SeenClass - \inmodule TestCPP - \brief A public but undocumented class. -*/ -SeenClass::SeenClass() -{ -} diff --git a/tests/auto/qdoc/generatedoutput/dontdocument/dont.h b/tests/auto/qdoc/generatedoutput/dontdocument/dont.h deleted file mode 100644 index 5ef436b5c..000000000 --- a/tests/auto/qdoc/generatedoutput/dontdocument/dont.h +++ /dev/null @@ -1,41 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the tools applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#pragma once - -class UnseenClass -{ -public: - UnseenClass(); -}; - -class SeenClass : public UnseenClass -{ -public: - SeenClass(); -}; diff --git a/tests/auto/qdoc/generatedoutput/dontdocument/dontdocument.qdocconf b/tests/auto/qdoc/generatedoutput/dontdocument/dontdocument.qdocconf deleted file mode 100644 index 1c141784b..000000000 --- a/tests/auto/qdoc/generatedoutput/dontdocument/dontdocument.qdocconf +++ /dev/null @@ -1,7 +0,0 @@ -include(../testcpp.qdocconf) - -headers += dont.h -sources += dont.cpp test.qdoc - -HTML.nosubdirs = true -HTML.outputsubdir = dontdocument diff --git a/tests/auto/qdoc/generatedoutput/dontdocument/test.qdoc b/tests/auto/qdoc/generatedoutput/dontdocument/test.qdoc deleted file mode 100644 index 3f6e0be30..000000000 --- a/tests/auto/qdoc/generatedoutput/dontdocument/test.qdoc +++ /dev/null @@ -1,36 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the tools applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \dontdocument (UnseenClass) -*/ - -/*! \page classes.html - \title Classes - \generatelist annotatedclasses -*/ diff --git a/tests/auto/qdoc/generatedoutput/examples-qhp.qdocconf b/tests/auto/qdoc/generatedoutput/examples-qhp.qdocconf deleted file mode 100644 index b4598476e..000000000 --- a/tests/auto/qdoc/generatedoutput/examples-qhp.qdocconf +++ /dev/null @@ -1,20 +0,0 @@ -# QML test includes a documented example -include(testqml.qdocconf) - -examplesinstallpath = test - -# Configure .qhp generation -qhp.projects = Test - -qhp.Test.file = test.qhp -qhp.Test.namespace = org.qt-project.test.001 -qhp.Test.virtualFolder = test -qhp.Test.indexTitle = UI Components -qhp.Test.indexRoot = - -# Add some meta-data to the example -manifestmeta.filters = test - -manifestmeta.test.names = * -manifestmeta.test.attributes = isTest:true -manifestmeta.test.tags = test diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput-linking.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput-linking.xml index 75255b85d..90fbb79cc 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput-linking.xml +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput-linking.xml @@ -2,7 +2,7 @@ Testing QDoc's link command -Test +OutputFromQDocFiles A test project for QDoc build artifacts This is a page for testing QDoc's link command. diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput.xml index 017cb8a0b..610197cc7 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput.xml +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/qdoctests-qdocfileoutput.xml @@ -2,7 +2,7 @@ Testing QDoc output from .qdoc files -Test +OutputFromQDocFiles A test project for QDoc build artifacts This is a simple page for testing purposes only. diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml index eb519cd51..3983c2bbd 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml @@ -1,7 +1,7 @@ - + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml index 94dee89e3..4a56533a4 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml @@ -1,7 +1,7 @@ - + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput-linking.html b/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput-linking.html index 74b47375e..2e294ffff 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput-linking.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/qdoctests-qdocfileoutput-linking.html @@ -3,7 +3,7 @@ - Testing QDoc's link command | Test + Testing QDoc's link command | OutputFromQDocFiles

          This signal is emitted when the operation completed with status.

          +

          Note: The corresponding handler is onCompleted.


          Attached Signal Documentation

          @@ -154,6 +155,7 @@ configured()

          This attached signal is emitted when the type was configured.

          +

          Note: The corresponding handler is onConfigured.


          Method Documentation

          diff --git a/tests/auto/qdoc/generatedoutput/testdata/qml/type.cpp b/tests/auto/qdoc/generatedoutput/testdata/qml/type.cpp index bf04bdb43..10a310a87 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/qml/type.cpp +++ b/tests/auto/qdoc/generatedoutput/testdata/qml/type.cpp @@ -92,10 +92,14 @@ \qmlsignal Type::completed(int status) This signal is emitted when the operation completed with \a status. + + \note The corresponding handler is \c onCompleted. */ /*! \qmlattachedsignal Type::configured() This attached signal is emitted when the type was configured. + + \note The corresponding handler is \c onConfigured. */ -- cgit v1.2.3 From e18472fdd03a1a0633aa153ba8e579be4869fcf3 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Fri, 14 Feb 2020 11:36:16 +0100 Subject: qdoc: Add an auto-generated note in \qmlsignal documentation Construct the signal handler name and generate a note for it. This eliminates the need to maintain such notes in the source. Remove the hard-coded notes from the test source (but not from the expected output data). [ChangeLog][qdoc] QDoc now generates a note for the name of the corresponding handler in \qmlsignal documentation. Task-number: QTBUG-37355 Change-Id: Ia3ab98be909a41bde619224c9a616cb8704e258a Reviewed-by: Paul Wicking --- src/qdoc/docbookgenerator.cpp | 15 +++++++++++++++ src/qdoc/generator.cpp | 12 ++++++++++++ src/qdoc/generator.h | 2 +- tests/auto/qdoc/generatedoutput/testdata/qml/type.cpp | 4 ---- 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/qdoc/docbookgenerator.cpp b/src/qdoc/docbookgenerator.cpp index e8cc2c859..063065511 100644 --- a/src/qdoc/docbookgenerator.cpp +++ b/src/qdoc/docbookgenerator.cpp @@ -2116,6 +2116,8 @@ void DocBookGenerator::generateBody(const Node *node) } if (fn) { + if (fn->isQmlSignal()) + generateAddendum(node, QmlSignalHandler); if (fn->isPrivateSignal()) generateAddendum(node, PrivateSignal); if (fn->isInvokable()) @@ -3426,6 +3428,19 @@ void DocBookGenerator::generateAddendum(const Node *node, Addendum type, CodeMar "This is a private signal. It can be used in signal connections but " "cannot be emitted by the user."); break; + case QmlSignalHandler: + { + QString handler(node->name()); + handler[0] = handler[0].toTitleCase(); + handler.prepend(QLatin1String("on")); + writer->writeStartElement(dbNamespace, "para"); + writer->writeCharacters("The corresponding handler is "); + writer->writeTextElement(dbNamespace, "code", handler); + writer->writeCharacters("."); + writer->writeEndElement(); // para + newLine(); + break; + } case AssociatedProperties: { if (!node->isFunction()) diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index f8fb9ad02..abf0602df 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -829,6 +829,8 @@ void Generator::generateBody(const Node *node, CodeMarker *marker) } if (fn) { + if (fn->isQmlSignal()) + generateAddendum(node, QmlSignalHandler, marker); if (fn->isPrivateSignal()) generateAddendum(node, PrivateSignal, marker); if (fn->isInvokable()) @@ -1373,6 +1375,16 @@ void Generator::generateAddendum(const Node *node, Addendum type, CodeMarker *ma text << "This is a private signal. It can be used in signal connections " "but cannot be emitted by the user."; break; + case QmlSignalHandler: + { + QString handler(node->name()); + handler[0] = handler[0].toTitleCase(); + handler.prepend(QLatin1String("on")); + text << "The corresponding handler is " + << Atom(Atom::FormattingLeft, ATOM_FORMATTING_TELETYPE) << handler + << Atom(Atom::FormattingRight, ATOM_FORMATTING_TELETYPE) << "."; + break; + } case AssociatedProperties: { if (!node->isFunction()) diff --git a/src/qdoc/generator.h b/src/qdoc/generator.h index d72a77bd1..f12aff933 100644 --- a/src/qdoc/generator.h +++ b/src/qdoc/generator.h @@ -53,7 +53,7 @@ class Generator public: enum ListType { Generic, Obsolete }; - enum Addendum { Invokable, PrivateSignal, AssociatedProperties }; + enum Addendum { Invokable, PrivateSignal, QmlSignalHandler, AssociatedProperties }; Generator(); virtual ~Generator(); diff --git a/tests/auto/qdoc/generatedoutput/testdata/qml/type.cpp b/tests/auto/qdoc/generatedoutput/testdata/qml/type.cpp index 10a310a87..bf04bdb43 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/qml/type.cpp +++ b/tests/auto/qdoc/generatedoutput/testdata/qml/type.cpp @@ -92,14 +92,10 @@ \qmlsignal Type::completed(int status) This signal is emitted when the operation completed with \a status. - - \note The corresponding handler is \c onCompleted. */ /*! \qmlattachedsignal Type::configured() This attached signal is emitted when the type was configured. - - \note The corresponding handler is \c onConfigured. */ -- cgit v1.2.3 From fcd523048f02025e7563a4a6a17f6e5ff98ca6bb Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Fri, 6 Mar 2020 06:38:01 +0100 Subject: QDoc: Use correct node type string for \since in shared comments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Shared comment nodes were not handled as a special case when generating "This [class/function/method/type/etc] was introduced in" strings when QDoc encountered a \since command. These ended up with the default value, "documentation", which led to unexpected text in the documentation. * Add handling of shared comment nodes and get the node type from the first node in the collective. * Amend generated output test to cover this scenario. Fixes: QTBUG-82534 Change-Id: I444e95e0214f312649ec2720c23c98e698402abf Reviewed-by: Kai Koehne Reviewed-by: Topi Reiniö --- src/qdoc/generator.cpp | 4 ++++ .../qdoc/generatedoutput/expected_output/docbook/testqdoc-test.xml | 1 + .../generatedoutput/expected_output/ignoresince/testqdoc-test.html | 1 + .../generatedoutput/expected_output/scopedenum/testqdoc-test.html | 1 + .../qdoc/generatedoutput/expected_output/template/testqdoc-test.html | 1 + tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html | 1 + tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp | 1 + 7 files changed, 10 insertions(+) diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index abf0602df..bdeeec2be 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -2219,6 +2219,10 @@ QString Generator::typeString(const Node *node) case Node::JsModule: case Node::QmlModule: return "module"; + case Node::SharedComment: { + const auto &collective = static_cast(node)->collective(); + return collective.first()->nodeTypeString(); + } default: return "documentation"; } diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-test.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-test.xml index 0cfeb1724..ad6a4f30f 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-test.xml +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/testqdoc-test.xml @@ -45,6 +45,7 @@ TestCPP Overloads that share a documentation comment, optionally taking a parameter b. +This function was introduced in Test 1.2. Test::void inlineFunction() diff --git a/tests/auto/qdoc/generatedoutput/expected_output/ignoresince/testqdoc-test.html b/tests/auto/qdoc/generatedoutput/expected_output/ignoresince/testqdoc-test.html index 71c54c2e9..52a10f706 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/ignoresince/testqdoc-test.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/ignoresince/testqdoc-test.html @@ -61,6 +61,7 @@

          [protected] void Test::overload()

          [protected] void Test::overload(bool b)

          Overloads that share a documentation comment, optionally taking a parameter b.

          +

          This function was introduced in Test 1.2.

          void Test::inlineFunction()

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/scopedenum/testqdoc-test.html b/tests/auto/qdoc/generatedoutput/expected_output/scopedenum/testqdoc-test.html index 145fc724a..3fc1f2bc7 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/scopedenum/testqdoc-test.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/scopedenum/testqdoc-test.html @@ -78,6 +78,7 @@

          [protected] void Test::overload()

          [protected] void Test::overload(bool b)

          Overloads that share a documentation comment, optionally taking a parameter b.

          +

          This function was introduced in Test 1.2.

          void Test::inlineFunction()

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/template/testqdoc-test.html b/tests/auto/qdoc/generatedoutput/expected_output/template/testqdoc-test.html index d19d15535..4ec52916a 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/template/testqdoc-test.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/template/testqdoc-test.html @@ -62,6 +62,7 @@

          [protected] void Test::overload()

          [protected] void Test::overload(bool b)

          Overloads that share a documentation comment, optionally taking a parameter b.

          +

          This function was introduced in Test 1.2.

          [protected] template <typename T1, typename T2> void Test::funcTemplate(T1 a, T2 b)

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html index f3c8d55d0..84c0c4fe3 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/testqdoc-test.html @@ -61,6 +61,7 @@

          [protected] void Test::overload()

          [protected] void Test::overload(bool b)

          Overloads that share a documentation comment, optionally taking a parameter b.

          +

          This function was introduced in Test 1.2.

          void Test::inlineFunction()

          diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp index c8b3f2f46..643a6db6a 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp +++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp @@ -155,6 +155,7 @@ void TestDerived::virtualFun() /*! \fn TestQDoc::Test::overload() \fn Test::overload(bool b) + \since Test 1.2 //! The second overload should match even without the fully qualified path Overloads that share a documentation comment, optionally taking -- cgit v1.2.3 From d7273da9c62ab13f437c72fe7e37406ed1b2413b Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Wed, 4 Mar 2020 15:16:10 +0100 Subject: QDoc: Add unit tests for Utilities MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: QTBUG-82687 Change-Id: I41219b8cdc45d7e779acfefbcd57ff352b56b88e Reviewed-by: Topi Reiniö --- tests/auto/qdoc/qdoc.pro | 3 +- tests/auto/qdoc/utilities/tst_utilities.cpp | 89 +++++++++++++++++++++++++++++ tests/auto/qdoc/utilities/utilities.pro | 12 ++++ 3 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 tests/auto/qdoc/utilities/tst_utilities.cpp create mode 100644 tests/auto/qdoc/utilities/utilities.pro diff --git a/tests/auto/qdoc/qdoc.pro b/tests/auto/qdoc/qdoc.pro index d2afba2bf..c7af516ae 100644 --- a/tests/auto/qdoc/qdoc.pro +++ b/tests/auto/qdoc/qdoc.pro @@ -2,4 +2,5 @@ TEMPLATE = subdirs SUBDIRS = \ config \ - generatedoutput + generatedoutput \ + utilities diff --git a/tests/auto/qdoc/utilities/tst_utilities.cpp b/tests/auto/qdoc/utilities/tst_utilities.cpp new file mode 100644 index 000000000..0f63b1daf --- /dev/null +++ b/tests/auto/qdoc/utilities/tst_utilities.cpp @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "utilities.h" + +#include + +QT_BEGIN_NAMESPACE +Q_LOGGING_CATEGORY(lcQdoc, "qt.test") +QT_END_NAMESPACE + +class tst_Utilities : public QObject +{ + Q_OBJECT + +private slots: + void loggingCategoryName(); + void loggingCategoryDefaults(); + void startDebugging(); + void stopDebugging(); + void debugging(); +}; + +void tst_Utilities::loggingCategoryName() +{ + const QString expected = "qt.test"; + QCOMPARE(lcQdoc().categoryName(), expected); +} + +void tst_Utilities::loggingCategoryDefaults() +{ + QVERIFY(lcQdoc().isCriticalEnabled()); + QVERIFY(lcQdoc().isWarningEnabled()); + QVERIFY(!lcQdoc().isDebugEnabled()); + QVERIFY(lcQdoc().isInfoEnabled()); +} + +void tst_Utilities::startDebugging() +{ + QVERIFY(!lcQdoc().isDebugEnabled()); + Utilities::startDebugging("test"); + QVERIFY(lcQdoc().isDebugEnabled()); +} + +void tst_Utilities::stopDebugging() +{ + Utilities::startDebugging("test"); + QVERIFY(lcQdoc().isDebugEnabled()); + Utilities::stopDebugging("test"); + QVERIFY(!lcQdoc().isDebugEnabled()); +} + +void tst_Utilities::debugging() +{ + QVERIFY(!lcQdoc().isDebugEnabled()); + QVERIFY(!Utilities::debugging()); + Utilities::startDebugging("test"); + QVERIFY(lcQdoc().isDebugEnabled()); + QVERIFY(Utilities::debugging()); +} + +QTEST_APPLESS_MAIN(tst_Utilities) + +#include "tst_utilities.moc" diff --git a/tests/auto/qdoc/utilities/utilities.pro b/tests/auto/qdoc/utilities/utilities.pro new file mode 100644 index 000000000..57489f2b1 --- /dev/null +++ b/tests/auto/qdoc/utilities/utilities.pro @@ -0,0 +1,12 @@ +CONFIG += testcase +QT = core testlib +TARGET = tst_utilities +INCLUDEPATH += $$PWD/../../../../src/qdoc + +HEADERS += \ + $$PWD/../../../../src/qdoc/loggingcategory.h \ + $$PWD/../../../../src/qdoc/utilities.h + +SOURCES += \ + tst_utilities.cpp \ + $$PWD/../../../../src/qdoc/utilities.cpp -- cgit v1.2.3 From 39766fcb7b41a2065599889b3e912ca402eeb3ac Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Tue, 25 Feb 2020 14:14:36 +0100 Subject: Add tests for QDoc's prepare and generate phases The prepare test includes validating the generated .index file. Fixes: QTBUG-82716 Change-Id: I673cf39965c81cf02b8c68e0319b45c909664917 Reviewed-by: Paul Wicking --- .../generatedoutput/expected_output/testcpp.index | 39 ++++++++++++++++++++++ .../testdata/configs/testcpp.qdocconf | 1 + .../qdoc/generatedoutput/tst_generatedoutput.cpp | 18 ++++++++++ 3 files changed, 58 insertions(+) create mode 100644 tests/auto/qdoc/generatedoutput/expected_output/testcpp.index diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index b/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index new file mode 100644 index 000000000..36f8e72af --- /dev/null +++ b/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/auto/qdoc/generatedoutput/testdata/configs/testcpp.qdocconf b/tests/auto/qdoc/generatedoutput/testdata/configs/testcpp.qdocconf index 80ac58475..ff10ae4be 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/configs/testcpp.qdocconf +++ b/tests/auto/qdoc/generatedoutput/testdata/configs/testcpp.qdocconf @@ -5,3 +5,4 @@ headers = ../testcpp/testcpp.h sources = ../testcpp/testcpp.cpp macro.CMDFN = \\\\fn +locationinfo = false diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index 20becc713..5449a50e2 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -65,6 +65,8 @@ private slots: void crossModuleLinking(); void includeFromExampleDirs(); void singleExec(); + void preparePhase(); + void generatePhase(); private: QScopedPointer m_outputDir; @@ -359,6 +361,22 @@ void tst_generatedOutput::singleExec() "-single-exec"); } +void tst_generatedOutput::preparePhase() +{ + testAndCompare("testdata/configs/testcpp.qdocconf", + "testcpp.index", + "-prepare"); +} + +void tst_generatedOutput::generatePhase() +{ + testAndCompare("testdata/configs/testcpp.qdocconf", + "testcpp-module.html " + "testqdoc-test.html " + "testqdoc-test-members.html " + "testqdoc.html", + "-generate"); +} QTEST_APPLESS_MAIN(tst_generatedOutput) -- cgit v1.2.3 From 8180d46ba2408d57009b7f1228db032d007bf0db Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Mon, 9 Mar 2020 12:17:20 +0100 Subject: Add missing QPainterPath include ..\distancefieldmodel.h(197): error C2027: use of undefined type 'QPainterPath' Change-Id: I3c97811a14bb82bf5dabc86398ffcfc9cf4ff58d Reviewed-by: Andy Shaw --- src/distancefieldgenerator/distancefieldmodel.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/distancefieldgenerator/distancefieldmodel.h b/src/distancefieldgenerator/distancefieldmodel.h index b866e5e6a..5c71a20ab 100644 --- a/src/distancefieldgenerator/distancefieldmodel.h +++ b/src/distancefieldgenerator/distancefieldmodel.h @@ -31,6 +31,7 @@ #include #include +#include #include #include #include -- cgit v1.2.3 From 747c2e69673a584fac4d6c0123a19a966435eadf Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Mon, 9 Mar 2020 14:33:06 +0100 Subject: QDoc: Clean up log messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: If65d87e520f228997a857dbbebc13d98fa9ce994 Reviewed-by: Topi Reiniö --- src/qdoc/main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp index 96e93c015..d28ef2d84 100644 --- a/src/qdoc/main.cpp +++ b/src/qdoc/main.cpp @@ -238,12 +238,12 @@ void logStartEndMessage(const QLatin1String &startStop, const Config &config) + config.getString(CONFIG_PROJECT) + QLatin1String(" in ") + QLatin1String(config.singleExec() ? "single" : "dual") - + QLatin1String(" process mode, (") + + QLatin1String(" process mode: ") + QLatin1String(config.preparing() ? "prepare" : "generate") - + QLatin1String(" phase)"); + + QLatin1String(" phase."); const QString msg = startStop + runName; - qCInfo(lcQdoc) << msg.data(); + qCInfo(lcQdoc) << msg.toUtf8().data(); } /*! -- cgit v1.2.3 From cdd46a7d4ab2862aab286f82532356a89e43f262 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Mon, 9 Mar 2020 14:33:50 +0100 Subject: QDoc: Clean up whitespace in log messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ib7dbb54c0a2d8ea7b754edc8fb7d2175471acc38 Reviewed-by: Topi Reiniö --- src/qdoc/clangcodeparser.cpp | 6 +++--- src/qdoc/main.cpp | 4 ++-- src/qdoc/qdocindexfiles.cpp | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp index 04fd8bd49..a0074a091 100644 --- a/src/qdoc/clangcodeparser.cpp +++ b/src/qdoc/clangcodeparser.cpp @@ -1310,7 +1310,7 @@ void ClangCodeParser::buildPCH() const QByteArray module = moduleHeader().toUtf8(); QByteArray header; QByteArray privateHeaderDir; - qCInfo(lcQdoc) << "Build & visit PCH for " << moduleHeader(); + qCDebug(lcQdoc) << "Build and visit PCH for" << moduleHeader(); // A predicate for std::find_if() to locate a path to the module's header // (e.g. QtGui/QtGui) to be used as pre-compiled header struct FindPredicate @@ -1413,7 +1413,7 @@ void ClangCodeParser::buildPCH() auto error = clang_saveTranslationUnit(tu, pchName_.constData(), clang_defaultSaveOptions(tu)); if (error) { - qCCritical(lcQdoc) << "Could not save PCH file for " << moduleHeader(); + qCCritical(lcQdoc) << "Could not save PCH file for" << moduleHeader(); pchName_.clear(); } else { // Visit the header now, as token from pre-compiled header won't be visited @@ -1421,7 +1421,7 @@ void ClangCodeParser::buildPCH() CXCursor cur = clang_getTranslationUnitCursor(tu); ClangVisitor visitor(qdb_, allHeaders_); visitor.visitChildren(cur); - qCInfo(lcQdoc) << "PCH built & visited for " << moduleHeader(); + qCDebug(lcQdoc) << "PCH built and visited for" << moduleHeader(); } clang_disposeTranslationUnit(tu); } else { diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp index d28ef2d84..29ba75d7a 100644 --- a/src/qdoc/main.cpp +++ b/src/qdoc/main.cpp @@ -478,7 +478,7 @@ static void processQdocconfFile(const QString &fileName) add it to the big tree. */ parsed = 0; - qCInfo(lcQdoc) << "Parse source files for " << project; + qCInfo(lcQdoc) << "Parse source files for" << project; for (const auto &key : sources.keys()) { auto *codeParser = CodeParser::parserForSourceFile(key); if (codeParser) { @@ -487,7 +487,7 @@ static void processQdocconfFile(const QString &fileName) codeParser->parseSourceFile(config.location(), key); } } - qCInfo(lcQdoc) << "Source files parsed for " << project; + qCInfo(lcQdoc) << "Source files parsed for" << project; } /* Now the primary tree has been built from all the header and diff --git a/src/qdoc/qdocindexfiles.cpp b/src/qdoc/qdocindexfiles.cpp index f51526ab1..12136dd4a 100644 --- a/src/qdoc/qdocindexfiles.cpp +++ b/src/qdoc/qdocindexfiles.cpp @@ -1522,7 +1522,7 @@ void QDocIndexFiles::generateIndex(const QString &fileName, const QString &url, if (!file.open(QFile::WriteOnly | QFile::Text)) return; - qCInfo(lcQdoc) << "Writing index file: " << fileName; + qCInfo(lcQdoc) << "Writing index file:" << fileName; gen_ = g; QXmlStreamWriter writer(&file); -- cgit v1.2.3 From 171ecb1c48326cf3b6abad1fad317ffa0975f799 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Tue, 10 Mar 2020 14:14:59 +0100 Subject: qdoc: ClangCodeParser: Clear the stored namespace After processing a source file, we need to clear any potential stored namespace scope. Left uncleared, if the next source file is not parsed with Clang but still use ClangCodeParser::parseFnArg(), the incorrect scope is applied. Change-Id: Iba1e791ac01c0f1c699a808ce644b4edbb682399 Reviewed-by: Paul Wicking --- src/qdoc/clangcodeparser.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp index a0074a091..550039b2a 100644 --- a/src/qdoc/clangcodeparser.cpp +++ b/src/qdoc/clangcodeparser.cpp @@ -1586,6 +1586,7 @@ void ClangCodeParser::parseSourceFile(const Location & /*location*/, const QStri clang_disposeTokens(tu, tokens, numTokens); clang_disposeTranslationUnit(tu); clang_disposeIndex(index_); + namespaceScope_.clear(); } /*! -- cgit v1.2.3 From 389c544adaf005d6f205486d0470ccaf945f19f0 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Tue, 10 Mar 2020 12:22:59 +0100 Subject: qdoc: Fix regression in .index file output Commit 5234c7fc fixed an issue with missing \inmodule commands, but it ended up adding non-aggregates into the module as well which was not the intention. This caused excess nodes being listed as a module members, causing issues for the WebXML output format as well. Partially revert 5234c7fc, fix the issue correctly, and update the test for .index files. Change-Id: I85fc19152b3de8993f92361fbe1ad2fd934c79ae Reviewed-by: Paul Wicking --- src/qdoc/codeparser.cpp | 39 ++++++++++++---------- .../generatedoutput/expected_output/testcpp.index | 2 +- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/src/qdoc/codeparser.cpp b/src/qdoc/codeparser.cpp index db2d0df97..648a2de22 100644 --- a/src/qdoc/codeparser.cpp +++ b/src/qdoc/codeparser.cpp @@ -269,25 +269,28 @@ bool CodeParser::isParsingQdoc() const void CodeParser::checkModuleInclusion(Node *n) { if (n->physicalModuleName().isEmpty()) { - qdb_->addToModule(Generator::defaultModuleName(), n); - QString word; - switch (n->nodeType()) { - case Node::Class: - word = QLatin1String("Class"); - break; - case Node::Struct: - word = QLatin1String("Struct"); - break; - case Node::Union: - word = QLatin1String("Union"); - break; - case Node::Namespace: - word = QLatin1String("Namespace"); - break; - default: - return; - } + n->setPhysicalModuleName(Generator::defaultModuleName()); + if (n->isInAPI() && !n->name().isEmpty()) { + QString word; + switch (n->nodeType()) { + case Node::Class: + word = QLatin1String("Class"); + break; + case Node::Struct: + word = QLatin1String("Struct"); + break; + case Node::Union: + word = QLatin1String("Union"); + break; + case Node::Namespace: + word = QLatin1String("Namespace"); + break; + default: + return; + } + + qdb_->addToModule(Generator::defaultModuleName(), n); n->doc().location().warning(tr("%1 %2 has no \\inmodule command; " "using project name by default: %3") .arg(word) diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index b/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index index 36f8e72af..ae997fa52 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index +++ b/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index @@ -34,6 +34,6 @@ - + -- cgit v1.2.3 From 7b21ac0c3bfbc2c31695064c8683638d195d22ff Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Tue, 10 Mar 2020 09:27:41 +0100 Subject: Update dependencies on 'dev' in qt/qttools Change-Id: Iaea9aa38f472c002747935228c06db39f0fed512 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 7f4f141bf..547201620 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: bd4635009d3ba6ea560bc5f70811fa0afee518fc + ref: af00402d6446c0f8f085a2a482fc83c4318aa457 required: true ../qtdeclarative: - ref: 925a0e499a5dbdb180fd9969a79abf96006ce4fd + ref: b1fc5666de5a52b6922e7518ba46f41ca3bdfb90 required: false -- cgit v1.2.3 From 0bb8b0d3451decf0fa00c902a63a9ef4319c49ef Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 9 Mar 2020 16:04:48 +0100 Subject: Qt Linguist: Fix compilation Use QTextDocument::toRawText() instead of private API removed by qtbase/4724dfff627f3cd3754f5d4a827c6b6790a89955. Change-Id: I1b924bf78200f45d33a8e875912c2e31097da41f Reviewed-by: Simon Hausmann --- src/linguist/linguist/messageeditorwidgets.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/linguist/linguist/messageeditorwidgets.cpp b/src/linguist/linguist/messageeditorwidgets.cpp index bb0eb5baf..6880f50fc 100644 --- a/src/linguist/linguist/messageeditorwidgets.cpp +++ b/src/linguist/linguist/messageeditorwidgets.cpp @@ -418,7 +418,7 @@ QString FormMultiWidget::getTranslation() const for (int i = 0; i < m_editors.count(); ++i) { if (i) ret += QChar(Translator::BinaryVariantSeparator); - ret += toPlainText(m_editors.at(i)->document()->docHandle()->plainText()); + ret += toPlainText(m_editors.at(i)->document()->toRawText()); } return ret; } -- cgit v1.2.3 From 76cc799cd2d7305afc8375a2bddbcff0ef4e18c2 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Tue, 10 Mar 2020 23:53:29 +0100 Subject: Enforce zero warnings for QDoc's generatedoutput autotest Fix all QDoc warnings for the tests and set the warning limit to zero. If any warnings are introduced, QDoc will exit with non-zero value and the test will fail. The exceptions are the tests specific to the DocBook generator, where we expect to see two warnings related to shared comment nodes. The generator currently has trouble handling these. Fixes: QTBUG-82808 Change-Id: I0482516e1e34b92592d921a4a0ffb41e4b2b4770 Reviewed-by: Paul Wicking --- .../docbook/test-componentset-example.xml | 14 +++++++------- .../expected_output/docbook/uicomponents-qmlmodule.xml | 2 +- .../expected_output/includefromexampledirs/index.html | 2 ++ .../qml-qdoc-test-abstractparent-members.html | 3 +-- .../qml-qdoc-test-abstractparent.html | 14 ++------------ .../generatedoutput/testdata/configs/docbook.qdocconf | 4 ++++ .../generatedoutput/testdata/configs/test.qdocconf | 4 ++++ .../generatedoutput/testdata/configs/testcpp.qdocconf | 5 +++++ .../includefromexampledirs/excludes/parentinclude.qdoc | 14 +------------- .../includefromexampledirs.qdocconf | 2 ++ .../includefromexampledirs/src/includefromparent.qdoc | 15 +++++++++++++++ .../testdata/qml/componentset/examples.qdoc | 18 +++++++++--------- .../qdoc/generatedoutput/testdata/testcpp/testcpp.cpp | 2 +- 13 files changed, 54 insertions(+), 45 deletions(-) diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/test-componentset-example.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/test-componentset-example.xml index 2b442d1dd..48496733b 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/docbook/test-componentset-example.xml +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/test-componentset-example.xml @@ -10,29 +10,29 @@
          This example demonstrates one of the ways to document QML types. In particular, there are sample types that are documented with QDoc commands comments. There are documentation comments for the QML types and their public interfaces. The types are grouped into a module, the UI Components module. -The uicomponents.qdoc file generates the overview page for the UI Components module page. +The uicomponents.qdoc file generates the overview page for the UI Components module page. The generated documentation is available in the UI Components module. QML Class -The QML types use the \qmltype to document the type. In addition, they have the \inmodule command in order for QDoc to associate them to the UIComponents module. -QDoc uses the \brief command to place a basic description when listing the types. +The QML types use the \qmltype to document the type. In addition, they have the \inmodule command in order for QDoc to associate them to the UIComponents module. +QDoc uses the \brief command to place a basic description when listing the types. Properties, Signals, Handlers, and Methods The types have their properties, signals, handlers, and methods defined in their respective QML files. QDoc associates the properties and methods to the types, therefore, you only need to place the documentation above the property, method, or signal. -To document the type of a property alias, you must use the \qmlproperty command to specify the data type. +To document the type of a property alias, you must use the \qmlproperty command to specify the data type. \qmlproperty <@type>int</@type> anAliasedProperty An aliased property of type <@type>int</@type><@op>.</@op> Internal Documentation -You may declare that a documentation is for internal use by placing the \internal command after the beginning QDoc comment /*. QDoc will prevent the internal documentation from appearing in the public API. -If you wish to omit certain parts of the documentation, you may use the \omit and \endomit command. +You may declare that a documentation is for internal use by placing the \internal command after the beginning QDoc comment /*. QDoc will prevent the internal documentation from appearing in the public API. +If you wish to omit certain parts of the documentation, you may use the \omit and \endomit command. QML Types with C++ Implementation -This example only demonstrates the documentation for types in QML files, but the regular QML commands may be placed inside C++ classes to define the public API of the QML type. +This example only demonstrates the documentation for types in QML files, but the regular QML commands may be placed inside C++ classes to define the public API of the QML type. Files: diff --git a/tests/auto/qdoc/generatedoutput/expected_output/docbook/uicomponents-qmlmodule.xml b/tests/auto/qdoc/generatedoutput/expected_output/docbook/uicomponents-qmlmodule.xml index f43890289..f00b3d3f7 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/docbook/uicomponents-qmlmodule.xml +++ b/tests/auto/qdoc/generatedoutput/expected_output/docbook/uicomponents-qmlmodule.xml @@ -9,7 +9,7 @@
          -This is a listing of a list of UI components implemented by QML types. These files are available for general import and they are based on the Qt Quick Code Samples. +This is a listing of a list of UI components implemented by QML types. These files are available for general import and they are based on the Qt Quick Code Samples. This module is part of the UIComponents example. diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/index.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/index.html index d1fb02484..fd9fdd50a 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/index.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/index.html @@ -20,6 +20,8 @@

          QML Types

          + +

          AbstractParent

          Abstract base QML type

          Child

          A Child inheriting its parent

          int

          An integer basic type

          Test include file that is part of the sourcedirs.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent-members.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent-members.html index 48c8fa485..f9d64de75 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent-members.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent-members.html @@ -2,7 +2,7 @@ - + List of All Members for AbstractParent | Test @@ -11,7 +11,6 @@

          This is the complete list of members for AbstractParent, including inherited members.

          diff --git a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent.html b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent.html index cbb0f36aa..f7c294ae0 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/includefromexampledirs/qml-qdoc-test-abstractparent.html @@ -2,7 +2,7 @@ - + AbstractParent QML Type | Test @@ -34,12 +34,12 @@

          Methods

          Detailed Description

          +

          Test include file that is part of the sourcedirs.

          Property Documentation

          @@ -54,16 +54,6 @@

          Method Documentation

          - -
          -
          - - -

          -void rear(child)

          -

          Do some abstract parenting on child.

          -
          -
          diff --git a/tests/auto/qdoc/generatedoutput/testdata/configs/docbook.qdocconf b/tests/auto/qdoc/generatedoutput/testdata/configs/docbook.qdocconf index 6fe708176..68afd29e8 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/configs/docbook.qdocconf +++ b/tests/auto/qdoc/generatedoutput/testdata/configs/docbook.qdocconf @@ -1,3 +1,7 @@ outputformats = DocBook DocBook.nosubdirs = true DocBook.outputsubdir = docbook + +# TODO: DocBook generator has trouble handling shared comment nodes +# allow two warnings related to these +warninglimit = 2 diff --git a/tests/auto/qdoc/generatedoutput/testdata/configs/test.qdocconf b/tests/auto/qdoc/generatedoutput/testdata/configs/test.qdocconf index f6473ccf7..e4cef822e 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/configs/test.qdocconf +++ b/tests/auto/qdoc/generatedoutput/testdata/configs/test.qdocconf @@ -6,3 +6,7 @@ sources = ../outputfromqdocfiles/qdoctests-outputfromqdocfiles.qdoc macro.beginqdoc = "\\c {/*!}" macro.endqdoc = "\\c */" + +# zero warning tolerance +warninglimit = 0 +warninglimit.enabled = true diff --git a/tests/auto/qdoc/generatedoutput/testdata/configs/testcpp.qdocconf b/tests/auto/qdoc/generatedoutput/testdata/configs/testcpp.qdocconf index ff10ae4be..b07aa71c0 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/configs/testcpp.qdocconf +++ b/tests/auto/qdoc/generatedoutput/testdata/configs/testcpp.qdocconf @@ -5,4 +5,9 @@ headers = ../testcpp/testcpp.h sources = ../testcpp/testcpp.cpp macro.CMDFN = \\\\fn +macro.nothing = \\dontdocument () locationinfo = false + +# zero warning tolerance +warninglimit = 0 +warninglimit.enabled = true diff --git a/tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/excludes/parentinclude.qdoc b/tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/excludes/parentinclude.qdoc index c95e22125..4933bc4bd 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/excludes/parentinclude.qdoc +++ b/tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/excludes/parentinclude.qdoc @@ -29,6 +29,7 @@ /*! //! abstract-type \qmltype AbstractParent + \inqmlmodule QDoc.Test \ingroup qmltypes \qmlabstract \brief Abstract base QML type. @@ -49,16 +50,3 @@ \brief Do some abstract parenting on \a child. //! rear-qmlmethod */ - -/*! - \qmltype Child - \ingroup qmltypes - \inherits AbstractParent - \brief A Child inheriting its parent. -*/ - -/*! - \qmlbasictype int - \ingroup qmltypes - \brief An integer basic type. -*/ diff --git a/tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/includefromexampledirs.qdocconf b/tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/includefromexampledirs.qdocconf index 1d981deb2..d64985942 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/includefromexampledirs.qdocconf +++ b/tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/includefromexampledirs.qdocconf @@ -5,6 +5,8 @@ sourcedirs += src excludedirs += excludes \ ../qml/componentset +excludefiles += ../qml/parent.qdoc + exampledirs += excludes HTML.nosubdirs = true diff --git a/tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/src/includefromparent.qdoc b/tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/src/includefromparent.qdoc index 7b4c00b76..a9a526c64 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/src/includefromparent.qdoc +++ b/tests/auto/qdoc/generatedoutput/testdata/includefromexampledirs/src/includefromparent.qdoc @@ -49,3 +49,18 @@ \include parent.qdocinc */ + +/*! + \qmltype Child + \inqmlmodule QDoc.Test + \ingroup qmltypes + \inherits AbstractParent + \brief A Child inheriting its parent. +*/ + +/*! + \qmlbasictype int + \inqmlmodule QDoc.Test + \ingroup qmltypes + \brief An integer basic type. +*/ diff --git a/tests/auto/qdoc/generatedoutput/testdata/qml/componentset/examples.qdoc b/tests/auto/qdoc/generatedoutput/testdata/qml/componentset/examples.qdoc index 2f56c221c..0816e624c 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/qml/componentset/examples.qdoc +++ b/tests/auto/qdoc/generatedoutput/testdata/qml/componentset/examples.qdoc @@ -40,18 +40,18 @@ and their public interfaces. The types are grouped into a module, the \l{UI Components} module. - The \l{componentset/uicomponents.qdoc.sample}{uicomponents.qdoc} file generates + The uicomponents.qdoc file generates the overview page for the \l{UI Components} module page. The generated documentation is available in the \l{UI Components} module. \section1 QML Class - The QML types use the \l{qmltype-command}{\\qmltype} to document the - type. In addition, they have the \l{inmodule-command}{\\inmodule} + The QML types use the \\qmltype to document the + type. In addition, they have the \\inmodule command in order for QDoc to associate them to the \c UIComponents module. - QDoc uses the \l{brief-command}{\\brief} command to place a basic + QDoc uses the \\brief command to place a basic description when listing the types. \section1 Properties, Signals, Handlers, and Methods @@ -62,7 +62,7 @@ documentation above the property, method, or signal. To document the type of a \e {property alias}, you must use the - \l{qmlproperty-command}{\\qmlproperty} command to specify the data type. + \\qmlproperty command to specify the data type. \code \qmlproperty int anAliasedProperty @@ -72,17 +72,17 @@ \section2 Internal Documentation You may declare that a documentation is for internal use by placing the - \l{internal-command}{\\internal} command after the beginning QDoc comment + \\internal command after the beginning QDoc comment \begincomment. QDoc will prevent the internal documentation from appearing in the public API. If you wish to omit certain parts of the documentation, you may use the - \l{omit-command}{\\omit} and \l{omit-command}{\\endomit} command. + \\omit and \\endomit command. \section1 QML Types with C++ Implementation This example only demonstrates the documentation for types in QML - files, but the regular \l{qml-documentation}{QML commands} may be placed + files, but the regular QML commands may be placed inside C++ classes to define the public API of the QML type. */ @@ -95,7 +95,7 @@ This is a listing of a list of UI components implemented by QML types. These files are available for general import and they are based on the - \l{Qt Quick Examples and Tutorials}{Qt Quick Code Samples}. + Qt Quick Code Samples. This module is part of the \l{componentset}{UIComponents} example. */ diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp index 643a6db6a..b1acdccf0 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp +++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp @@ -167,7 +167,7 @@ void TestDerived::virtualFun() \fn template void TestQDoc::Test::funcTemplate(T1 a, T2 b) \brief Function template with two parameters, \a a and \a b. \else - //! nothing + \nothing \endif */ -- cgit v1.2.3 From 98a4e4291da098b19a4a60fa8dbfcbdfa3b6a123 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Wed, 11 Mar 2020 11:27:19 +0100 Subject: QDoc: Add warning to use of \contentspage command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The \contentspage command doesn't produce nav links to the contents page between the next and previous pages. QDoc hasn't generated these links in html output since Qt 5.3. Remove the documentation that refers to the command and add a warning that it should not be used.. Task-number: QTBUG-75170 Change-Id: Ib16fc1cbb1e661a7519ba650e655e209c3b45b68 Reviewed-by: Topi Reiniö --- src/qdoc/cppcodeparser.cpp | 4 +++- src/qdoc/doc/files/basicqt.qdoc.sample | 3 --- src/qdoc/doc/qa-pages.qdoc | 1 - src/qdoc/doc/qdoc-manual-cmdindex.qdoc | 2 -- src/qdoc/doc/qdoc-manual-contextcmds.qdoc | 16 ---------------- src/qdoc/doc/qdoc-manual-intro.qdoc | 1 - src/qdoc/doc/qdoc-manual-markupcmds.qdoc | 10 ---------- src/qdoc/doc/qdoc-manual-qdocconf.qdoc | 9 --------- src/qdoc/doc/qdoc-manual-topiccmds.qdoc | 1 - 9 files changed, 3 insertions(+), 44 deletions(-) diff --git a/src/qdoc/cppcodeparser.cpp b/src/qdoc/cppcodeparser.cpp index dec081c22..647631c27 100644 --- a/src/qdoc/cppcodeparser.cpp +++ b/src/qdoc/cppcodeparser.cpp @@ -33,8 +33,9 @@ #include "cppcodeparser.h" #include "config.h" -#include "qdocdatabase.h" #include "generator.h" +#include "loggingcategory.h" +#include "qdocdatabase.h" #include #include @@ -559,6 +560,7 @@ void CppCodeParser::processMetaCommand(const Doc &doc, const QString &command, } } } else if (command == COMMAND_CONTENTSPAGE) { + qCWarning(lcQdoc, "(qdoc) The \\contentspage command is obsolete and should not be used."); setLink(node, Node::ContentsLink, arg); } else if (command == COMMAND_NEXTPAGE) { setLink(node, Node::NextLink, arg); diff --git a/src/qdoc/doc/files/basicqt.qdoc.sample b/src/qdoc/doc/files/basicqt.qdoc.sample index ce8df096f..1243387b2 100644 --- a/src/qdoc/doc/files/basicqt.qdoc.sample +++ b/src/qdoc/doc/files/basicqt.qdoc.sample @@ -1,6 +1,5 @@ /*! \page basicqt.html - \contentspage {Basic Qt} {Contents} \nextpage Getting Started \indexpage Index @@ -24,7 +23,6 @@ /*! \page gettingstarted.html \previouspage Basic Qt - \contentspage {Basic Qt} {Contents} \nextpage Creating Dialogs \indexpage Index @@ -40,7 +38,6 @@ / *! \page creatingdialogs.html \previouspage Getting Started - \contentspage {Basic Qt} {Contents} \indexpage Index \startpage Basic Qt diff --git a/src/qdoc/doc/qa-pages.qdoc b/src/qdoc/doc/qa-pages.qdoc index c69b1cdc6..1e3ca19f4 100644 --- a/src/qdoc/doc/qa-pages.qdoc +++ b/src/qdoc/doc/qa-pages.qdoc @@ -28,7 +28,6 @@ /*! \page 28-qdoc-qa-pages.html \previouspage The QDoc Configuration File - \contentspage QDoc Manual \nextpage QDoc Manual \title QA Pages diff --git a/src/qdoc/doc/qdoc-manual-cmdindex.qdoc b/src/qdoc/doc/qdoc-manual-cmdindex.qdoc index 672c2e409..77a3266fb 100644 --- a/src/qdoc/doc/qdoc-manual-cmdindex.qdoc +++ b/src/qdoc/doc/qdoc-manual-cmdindex.qdoc @@ -28,7 +28,6 @@ /*! \page 27-qdoc-commands-alphabetical.html \previouspage Introduction to QDoc - \contentspage QDoc Manual \nextpage Topic Commands \title Command Index @@ -49,7 +48,6 @@ \li \l {class-command} {\\class} \li \l {code-command} {\\code} \li \l {codeline-command} {\\codeline} - \li \l {contentspage-command} {\\contentspage} \li \l {default-command} {\\default} \li \l {div-command} {\\div} \li \l {dots-command} {\\dots} diff --git a/src/qdoc/doc/qdoc-manual-contextcmds.qdoc b/src/qdoc/doc/qdoc-manual-contextcmds.qdoc index f020035d3..3d69e76a6 100644 --- a/src/qdoc/doc/qdoc-manual-contextcmds.qdoc +++ b/src/qdoc/doc/qdoc-manual-contextcmds.qdoc @@ -28,7 +28,6 @@ /*! \page 14-qdoc-commands-contextcommands.html \previouspage Topic Commands - \contentspage QDoc Manual \nextpage Document Navigation \title Context Commands @@ -47,7 +46,6 @@ \list \li \l {abstract-command} {\\abstract} - \li \l {contentspage-command}{\\contentspage}, \li \l {ingroup-command}{\\ingroup}, \li \l {inherits-command}{\\inherits}, \li \l {inmodule-command}{\\inmodule}, @@ -74,7 +72,6 @@ /*! \page 15-qdoc-commands-navigation.html \previouspage Context Commands - \contentspage QDoc Manual \nextpage Status \title Document Navigation @@ -169,20 +166,11 @@ documentation. The generated link type tells browsers and search engines which document is considered by the author to be the starting point of the collection. - - \target contentspage-command - \section2 \\contentspage - - The \\contentspage command links the current page to a table of - contents page. The command follows the same syntax and argument - convention as the \l {previouspage-command} {\\previouspage} - command. */ /*! \page 16-qdoc-commands-status.html \previouspage Document Navigation - \contentspage QDoc Manual \nextpage Thread Support \title Status @@ -441,7 +429,6 @@ /*! \page 17-qdoc-commands-thread.html \previouspage Status - \contentspage QDoc Manual \nextpage Relating Things \title Thread Support @@ -621,7 +608,6 @@ /*! \page 18-qdoc-commands-relating.html \previouspage Thread Support - \contentspage QDoc Manual \nextpage Grouping Things \title Relating Things @@ -808,7 +794,6 @@ /*! \page 19-qdoc-commands-grouping.html \previouspage Relating Things - \contentspage QDoc Manual \nextpage Naming Things \title Grouping Things @@ -890,7 +875,6 @@ /*! \page 20-qdoc-commands-namingthings.html \previouspage Grouping Things - \contentspage QDoc Manual \nextpage Markup Commands \title Naming Things diff --git a/src/qdoc/doc/qdoc-manual-intro.qdoc b/src/qdoc/doc/qdoc-manual-intro.qdoc index 7ea3f1e36..a943863a6 100644 --- a/src/qdoc/doc/qdoc-manual-intro.qdoc +++ b/src/qdoc/doc/qdoc-manual-intro.qdoc @@ -27,7 +27,6 @@ /*! \page 01-qdoc-manual.html - \contentspage QDoc Manual \previouspage QDoc Manual \nextpage Command Index diff --git a/src/qdoc/doc/qdoc-manual-markupcmds.qdoc b/src/qdoc/doc/qdoc-manual-markupcmds.qdoc index 386501cd3..6fc16c9e1 100644 --- a/src/qdoc/doc/qdoc-manual-markupcmds.qdoc +++ b/src/qdoc/doc/qdoc-manual-markupcmds.qdoc @@ -27,7 +27,6 @@ /*! \page 03-qdoc-commands-markup.html - \contentspage QDoc Manual \previouspage Naming Things \nextpage Text Markup @@ -109,7 +108,6 @@ /*! \page 04-qdoc-commands-textmarkup.html - \contentspage QDoc Manual \previouspage Markup Commands \nextpage Document Structure @@ -659,7 +657,6 @@ /*! \page 05-qdoc-commands-documentstructure.html \previouspage Text Markup - \contentspage QDoc Manual \nextpage Including Code Inline \title Document Structure @@ -858,7 +855,6 @@ /*! \page 06-qdoc-commands-includecodeinline.html \previouspage Document Structure - \contentspage QDoc Manual \nextpage Including External Code \title Including Code Inline @@ -1091,7 +1087,6 @@ /*! \page 07-0-qdoc-commands-includingexternalcode.html \previouspage Including Code Inline - \contentspage QDoc Manual \nextpage Creating Links \title Including External Code @@ -1722,7 +1717,6 @@ /*! \page 08-qdoc-commands-creatinglinks.html \previouspage Including External Code - \contentspage QDoc Manual \nextpage Including Images \title Creating Links @@ -2119,7 +2113,6 @@ /*! \page 09-qdoc-commands-includingimages.html \previouspage Creating Links - \contentspage QDoc Manual \nextpage Tables and Lists \title Including Images @@ -2316,7 +2309,6 @@ /*! \page 10-qdoc-commands-tablesandlists.html \previouspage Including Images - \contentspage QDoc Manual \nextpage Special Content \title Tables and Lists @@ -2857,7 +2849,6 @@ /*! \page 11-qdoc-commands-specialcontent.html \previouspage Tables and Lists - \contentspage QDoc Manual \nextpage Miscellaneous \title Special Content @@ -3292,7 +3283,6 @@ /*! \page 12-0-qdoc-commands-miscellaneous.html \previouspage Special Content - \contentspage QDoc Manual \nextpage The QDoc Configuration File \title Miscellaneous diff --git a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc index 62ac13c28..d15fd5515 100644 --- a/src/qdoc/doc/qdoc-manual-qdocconf.qdoc +++ b/src/qdoc/doc/qdoc-manual-qdocconf.qdoc @@ -28,7 +28,6 @@ /*! \page 21-0-qdoc-configuration.html \previouspage Miscellaneous - \contentspage QDoc Manual \nextpage Generic Configuration Variables \title The QDoc Configuration File @@ -151,7 +150,6 @@ /*! \page 22-qdoc-configuration-generalvariables.html \previouspage The QDoc Configuration File - \contentspage QDoc Manual \nextpage Creating Help Project Files \title Generic Configuration Variables @@ -1317,7 +1315,6 @@ /*! \page 22-creating-help-project-files.html \previouspage Generic Configuration Variables - \contentspage QDoc Manual \nextpage C++ Specific Configuration Variables \title Creating Help Project Files @@ -1451,7 +1448,6 @@ /*! \page 23-qdoc-configuration-cppvariables.html \previouspage Creating Help Project Files - \contentspage QDoc Manual \nextpage Format-specific Configuration Variables \title C++ Specific Configuration Variables @@ -1562,7 +1558,6 @@ /*! \page 24-qdoc-configuration-htmlvariables.html \previouspage C++ Specific Configuration Variables - \contentspage QDoc Manual \nextpage Supporting Derived Projects \keyword HTML Specific Configuration Variables @@ -1713,7 +1708,6 @@ /*! \page 25-qdoc-configuration-derivedprojects.html \previouspage Format-specific Configuration Variables - \contentspage QDoc Manual \nextpage Example Manifest Files \title Supporting Derived Projects @@ -1871,7 +1865,6 @@ /*! \page 26-qdoc-configuration-example-manifest-files.html \previouspage Supporting Derived Projects - \contentspage QDoc Manual \title Example Manifest Files @@ -1953,7 +1946,6 @@ /*! \page 21-1-minimum-qdocconf.html \previouspage qtgui.qdocconf - \contentspage QDoc Manual \nextpage The QDoc Configuration File \title minimum.qdocconf @@ -1964,7 +1956,6 @@ /*! \page 21-2-qtgui-qdocconf.html \previouspage Supporting Derived Projects - \contentspage QDoc Manual \nextpage minimum.qdocconf \title qtgui.qdocconf diff --git a/src/qdoc/doc/qdoc-manual-topiccmds.qdoc b/src/qdoc/doc/qdoc-manual-topiccmds.qdoc index cdd0c9aeb..e7405e442 100644 --- a/src/qdoc/doc/qdoc-manual-topiccmds.qdoc +++ b/src/qdoc/doc/qdoc-manual-topiccmds.qdoc @@ -28,7 +28,6 @@ /*! \page 13-qdoc-commands-topics.html \previouspage Command Index - \contentspage QDoc Manual \nextpage Context Commands \title Topic Commands -- cgit v1.2.3 From 04835f562c6d10f35f92afb19564f9612fd2b6cd Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Wed, 11 Mar 2020 12:16:51 +0100 Subject: QDoc: Remove \contentspage code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The \contentspage command has been unused since Qt 5.3, and the documentation was removed in 5.15. Remove the related code. [ChangeLog][qdoc] - The \contentspage command is removed. Fixes: QTBUG-75170 Change-Id: I47c7e5c35154ed0d16f7a4584015b4a338735bbe Reviewed-by: Topi Reiniö --- src/qdoc/codeparser.h | 1 - src/qdoc/cppcodeparser.cpp | 5 +---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/qdoc/codeparser.h b/src/qdoc/codeparser.h index 7ae34df1d..163a2c226 100644 --- a/src/qdoc/codeparser.h +++ b/src/qdoc/codeparser.h @@ -93,7 +93,6 @@ private: #define COMMAND_CATEGORY Doc::alias(QLatin1String("category")) #define COMMAND_CLASS Doc::alias(QLatin1String("class")) #define COMMAND_COMPONENT Doc::alias(QLatin1String("component")) -#define COMMAND_CONTENTSPAGE Doc::alias(QLatin1String("contentspage")) #define COMMAND_COPYRHOLDER Doc::alias(QLatin1String("copyrholder")) #define COMMAND_COPYRYEAR Doc::alias(QLatin1String("copyryear")) #define COMMAND_DEPRECATED Doc::alias(QLatin1String("deprecated")) // ### don't document diff --git a/src/qdoc/cppcodeparser.cpp b/src/qdoc/cppcodeparser.cpp index 647631c27..daf09023f 100644 --- a/src/qdoc/cppcodeparser.cpp +++ b/src/qdoc/cppcodeparser.cpp @@ -80,7 +80,7 @@ CppCodeParser::CppCodeParser() } if (metaCommands_.isEmpty()) { metaCommands_ = commonMetaCommands(); - metaCommands_ << COMMAND_CONTENTSPAGE << COMMAND_INHEADERFILE << COMMAND_NEXTPAGE + metaCommands_ << COMMAND_INHEADERFILE << COMMAND_NEXTPAGE << COMMAND_OVERLOAD << COMMAND_PREVIOUSPAGE << COMMAND_QMLINSTANTIATES << COMMAND_REIMP << COMMAND_RELATES; } @@ -559,9 +559,6 @@ void CppCodeParser::processMetaCommand(const Doc &doc, const QString &command, } } } - } else if (command == COMMAND_CONTENTSPAGE) { - qCWarning(lcQdoc, "(qdoc) The \\contentspage command is obsolete and should not be used."); - setLink(node, Node::ContentsLink, arg); } else if (command == COMMAND_NEXTPAGE) { setLink(node, Node::NextLink, arg); } else if (command == COMMAND_PREVIOUSPAGE) { -- cgit v1.2.3 From 64221433d7a82955b111e20178c9527cb0373914 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Tue, 17 Mar 2020 12:56:16 +0100 Subject: Update dependencies on 'dev' in qt/qttools Change-Id: Ibfab5feee4f62201d0ab4ec12a3ecfaca92466f7 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 547201620..80b72e413 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: af00402d6446c0f8f085a2a482fc83c4318aa457 + ref: 3a5342163aced5ed1574e42d375eefc963c24ad0 required: true ../qtdeclarative: - ref: b1fc5666de5a52b6922e7518ba46f41ca3bdfb90 + ref: db554e8e1c3242634d035ebb3dcbe3c441d80bdc required: false -- cgit v1.2.3