24#ifndef JKQTMATHTEXTVERTCALLISTNODE_H
25#define JKQTMATHTEXTVERTCALLISTNODE_H
26#include "jkqtmathtext/jkqtmathtext_imexport.h"
27#include "jkqtmathtext/jkqtmathtexttools.h"
28#include "jkqtmathtext/nodes/jkqtmathtextnode.h"
30#include <QFontMetricsF>
this class parses a mathematical markup string and can then draw the contained text/equation onto a Q...
Definition jkqtmathtext.h:192
subclass representing a node in the syntax tree, that has two children
Definition jkqtmathtextnode.h:202
subclass representing one node in the syntax tree
Definition jkqtmathtextnode.h:37
subclass representing a list of nodes in the syntax tree, layed out vertically
Definition jkqtmathtextverticallistnode.h:50
JKQTMathTextVerticalOrientation verticalOrientation
vertical orientation of the baseline of the whole block (with respect to the single lines)
Definition jkqtmathtextverticallistnode.h:128
virtual const JKQTMathTextNode * getChild(int i) const override
returns the i-th child node
void setAlignment(JKQTMathTextHorizontalAlignment value)
alignment scheme used to lay out all lines
JKQTMathTextVerticalListNode(JKQTMathText *parent, JKQTMathTextHorizontalAlignment _alignment=MTHACentered, double _linespacingFactor=1.0, JKQTMathTextLineSpacingMode spacingMode_=MTSMDefaultSpacing, JKQTMathTextVerticalOrientation _verticalOrientation=MTVOFirstLine)
JKQTMathTextVerticalOrientation getVerticalOrientation() const
vertical orientation of the baseline of the whole block (with respect to the single lines)
void setLineSpacingFactor(double value)
spacing of the separate lines, as factor of the default line-spacing [Default: 1].
virtual JKQTMathTextNode * getChild(int i) override
returns the i-th child node
void setSpacingMode(JKQTMathTextLineSpacingMode value)
defines how the layout algorithm (see calcLayout() ) lays out the single lines
void clearChildrenImpl(bool deleteChildren)
internal implementation of clearChildren() that is non-virtual, so can be used in the destructor
JKQTMathTextLineSpacingMode spacingMode
defines how the layout algorithm (see calcLayout() ) lays out the single lines
Definition jkqtmathtextverticallistnode.h:130
virtual QString getTypeName() const override
return the name of this class as a string
QList< JKQTMathTextNode * > nodes
list of child nodes, each representing one line
Definition jkqtmathtextverticallistnode.h:111
virtual JKQTMathTextNodeSize getSizeInternal(QPainter &painter, JKQTMathTextEnvironment currentEv) const override
determine the size of the node, overwrite this function in derived classes
JKQTMathTextHorizontalAlignment alignment
alignment scheme used to lay out all lines
Definition jkqtmathtextverticallistnode.h:116
double getLineSpacingFactor() const
spacing of the separate lines, as factor of the default line-spacing [Default: 1].
virtual double draw(QPainter &painter, double x, double y, JKQTMathTextEnvironment currentEv) const override
draw the contents at the designated position
virtual void deleteChild(int i) override
delete the i-th child
JKQTMathTextLineSpacingMode getSpacingMode() const
defines how the layout algorithm (see calcLayout() ) lays out the single lines
double lineSpacingFactor
spacing of the separate lines, as factor of the default line-spacing [Default: 1].
Definition jkqtmathtextverticallistnode.h:123
virtual ~JKQTMathTextVerticalListNode() override
void addChild(JKQTMathTextNode *n)
add a child node
virtual void clearChildren(bool deleteChildren=true) override
clear all children, deleting them if deleteChildren==true
LayoutInfo calcLayout(QPainter &painter, JKQTMathTextEnvironment currentEv) const
calclates the layout of the whole block/node
void setVerticalOrientation(JKQTMathTextVerticalOrientation value)
vertical orientation of the baseline of the whole block (with respect to the single lines)
JKQTMathTextHorizontalAlignment getAlignment() const
alignment scheme used to lay out all lines
virtual JKQTMathTextNode * replaceChild(int i, JKQTMathTextNode *newChild) override
returns the i-th child node
virtual bool toHtml(QString &html, JKQTMathTextEnvironment currentEv, JKQTMathTextEnvironment defaultEv) const override
convert node to HTML and returns true on success
virtual QList< JKQTMathTextNode * > getChildren() override
returns a list of all child node
virtual int childCount() const override
returns the number of child nodes
#define JKQTMATHTEXT_LIB_EXPORT
Definition jkqtmathtext_imexport.h:108
JKQTMathTextVerticalOrientation
type of ffractions represented by JKQTMathTextFracNode
Definition jkqtmathtexttools.h:682
JKQTMathTextHorizontalAlignment
types of horizontal alignment
Definition jkqtmathtexttools.h:661
@ MTVOFirstLine
baseline of the whole block is at the baseline of the first line
Definition jkqtmathtexttools.h:684
@ MTHACentered
align centered
Definition jkqtmathtexttools.h:663
describes the current drawing environment (base fontname ...)
Definition jkqtmathtexttools.h:304
beschreibt die Größe(n) eines Knotens
Definition jkqtmathtexttools.h:393
describes the layout of the whole node
Definition jkqtmathtextverticallistnode.h:98
QList< QPointF > X
drawing position for each line
Definition jkqtmathtextverticallistnode.h:105
LayoutInfo(const JKQTMathTextNodeSize &other)
LayoutInfo(const LayoutInfo &other)
LayoutInfo & operator=(const JKQTMathTextNodeSize &other)
LayoutInfo & operator=(const LayoutInfo &other)