Engauge Digitizer 2
Loading...
Searching...
No Matches
Functions
Xml.cpp File Reference
#include "Logger.h"
#include <QFileDevice>
#include <QMessageBox>
#include <QObject>
#include "QtToString.h"
#include "Xml.h"
Include dependency graph for Xml.cpp:

Go to the source code of this file.

Functions

QXmlStreamReader::TokenType loadNextFromReader (QXmlStreamReader &reader)
 Load next token from xml reader.
 
void xmlExitWithError (QXmlStreamReader &reader, const QString &message)
 Show specified message for an error while reading xml, then quit.
 

Function Documentation

◆ loadNextFromReader()

QXmlStreamReader::TokenType loadNextFromReader ( QXmlStreamReader & reader)

Load next token from xml reader.

Definition at line 14 of file Xml.cpp.

15{
16 QXmlStreamReader::TokenType tokenType = reader.readNext();
17
18 LOG4CPP_DEBUG_S ((*mainCat)) << "loadNextFromReader "
19 << " tokenType=" << QXmlStreamReaderTokenTypeToString (tokenType).toLatin1().data()
20 << " tag=" << reader.name().toLatin1().data();
21
22 return tokenType;
23}
const int INNER_RADIUS_MIN
log4cpp::Category * mainCat
Definition Logger.cpp:14
QString QXmlStreamReaderTokenTypeToString(QXmlStreamReader::TokenType tokenType)
#define LOG4CPP_DEBUG_S(logger)
Definition convenience.h:20

◆ xmlExitWithError()

void xmlExitWithError ( QXmlStreamReader & reader,
const QString & message )

Show specified message for an error while reading xml, then quit.

The reader will provide filename (if available) and line number

Definition at line 25 of file Xml.cpp.

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"),
56
57 LOG4CPP_ERROR_S ((*mainCat)) << "xmlExitWithError error='" << adornedMsg.toLatin1().data() << "'";
58
59 exit (-1);
60}
#define LOG4CPP_ERROR_S(logger)
Definition convenience.h:12