Engauge Digitizer
2
Toggle main menu visibility
Loading...
Searching...
No Matches
util
Xml.cpp
Go to the documentation of this file.
1
/******************************************************************************************************
2
* (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3
* under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4
* LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5
******************************************************************************************************/
6
7
#include "
Logger.h
"
8
#include <QFileDevice>
9
#include <QMessageBox>
10
#include <QObject>
11
#include "
QtToString.h
"
12
#include "
Xml.h
"
13
14
QXmlStreamReader::TokenType
loadNextFromReader
(QXmlStreamReader &reader)
15
{
16
QXmlStreamReader::TokenType tokenType = reader.readNext();
17
18
qCDebug(ENGAUGE_LOG) <<
"loadNextFromReader "
19
<<
" tokenType="
<<
QXmlStreamReaderTokenTypeToString
(tokenType).toLatin1().data()
20
<<
" tag="
<< reader.name().toLatin1().data();
21
22
return
tokenType;
23
}
24
25
void
xmlExitWithError
(QXmlStreamReader &reader,
26
const
QString &message)
27
{
28
// Try to extract as much useful context as possible
29
QString context;
30
QFileDevice *fileDevice =
dynamic_cast<
QFileDevice*
>
(reader.device());
31
if
(fileDevice ==
nullptr
) {
32
33
context = QString (
"%1 %2: "
)
34
.arg (QObject::tr (
"Start at line"
))
35
.arg (reader.lineNumber());
36
37
}
else
{
38
39
context = QString (
"%1 %2 %3 %4: "
)
40
.arg (QObject::tr (
"File"
))
41
.arg (fileDevice->fileName())
42
.arg (QObject::tr (
"at line"
))
43
.arg (reader.lineNumber());
44
45
}
46
47
// Context plus original message gets displayed
48
QString adornedMsg = QString (
"%1%2. %3"
)
49
.arg (context)
50
.arg (message)
51
.arg (QObject::tr (
"Quitting"
));
52
53
QMessageBox::critical (
nullptr
,
54
QObject::tr (
"Error reading xml"
),
55
adornedMsg);
56
57
qCCritical(ENGAUGE_LOG) <<
"xmlExitWithError error='"
<< adornedMsg.toLatin1().data() <<
"'"
;
58
59
exit (-1);
60
}
Logger.h
QXmlStreamReaderTokenTypeToString
QString QXmlStreamReaderTokenTypeToString(QXmlStreamReader::TokenType tokenType)
Definition
QtToString.cpp:89
QtToString.h
loadNextFromReader
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
Definition
Xml.cpp:14
xmlExitWithError
void xmlExitWithError(QXmlStreamReader &reader, const QString &message)
Show specified message for an error while reading xml, then quit.
Definition
Xml.cpp:25
Xml.h
Generated on
for Engauge Digitizer by
1.17.0