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
 
JKQTMathTextNodegetParentNode ()
 parent node of this node (i.e. one level up, ode nullptr )
 
const JKQTMathTextNodegetParentNode () 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}
 
JKQTMathTextNodeoperator= (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
 
JKQTMathTextparentMathText
 parent JKQTMathText object (required for several drawing operations
 
JKQTMathTextNodeparentNode
 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: