KI18n 5.109.0
kuitsetup.h
1/* This file is part of the KDE libraries
2 SPDX-FileCopyrightText: 2013 Chusslove Illich <caslav.ilic@gmx.net>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#ifndef KUITSETUP_H
8#define KUITSETUP_H
9
10#include <ki18n_export.h>
11
12#include <QHash>
13#include <QString>
14#include <QStringList>
15#include <memory>
16
17class KuitSetup;
18
22namespace Kuit
23{
48};
49
62};
63
75typedef QString (*TagFormatter)(const QStringList &languages,
76 const QString &tagName,
77 const QHash<QString, QString> &attributes,
78 const QString &text,
79 const QStringList &tagPath,
80 Kuit::VisualFormat format);
81
88KI18N_EXPORT KuitSetup &setupForDomain(const char *domain); // KF6 TODO: remove, the QByteArray overload is enough
89
90KI18N_EXPORT KuitSetup &setupForDomain(const QByteArray &domain);
91}
92
94class KuitSetupPrivate;
95class KuitFormatterPrivate;
96
104class KI18N_EXPORT KuitSetup
105{
106 friend KuitSetup &Kuit::setupForDomain(const QByteArray &domain);
107 friend class KuitFormatterPrivate;
108
109public:
114
145 void setTagPattern(const QString &tagName,
146 const QStringList &attribNames,
147 Kuit::VisualFormat format,
148 const KLocalizedString &pattern,
149 Kuit::TagFormatter formatter = nullptr,
150 int leadingNewlines = 0);
151
158 void setTagClass(const QString &tagName, Kuit::TagClass aClass);
159
178 void setFormatForMarker(const QString &marker, Kuit::VisualFormat format);
179
180private:
181 KI18N_NO_EXPORT explicit KuitSetup(const QByteArray &domain);
182 Q_DISABLE_COPY(KuitSetup)
183
184 std::unique_ptr<KuitSetupPrivate> const d;
185};
186
187#endif // KUITSETUP_H
Class for producing and handling localized messages.
Definition klocalizedstring.h:99
Class for modifying KUIT markup in a given domain.
Definition kuitsetup.h:105
~KuitSetup()
Destructor.
void setTagPattern(const QString &tagName, const QStringList &attribNames, Kuit::VisualFormat format, const KLocalizedString &pattern, Kuit::TagFormatter formatter=nullptr, int leadingNewlines=0)
Set the formatting string for a tag with attributes combination.
void setFormatForMarker(const QString &marker, Kuit::VisualFormat format)
Set the default visual format for a given UI marker.
void setTagClass(const QString &tagName, Kuit::TagClass aClass)
Set the KUIT class of the tag.
Global constants and functions related to KUIT markup.
Definition kuitsetup.h:23
TagClass
Classification of KUIT tags.
Definition kuitsetup.h:53
@ StructTag
Tags splitting text into paragraph-level blocks.
Definition kuitsetup.h:61
@ PhraseTag
Tags wrapping text inserted into running text.
Definition kuitsetup.h:57
KuitSetup & setupForDomain(const char *domain)
Get hold of the KUIT setup object for a given domain.
QString(* TagFormatter)(const QStringList &languages, const QString &tagName, const QHash< QString, QString > &attributes, const QString &text, const QStringList &tagPath, Kuit::VisualFormat format)
Functions accepted by tag formatting functions.
Definition kuitsetup.h:75
VisualFormat
Visual formats into which KUIT markup can be resolved.
Definition kuitsetup.h:27
@ TermText
Terminal escape sequences.
Definition kuitsetup.h:47
@ UndefinedFormat
Visual format not defined.
Definition kuitsetup.h:35
@ RichText
Qt rich text (HTML subset).
Definition kuitsetup.h:43
@ PlainText
Plain text.
Definition kuitsetup.h:39