JKQTPlotter trunk/v5.0.0
an extensive Qt5+Qt6 Plotter framework (including a feature-richt plotter widget, a speed-optimized, but limited variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies
Loading...
Searching...
No Matches

base class for nodes representing text in the syntax tree More...

#include <jkqtmathtexttextnode.h>

Inheritance diagram for JKQTMathTextTextBaseNode:
[legend]
Collaboration diagram for JKQTMathTextTextBaseNode:
[legend]

Public Member Functions

 JKQTMathTextTextBaseNode (JKQTMathText *parent, const QString &text)
virtual ~JKQTMathTextTextBaseNode () override
QString getText () const
 text-contents of the node
virtual bool toHtml (QString &html, JKQTMathTextEnvironment currentEv, JKQTMathTextEnvironment defaultEv) const override
 convert node to HTML and returns true on success
Public Member Functions inherited from JKQTMathTextNode
 JKQTMathTextNode (const JKQTMathTextNode &)=delete
 JKQTMathTextNode (JKQTMathText *parentMathText)
virtual ~JKQTMathTextNode ()
virtual double draw (QPainter &painter, double x, double y, JKQTMathTextEnvironment currentEv) const =0
 draw the contents at the designated position
bool getDrawBoxes () const
 returns the drawing of colored boxes (for DEBUGGING) around the actual output of the node is enabled
JKQTMathTextNode * getParentNode ()
 parent node of this node (i.e. one level up, ode nullptr )
const JKQTMathTextNode * getParentNode () const
 parent node of this node (i.e. one level up, ode nullptr )
JKQTMathTextNodeSize getSize (QPainter &painter, JKQTMathTextEnvironment currentEv) const
 determine the size of the node, calls getSizeInternal() implementation of the actual type
virtual QString getTypeName () const
 return the name of this class as a string
bool isSubSuperscriptAboveBelowNode () const
 if true then following sub- and/or superscripts are placed below and above the node, not besides it. This is activated when \sum\limits_{sub}^{sup} is used in LaTeX instead of simply \sum_{sub}^{sup}
JKQTMathTextNode & operator= (const JKQTMathTextNode &)=delete
virtual void setDrawBoxes (bool draw)
 enables the drawing of colored boxes (for DEBUGGING) around the actual output of the node
void setParentNode (JKQTMathTextNode *node)
 parent node of this node (i.e. one level up, ode nullptr )
void setSubSuperscriptAboveBelowNode (bool __value)
 if true then following sub- and/or superscripts are placed below and above the node, not besides it. This is activated when \sum\limits_{sub}^{sup} is used in LaTeX instead of simply \sum_{sub}^{sup}

Protected Member Functions

virtual QString textTransform (const QString &text, const JKQTMathTextEnvironment &currentEv) const
 transforms the text before sizing/drawing (may e.g. exchange special letters for other unicode symbols etc.)
Protected Member Functions inherited from JKQTMathTextNode
void addToErrorList (const QString &error)
 adds a new error to the JKQTMathText referenced by parentMathText
void doDrawBoxes (QPainter &painter, double x, double y, const JKQTMathTextNodeSize &size) const
 draws colored boxes (for DEBUGGING) around the actual output of the node
void doDrawBoxes (QPainter &painter, double x, double y, JKQTMathTextEnvironment currentEv) const
 draws colored boxes (for DEBUGGING) around the actual output of the node
template<class T>
QList< T * > getParents ()
 returns the list of parent, parent-of-parent, ... that can be cast to type T
template<class T>
QList< const T * > getParents () const
 returns the list of parent, parent-of-parent, ... that can be cast to type T
virtual JKQTMathTextNodeSize getSizeInternal (QPainter &painter, JKQTMathTextEnvironment currentEv) const =0
 determine the size of the node, overwrite this function in derived classes

Protected Attributes

QString text
 text-contents of the node
Protected Attributes inherited from JKQTMathTextNode
bool drawBoxes
 enables the drawing of colored boxes (for DEBUGGING) around the actual output of the node
JKQTMathText * parentMathText
 parent JKQTMathText object (required for several drawing operations
JKQTMathTextNode * parentNode
 parent node of this node (i.e. one level up, ode nullptr )
bool subSuperscriptAboveBelowNode
 if true then following sub- and/or superscripts are placed below and above the node, not besides it. This is activated when \sum\limits_{sub}^{sup} is used in LaTeX instead of simply \sum_{sub}^{sup}

Additional Inherited Members

Static Public Member Functions inherited from JKQTMathTextNode
static double getNonItalicXCorretion (QPainter &painter, double width_potentiallyitalic, const JKQTMathTextEnvironment &ev_potentiallyitalic, const JKQTMathTextNode *child)
 calculates the x-size-difference between the given (probably) italic (width externally calculated: width_potentiallyitalic, ev_potentiallyitalic) and the non-italic version of child

Detailed Description

base class for nodes representing text in the syntax tree

This node is a collection of tools, necessary to draw text. It is the base for nodes, such as:

Constructor & Destructor Documentation

◆ JKQTMathTextTextBaseNode()

JKQTMathTextTextBaseNode::JKQTMathTextTextBaseNode ( JKQTMathText * parent,
const QString & text )
explicit

◆ ~JKQTMathTextTextBaseNode()

virtual JKQTMathTextTextBaseNode::~JKQTMathTextTextBaseNode ( )
overridevirtual

Member Function Documentation

◆ getText()

QString JKQTMathTextTextBaseNode::getText ( ) const

text-contents of the node

◆ textTransform()

virtual QString JKQTMathTextTextBaseNode::textTransform ( const QString & text,
const JKQTMathTextEnvironment & currentEv ) const
protectedvirtual

transforms the text before sizing/drawing (may e.g. exchange special letters for other unicode symbols etc.)

Reimplemented in JKQTMathTextTextNode, and JKQTMathTextVerbatimNode.

◆ toHtml()

virtual bool JKQTMathTextTextBaseNode::toHtml ( QString & html,
JKQTMathTextEnvironment currentEv,
JKQTMathTextEnvironment defaultEv ) const
overridevirtual

convert node to HTML and returns true on success

Parameters
[out]htmlnew HTML code is APPENDED to this string
currentEvJKQTMathTextEnvironment object describing the current drawing environment/settings
defaultEvJKQTMathTextEnvironment object describing the default drawing environment/settings when starting to interpret a node tree
Returns
true on success

Reimplemented from JKQTMathTextNode.

Reimplemented in JKQTMathTextVerbatimNode.

Member Data Documentation

◆ text

QString JKQTMathTextTextBaseNode::text
protected

text-contents of the node


The documentation for this class was generated from the following file: