ZTextOption

class Tui::ZTextOption

This class is copyable. It does define comparison operators for equality.

This class contains options for use with Tui::ZTextLayout.

Enums

using Flags = QFlags<Tui::ZTextOption::Flag>
enum Flag
enumerator ShowTabsAndSpaces

Display tabs and spaces using characters and · respectivly.

Additionally the application can select a text style different from normal text to display these characters.

enumerator ShowTabsAndSpacesWithColors

Display tabs and trailing spaces using special colors.

The choice of colors is done either by setting fixed colors in ZTextOption for these or by setting color mapping functions that return the used color based on the text style of the normal text.

enum TabType
enumerator LeftTab

Left aligned tab.

The text follows the tab stop position.

enum WrapMode
enumerator NoWrap

Do not wrap lines.

enumerator WordWrap

Wrap lines between words.

enumerator WrapAnywhere

Wrap lines anywhere, even breaking words apart.

Types

class Tab

Describes a tab stop.

Tab(int pos, Tui::ZTextOption::TabType tabType)

Sets the position of the tab stop to pos and the type of the tab stop to tabType.

int position = 0

The position of the tab stop in cells.

Tui::ZTextOption::TabType type = LeftTab

The type of the tab stop.

Currently only left aligned tabs are supported.

Functions

Tui::ZTextOption::Flags flags() const
void setFlags(Tui::ZTextOption::Flags flags)

See Tui::ZTextOption::Flags for possible flag values.

int tabStopDistance() const
void setTabStopDistance(int tabStopDistance)

Definies tab positions beyond tabs explicitly specified using setTabs or setTabArray.

Tab stops definied by this are only active after the last individually placed tab stop and are in columns i * tabStopDistance (for i > 0).

Values of tabStopDistance less than 1 are invalid and replaced by the value 1.

Defaults to 8.

QList<Tui::ZTextOption::Tab> tabs() const
void setTabs(const QList<Tui::ZTextOption::Tab> &tabStops)

Set explicit tab stops tabStops.

On return the tab stops are always sorted.

QList<int> tabArray() const
void setTabArray(const QList<int> &tabStops)

Set explicit left aligned tab stops at the columns in tabStops.

On return the tab stops are always sorted.

WrapMode wrapMode() const
void setWrapMode(WrapMode mode)

Selects which line wrapping mode is used.

See Tui::ZTextOption::WrapMode for possible values.

void setTrailingWhitespaceColor(std::function<Tui::ZTextStyle(const Tui::ZTextStyle &baseStyle, const Tui::ZTextStyle &formatingChars, const Tui::ZFormatRange*)> colorMapper)

Sets the function used in mapTrailingWhitespaceColor

Tui::ZTextStyle mapTrailingWhitespaceColor(const Tui::ZTextStyle &baseStyle, const Tui::ZTextStyle &formatingChars, const Tui::ZFormatRange *range) const

Apply the mapping function set by setTrailingWhitespaceColor.

If the mapping function was not yet set returns range ? range->format() : formatingChars.

void setTabColor(std::function<Tui::ZTextStyle(int pos, int size, int hidden, const Tui::ZTextStyle &baseStyle, const Tui::ZTextStyle &formatingChars, const Tui::ZFormatRange*)> colorMapper)

Sets the function used in mapTabColor

Tui::ZTextStyle mapTabColor(int pos, int size, int hidden, const Tui::ZTextStyle &baseStyle, const Tui::ZTextStyle &formatingChars, const Tui::ZFormatRange *range) const

Apply the mapping function set by setTabColor.

If the mapping function was not yet set returns range ? range->format() : formatingChars.