Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
pythonwritedeclaration.cpp
Go to the documentation of this file.
1// Copyright (C) 2019 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3// Qt-Security score:insignificant reason:build-tool
4
6#include <cppwriteinitialization.h>
7#include <language.h>
8#include <driver.h>
9#include <ui4.h>
10#include <uic.h>
11
12#include <QtCore/qtextstream.h>
13#include <QtCore/qdebug.h>
14
16
17using namespace Qt::StringLiterals;
18
19namespace Python {
20
22 m_uic(uic),
23 m_driver(uic->driver()),
24 m_output(uic->output()),
25 m_option(uic->option())
26{
27}
28
29void WriteDeclaration::acceptUI(DomUI *node)
30{
31 // remove any left-over C++ namespaces
32 const QString qualifiedClassName = "Ui_"_L1 + node->elementClass()
33 + m_option.postfix;
34 m_output << "class " << language::fixClassName(qualifiedClassName) << "(object):\n";
35
36 TreeWalker::acceptWidget(node->elementWidget());
37 if (const DomButtonGroups *domButtonGroups = node->elementButtonGroups())
38 acceptButtonGroups(domButtonGroups);
40}
41
42// Register button groups to prevent the on-the-fly creation legacy
43// feature from triggering
44void WriteDeclaration::acceptButtonGroup(const DomButtonGroup *buttonGroup)
45{
46 m_driver->findOrInsertButtonGroup(buttonGroup);
47}
48
49} // namespace Python
50
51QT_END_NAMESPACE
QString findOrInsertButtonGroup(const DomButtonGroup *ui_group)
Definition driver.cpp:111
Definition uic.h:31
QTextStream & output()
Definition uic.h:42
const Option & option() const
Definition uic.h:45
Driver * driver() const
Definition uic.h:39
Combined button and popup list for selecting options.
QString fixClassName(QString className)
Definition language.cpp:106
void acceptUI(DomUI *node) override
void acceptUI(DomUI *node) override
void acceptButtonGroup(const DomButtonGroup *buttonGroup) override
virtual void acceptWidget(DomWidget *widget)
virtual void acceptButtonGroups(const DomButtonGroups *buttonGroups)