Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qqmldomindentinglinewriter_p.h
Go to the documentation of this file.
1
// Copyright (C) 2022 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#
ifndef
QQMLDOMINDENTIGLINEWRITER_P
5
#
define
QQMLDOMINDENTIGLINEWRITER_P
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#
include
"qqmldom_global.h"
19
#
include
"qqmldomcodeformatter_p.h"
20
#
include
"qqmldomlinewriter_p.h"
21
22
#
include
<
QtQml
/
private
/
qqmljssourcelocation_p
.
h
>
23
#
include
<
QtCore
/
QAtomicInt
>
24
#
include
<
functional
>
25
26
QT_BEGIN_NAMESPACE
27
namespace
QQmlJS
{
28
namespace
Dom
{
29
30
QMLDOM_EXPORT
class
IndentingLineWriter
:
public
LineWriter
31
{
32
Q_GADGET
33
public
:
34
IndentingLineWriter
(
const
SinkF
&
innerSink
,
const
QString
&
fileName
,
35
const
LineWriterOptions
&
options
=
LineWriterOptions
(),
36
const
FormatTextStatus
&
initialStatus
=
FormatTextStatus
::
initialStatus
(),
37
int
lineNr
= 0,
int
columnNr
= 0,
int
utf16Offset
= 0,
38
QString
currentLine
=
QString
())
39
:
LineWriter
(
innerSink
,
fileName
,
options
,
lineNr
,
columnNr
,
utf16Offset
,
currentLine
),
40
m_preCachedStatus
(
initialStatus
)
41
{
42
}
43
void
reindentAndSplit
(
const
QString
&
eol
,
bool
eof
=
false
)
override
;
44
void
handleTrailingSpace
();
45
FormatPartialStatus
&
fStatus
();
46
47
void
lineChanged
()
override
{
m_fStatusValid
=
false
; }
48
void
willCommit
()
override
;
49
bool
reindent
()
const
{
return
m_reindent; }
50
void
setReindent
(
bool
v) { m_reindent = v; }
51
52
void
splitOnMaxLength
(
const
QString &eol,
bool
eof);
53
54
private
:
55
Q_DISABLE_COPY_MOVE
(
IndentingLineWriter
)
56
int
findSplitLocation(
const
QList<Token> &tokens,
int
minSplitLength);
57
protected
:
58
FormatTextStatus
m_preCachedStatus
;
59
bool
m_fStatusValid
=
false
;
60
FormatPartialStatus
m_fStatus
;
61
};
62
63
}
// namespace Dom
64
}
// namespace QQmlJS
65
QT_END_NAMESPACE
66
#
endif
QQmlJS::Dom::FormatPartialStatus
Definition
qqmldomcodeformatter_p.h:210
QQmlJS::Dom::FormatPartialStatus::indentLine
int indentLine()
Definition
qqmldomcodeformatter.cpp:1220
QQmlJS::Dom::FormatTextStatus
Definition
qqmldomcodeformatter_p.h:35
QQmlJS::Dom::IndentingLineWriter
Definition
qqmldomindentinglinewriter_p.h:31
QQmlJS::Dom::IndentingLineWriter::fStatus
FormatPartialStatus & fStatus()
Definition
qqmldomindentinglinewriter.cpp:31
QQmlJS::Dom::IndentingLineWriter::m_fStatusValid
bool m_fStatusValid
Definition
qqmldomindentinglinewriter_p.h:59
QQmlJS::Dom::IndentingLineWriter::m_fStatus
FormatPartialStatus m_fStatus
Definition
qqmldomindentinglinewriter_p.h:60
QQmlJS::Dom::IndentingLineWriter::reindent
bool reindent() const
Definition
qqmldomindentinglinewriter_p.h:49
QQmlJS::Dom::IndentingLineWriter::willCommit
void willCommit() override
Definition
qqmldomindentinglinewriter.cpp:40
QQmlJS::Dom::IndentingLineWriter::splitOnMaxLength
void splitOnMaxLength(const QString &eol, bool eof)
Definition
qqmldomindentinglinewriter.cpp:126
QQmlJS::Dom::IndentingLineWriter::setReindent
void setReindent(bool v)
Definition
qqmldomindentinglinewriter_p.h:50
QQmlJS::Dom::IndentingLineWriter::m_preCachedStatus
FormatTextStatus m_preCachedStatus
Definition
qqmldomindentinglinewriter_p.h:58
QQmlJS::Dom::IndentingLineWriter::handleTrailingSpace
void handleTrailingSpace()
Definition
qqmldomindentinglinewriter.cpp:63
QQmlJS::Dom::IndentingLineWriter::lineChanged
void lineChanged() override
Definition
qqmldomindentinglinewriter_p.h:47
QQmlJS::Dom::LineWriterOptions
Definition
qqmldomlinewriter_p.h:75
QQmlJS::Dom::LineWriterOptions::TrailingSpace
TrailingSpace
Definition
qqmldomlinewriter_p.h:80
QQmlJS::Dom::LineWriter
Definition
qqmldomlinewriter_p.h:112
QQmlJS::Dom::LineWriter::handleTrailingSpace
void handleTrailingSpace(LineWriterOptions::TrailingSpace s)
Definition
qqmldomlinewriter.cpp:231
QQmlJS::Dom::LineWriter::column
int column(int localIndex)
Definition
qqmldomlinewriter.cpp:265
QQmlJS::Dom::LineWriter::setLineIndent
void setLineIndent(int indentAmount)
Definition
qqmldomlinewriter.cpp:207
QQmlJS::Dom::Scanner
Definition
qqmldomscanner_p.h:77
QQmlJS::Dom::Token
Definition
qqmldomscanner_p.h:32
QQmlJS::Dom::Token::lexKindIsComment
static bool lexKindIsComment(int kind)
Definition
qqmldomscanner.cpp:256
QQmlJS::Dom
Definition
qqmljsimportvisitor_p.h:38
QQmlJS::Dom::shouldSplitAfterToken
static constexpr bool shouldSplitAfterToken(int kind)
Definition
qqmldomindentinglinewriter.cpp:15
QQmlJS
Definition
qv4bytecodegenerator_p.h:27
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
QMLDOM_EXPORT
#define QMLDOM_EXPORT
Definition
qqmldom_global.h:17
QQmlJS::Dom::Scanner::State
Definition
qqmldomscanner_p.h:80
QQmlJS::Dom::Scanner::State::isMultilineComment
bool isMultilineComment() const
Definition
qqmldomscanner.cpp:455
QQmlJS::Dom::Scanner::State::isMultiline
bool isMultiline() const
Definition
qqmldomscanner.cpp:440
qtdeclarative
src
qmldom
qqmldomindentinglinewriter_p.h
Generated on
for Qt by
1.18.0