KuitSetup Class

Class for modifying KUIT markup in a given domain. More...

Header: #include <KuitSetup>
CMake: find_package(KF6 REQUIRED COMPONENTS I18n)
target_link_libraries(mytarget PRIVATE KF6::I18n)

Public Functions

void setFormatForMarker(const QString &marker, Kuit::VisualFormat format)
void setTagClass(const QString &tagName, Kuit::TagClass aClass)
void setTagPattern(const QString &tagName, const QStringList &attribNames, Kuit::VisualFormat format, const KLocalizedString &pattern, Kuit::TagFormatter formatter = nullptr, int leadingNewlines = 0)

Detailed Description

Not directly constructed, but obtained through Kuit::setupForDomain.

Member Function Documentation

void KuitSetup::setFormatForMarker(const QString &marker, Kuit::VisualFormat format)

Set the default visual format for a given UI marker.

Giving "@<major>" for marker means to set the format only for standalone @<major> marker, while "@<major>:" (with trailing colon) means to set the same format for all @<major>:<minor> combinations.

Defined UI marker major/minor combinations are listed in the section uimark_ctxt. If an UI marker combination outside of the defined is given as marker, it will be ignored.

Setting Kuit::UndefinedFormat as format means to fall back to default format for the given UI marker.

marker the UI marker

format the visual format

void KuitSetup::setTagClass(const QString &tagName, Kuit::TagClass aClass)

Set the KUIT class of the tag.

tagName the name of the tag

aClass the KUIT tag class

void KuitSetup::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.

If a new tag name is given, this effectively defines a new tag. The same holds for attribute names.

The pattern string pattern should contain placeholders for inserting the text and the attribute values. %1 will be replaced with the wrapped text, and %2 and upwards with attribute values in the order given by attribNames. Non markup-aware translation call with context (ki18nc) should be used to create the pattern string.

In addition to the pattern, a formatting function of the type TagFormatter can be given. This function receives the full markup parsing context, so that it can do whatever is necessary with the wrapped text. The result of this function is then substituted into the pattern. You can also give an empty pattern (as KLocalizedString()) together with the formatting function, in which case the function is assumed to do everything and no substitution is performed.

tagName the name of the tag

attribNames the names of the attributes (empty names are ignored)

format the target visual format

pattern the pattern string

leadingNewlines the number of new lines (\n) to be maintained between any preceding text and the text wrapped with this tag (for formats where it matters)