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
JKQTMathTextModifiedEnvironmentInstructionNode Class Reference

subclass representing an instruction node which modify the current JKQTMathTextEnvironment, in the current block. This implements functions like \bf or \color{COL} More...

#include <jkqtmathtextmodifyenvironmentnode.h>

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

Classes

struct  InstructionProperties
 defines the implementation of an instruction represented by JKQTMathTextModifiedTextPropsInstructionNode More...

Public Member Functions

 JKQTMathTextModifiedEnvironmentInstructionNode (JKQTMathText *parent_, const QString &instructionName_, const QStringList &parameters_=QStringList())
virtual ~JKQTMathTextModifiedEnvironmentInstructionNode () override
const QString & getInstructionName () const
 instruction name
const QStringList & getParameters () const
 additional string-parameters
virtual QString getTypeName () const override
 return the name of this class as a string
virtual void modifyEnvironment (JKQTMathTextEnvironment &currentEv) const override
 modifies the fiven JKQTMathTextEnvironment currrentEv
Public Member Functions inherited from JKQTMathTextNonDrawingBaseNode
 JKQTMathTextNonDrawingBaseNode (JKQTMathText *parent)
virtual ~JKQTMathTextNonDrawingBaseNode () override
virtual double draw (QPainter &painter, double x, double y, JKQTMathTextEnvironment currentEv) const override final
 draw the contents at the designated position
virtual bool toHtml (QString &html, JKQTMathTextEnvironment currentEv, JKQTMathTextEnvironment defaultEv) const override final
 convert node to HTML and returns true on success
Public Member Functions inherited from JKQTMathTextNode
 JKQTMathTextNode (const JKQTMathTextNode &)=delete
 JKQTMathTextNode (JKQTMathText *parentMathText)
virtual ~JKQTMathTextNode ()
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
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}
Public Member Functions inherited from JKQTMathTextModifyEnvironmentNodeMixIn
virtual ~JKQTMathTextModifyEnvironmentNodeMixIn ()

Static Public Member Functions

static size_t countParametersOfInstruction (const QString &instructionName)
 returns the number of additional string parameters, required for the given instructionName
static void modifyInMathTextStyleEnvironment (const QString &instructionName, bool &insideMathTextStyle, JKQTMathText *parentMathText, const QStringList &params=QStringList())
 sets insideMathTextStyle to true if textstyle is set inside math
static bool supportsInstructionName (const QString &instructionName)
 returns true, if the given instructionName can be represented by this node
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

Static Protected Member Functions

static const QHash< QString, InstructionProperties > & instructions ()
 defines all implemented instructions in this node

Protected Attributes

QString instructionName
 instruction name
QStringList parameters
 additional string-parameters
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

Protected Member Functions inherited from JKQTMathTextNonDrawingBaseNode
virtual JKQTMathTextNodeSize getSizeInternal (QPainter &painter, JKQTMathTextEnvironment currentEv) const override final
 determine the size of the node, overwrite this function in derived classes
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

Detailed Description

subclass representing an instruction node which modify the current JKQTMathTextEnvironment, in the current block. This implements functions like \bf or \color{COL}

See also
JKQTMathTextModifyEnvironmentNodeMixIn

Constructor & Destructor Documentation

◆ JKQTMathTextModifiedEnvironmentInstructionNode()

JKQTMathTextModifiedEnvironmentInstructionNode::JKQTMathTextModifiedEnvironmentInstructionNode ( JKQTMathText * parent_,
const QString & instructionName_,
const QStringList & parameters_ = QStringList() )
explicit

◆ ~JKQTMathTextModifiedEnvironmentInstructionNode()

virtual JKQTMathTextModifiedEnvironmentInstructionNode::~JKQTMathTextModifiedEnvironmentInstructionNode ( )
overridevirtual

Member Function Documentation

◆ countParametersOfInstruction()

size_t JKQTMathTextModifiedEnvironmentInstructionNode::countParametersOfInstruction ( const QString & instructionName)
static

returns the number of additional string parameters, required for the given instructionName

See also
instructions()

◆ getInstructionName()

const QString & JKQTMathTextModifiedEnvironmentInstructionNode::getInstructionName ( ) const

instruction name

◆ getParameters()

const QStringList & JKQTMathTextModifiedEnvironmentInstructionNode::getParameters ( ) const

additional string-parameters

◆ getTypeName()

virtual QString JKQTMathTextModifiedEnvironmentInstructionNode::getTypeName ( ) const
overridevirtual

return the name of this class as a string

Reimplemented from JKQTMathTextNode.

◆ instructions()

const QHash< QString, InstructionProperties > & JKQTMathTextModifiedEnvironmentInstructionNode::instructions ( )
staticprotected

defines all implemented instructions in this node

Note
this is the customization point for new instructions!

◆ modifyEnvironment()

virtual void JKQTMathTextModifiedEnvironmentInstructionNode::modifyEnvironment ( JKQTMathTextEnvironment & currentEv) const
overridevirtual

modifies the fiven JKQTMathTextEnvironment currrentEv

Implements JKQTMathTextModifyEnvironmentNodeMixIn.

◆ modifyInMathTextStyleEnvironment()

void JKQTMathTextModifiedEnvironmentInstructionNode::modifyInMathTextStyleEnvironment ( const QString & instructionName,
bool & insideMathTextStyle,
JKQTMathText * parentMathText,
const QStringList & params = QStringList() )
static

sets insideMathTextStyle to true if textstyle is set inside math

See also
instructions()

◆ supportsInstructionName()

bool JKQTMathTextModifiedEnvironmentInstructionNode::supportsInstructionName ( const QString & instructionName)
static

returns true, if the given instructionName can be represented by this node

See also
instructions()

Member Data Documentation

◆ instructionName

QString JKQTMathTextModifiedEnvironmentInstructionNode::instructionName
protected

instruction name

◆ parameters

QStringList JKQTMathTextModifiedEnvironmentInstructionNode::parameters
protected

additional string-parameters


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