Marble
5#include "TemplateDocument.h"
12#include "MarbleDebug.h"
17class TemplateDocumentPrivate
20 TemplateDocumentPrivate()
25 static void processTemplateIncludes(
QString &input);
28void TemplateDocumentPrivate::processTemplateIncludes(
QString &input)
30 QRegExp rx(
"%!\\{([^}]*)\\}%");
35 while ((pos = rx.indexIn(input, pos)) != -1) {
36 includes << rx.cap(1);
37 pos += rx.matchedLength();
40 for (
const QString &include: includes) {
45 mDebug() <<
"[WARNING] Can't process template include" << include;
50TemplateDocument::TemplateDocument() :
51 d(new TemplateDocumentPrivate)
55TemplateDocument::TemplateDocument(
const QString &templateText) :
56 d(new TemplateDocumentPrivate)
58 setTemplate(templateText);
61TemplateDocument::~TemplateDocument()
66void TemplateDocument::setTemplate(
const QString &newTemplateText)
68 d->templateText = newTemplateText;
73 return d->templateEntries[key];
78 d->templateEntries[key] = value;
83 return d->templateEntries[key];
86QString TemplateDocument::finalText()
const
88 QString ready = d->templateText;
90 ConstIterator end = d->templateEntries.constEnd();
91 for (ConstIterator i = d->templateEntries.constBegin(); i != end; i++) {
94 d->processTemplateIncludes(ready);
Binds a QML item to a specific geodetic location in screen coordinates.
QString & replace(QChar before, QChar after, Qt::CaseSensitivity cs)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:18:17 by
doxygen 1.10.0 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.