From 8ce6987315947b853c7145935210d168e0f26867 Mon Sep 17 00:00:00 2001 From: jkriege2 Date: Sat, 9 Feb 2019 18:46:12 +0100 Subject: [PATCH] minor fixes --- ...thtext_MTlistNode_getSizeInternal_frac.cdr | Bin 0 -> 42872 bytes ...thtext_MTlistNode_getSizeInternal_frac.png | Bin 0 -> 38493 bytes .../jkqtmathtext_test/jkqtmathtext_test.cpp | 261 ------------------ examples/jkqtmathtext_test/testform.cpp | 1 + lib/jkqtmathtext/jkqtmathtext.h | 60 ++-- 5 files changed, 44 insertions(+), 278 deletions(-) create mode 100644 doc/images/jkqtmathtext_MTlistNode_getSizeInternal_frac.cdr create mode 100644 doc/images/jkqtmathtext_MTlistNode_getSizeInternal_frac.png diff --git a/doc/images/jkqtmathtext_MTlistNode_getSizeInternal_frac.cdr b/doc/images/jkqtmathtext_MTlistNode_getSizeInternal_frac.cdr new file mode 100644 index 0000000000000000000000000000000000000000..7744a8acce21510b4a8d7c2041d5569cc2a96cc7 GIT binary patch literal 42872 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 -#include -#include -#include -#include -#include -#include -#include -#include "jkqtmathtext/jkqtmathtext.h" -#include "jkqtplottertools/jkqtphighrestimer.h" #include "testform.h" - -#define W 2000 -#define H 3000 -#define X1 15 -#define Y1 50 - -/* -HighResTimer ht; - - -double draw(QPainter& painter, double X, double YY, JKQTMathText& mt, QString name) { - double Y=YY; - painter.save(); - ht.start(); - QSizeF s=mt.getSize(painter); - Y=Y+mt.getAscent(painter); - std::cout<<" sizing in "<"+mt.toHtml(&okh)+"


"); - qDebug()<<"HTML1: ---------------------------------------------\n"<"+mt.toHtml(&okh)+"


"); - qDebug()<<"HTML2: ---------------------------------------------\n"<"+mt.toHtml(&okh)+"


"); - qDebug()<<"HTML2: ---------------------------------------------\n"<cmbTestset->addItem("math: bf", "$\\mathbf{ABCDEFGHIJKLMNOPQRSTUVWXYZ120}$"); ui->cmbTestset->addItem("math: rm", "$\\mathrm{ABCDEFGHIJKLMNOPQRSTUVWXYZ120}$"); ui->cmbTestset->addItem("math: cal", "$\\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ120}$"); + ui->cmbTestset->addItem("subsuperscript test", "$r_{123}^2$\\ \\ $r^2_{123}$\\ \\ $\\left(a\\right)_{123}^2$\\ \\ $\\left(a\\right)^2_{123}$\\ \\ $r_{\\frac{1}{2}}^2$\\ \\ $r^2_{\\frac{1}{2}}$\\ \\ $r^{\\frac{1}{2}}_2$\\ \\ $r_2^{\\frac{1}{2}}$\\ \\ $\\left(a\\right)_2^{\\frac{1}{2}}$\\ \\ $\\left(a\\right)^{\\frac{1}{2}}_2$"); ui->cmbTestset->addItem("subscript test", "$r_{123}\\ \\ r_{\\frac{1}{2}}$"); ui->cmbTestset->addItem("subscript0 test", "$r_{123}$"); ui->cmbTestset->addItem("subscript1 test", "$r_{123}\\ $"); diff --git a/lib/jkqtmathtext/jkqtmathtext.h b/lib/jkqtmathtext/jkqtmathtext.h index 9d4c7b632a..c2298848e1 100644 --- a/lib/jkqtmathtext/jkqtmathtext.h +++ b/lib/jkqtmathtext/jkqtmathtext.h @@ -695,7 +695,7 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { public: MTnode(JKQTMathText* parent); virtual ~MTnode(); - virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos)=0; + /** \brief determine the size of the node, calls getSizeInternal() implementation of the actual type \see getSizeInternal() */ void getSize(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos); /** \brief draw the contents at the designated position. returns the x position which to use for the next part of the text */ virtual double draw(QPainter& painter, double x, double y, MTenvironment currentEv)=0; @@ -713,6 +713,18 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { virtual void setDrawBoxes(bool draw); virtual QString getTypeName() const; protected: + /** \brief determine the size of the node, overwrite this function in derived classes + * + * \param painter painter to use for determining the size + * \param currentEv current environment object + * \param[out] width width of the block/node + * \param[out] baselineHeight distance from the bottom of the block/node-box to the baseline + * \param[out] overallHeight overall height (bottom to top) of the node, the ascent is \c overallHeight-baselineHeight + * \param[out] strikeoutPos position of the strikeout-line + * + */ + virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos)=0; + JKQTMathText* parent; bool drawBoxes; void doDrawBoxes(QPainter& painter, double x, double y, JKQTMathText::MTenvironment currentEv); @@ -723,7 +735,6 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { public: MTtextNode(JKQTMathText* parent, const QString& text, bool addWhitespace, bool stripInnerWhitepace=false); virtual ~MTtextNode(); - virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos); virtual double draw(QPainter& painter, double x, double y, MTenvironment currentEv); virtual bool toHtml(QString& html, JKQTMathText::MTenvironment currentEv, JKQTMathText::MTenvironment defaultEv); /*! \brief returns the property text ( \copybrief text ). @@ -734,6 +745,8 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { } virtual QString getTypeName() const override ; protected: + /** \copydoc MTnode::getSizeInternal() */ + virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos) override; QString text; virtual QString textTransform(const QString& text, JKQTMathText::MTenvironment currentEv, bool forSize=false); }; @@ -762,7 +775,6 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { MTsymbolNode(JKQTMathText* parent, const QString& name, bool addWhitespace); virtual ~MTsymbolNode(); virtual QString getTypeName() const; - virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos); virtual double draw(QPainter& painter, double x, double y, MTenvironment currentEv); virtual bool toHtml(QString& html, JKQTMathText::MTenvironment currentEv, JKQTMathText::MTenvironment defaultEv); /*! \brief returns the property symbolName ( \copybrief symbolName ). @@ -772,6 +784,8 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { return this->symbolName; } protected: + /** \copydoc MTnode::getSizeInternal() */ + virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos) override; /** \brief this string will be sent to the drawText method with properly set fonts */ QString symbol; /** \brief the symbol name supplied to the constructor */ @@ -797,13 +811,15 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { bool extendWidthInMathmode; }; - /** \brief subclass representing a list of nodes in the syntax tree */ + /** \brief subclass representing a list of nodes in the syntax tree + * + * \image html jkqtmathtext_MTlistNode_getSizeInternal_frac.png + */ class MTlistNode: public MTnode { public: MTlistNode(JKQTMathText* parent); virtual ~MTlistNode(); virtual QString getTypeName() const; - virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos); virtual double draw(QPainter& painter, double x, double y, MTenvironment currentEv); void addNode(MTnode* n) { nodes.append(n); } virtual bool toHtml(QString& html, JKQTMathText::MTenvironment currentEv, JKQTMathText::MTenvironment defaultEv); @@ -815,6 +831,8 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { return this->nodes; } protected: + /** \copydoc MTnode::getSizeInternal() */ + virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos) override; QList nodes; QSet subsupOperations; }; @@ -825,7 +843,6 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { MTinstruction1Node(JKQTMathText* parent, const QString& name, MTnode* child, const QStringList& parameters=QStringList()); virtual ~MTinstruction1Node(); virtual QString getTypeName() const; - virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos); virtual double draw(QPainter& painter, double x, double y, MTenvironment currentEv); /** \brief convert node to HTML and returns \c true on success */ virtual bool toHtml(QString& html, JKQTMathText::MTenvironment currentEv, JKQTMathText::MTenvironment defaultEv); @@ -849,6 +866,8 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { return this->parameters; } protected: + /** \copydoc MTnode::getSizeInternal() */ + virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos) override; bool setupMTenvironment(JKQTMathText::MTenvironment &ev); MTnode* child; @@ -863,7 +882,6 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { public: MTsubscriptNode(JKQTMathText* parent, MTnode* child); virtual ~MTsubscriptNode(); - virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos); virtual double draw(QPainter& painter, double x, double y, MTenvironment currentEv); /** \brief returns true if node is subscript or superscript node */ virtual bool isSubOrSuper() ; @@ -877,6 +895,8 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { virtual bool toHtml(QString& html, JKQTMathText::MTenvironment currentEv, JKQTMathText::MTenvironment defaultEv); virtual void setDrawBoxes(bool draw); protected: + /** \copydoc MTnode::getSizeInternal() */ + virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos) override; MTnode* child; }; @@ -885,7 +905,6 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { public: MTsuperscriptNode(JKQTMathText* parent, MTnode* child); virtual ~MTsuperscriptNode(); - virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos); virtual double draw(QPainter& painter, double x, double y, MTenvironment currentEv); /** \brief returns true if node is subscript or superscript node */ virtual bool isSubOrSuper(); @@ -899,6 +918,8 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { virtual bool toHtml(QString& html, JKQTMathText::MTenvironment currentEv, JKQTMathText::MTenvironment defaultEv); virtual void setDrawBoxes(bool draw); protected: + /** \copydoc MTnode::getSizeInternal() */ + virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos) override; MTnode* child; }; @@ -907,7 +928,6 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { public: MTbraceNode(JKQTMathText* parent, const QString& openbrace, const QString& closebrace, MTnode* child, bool showRightBrace=true); virtual ~MTbraceNode(); - virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos); virtual double draw(QPainter& painter, double x, double y, MTenvironment currentEv); virtual bool toHtml(QString& html, JKQTMathText::MTenvironment currentEv, JKQTMathText::MTenvironment defaultEv); virtual void setDrawBoxes(bool draw); @@ -937,6 +957,8 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { return this->showRightBrace; } protected: + /** \copydoc MTnode::getSizeInternal() */ + virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos) override; MTnode* child; QString openbrace; QString closebrace; @@ -951,7 +973,6 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { public: MTsqrtNode(JKQTMathText* parent, MTnode* child, int degree=2); virtual ~MTsqrtNode(); - virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos); virtual double draw(QPainter& painter, double x, double y, MTenvironment currentEv); virtual bool toHtml(QString& html, JKQTMathText::MTenvironment currentEv, JKQTMathText::MTenvironment defaultEv); virtual void setDrawBoxes(bool draw); @@ -969,6 +990,8 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { return this->degree; } protected: + /** \copydoc MTnode::getSizeInternal() */ + virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos) override; MTnode* child; int degree; }; @@ -992,7 +1015,6 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { MTfracNode(JKQTMathText* parent, MTnode* child_top, MTnode* child_bottom, MTfracMode mode); virtual ~MTfracNode(); virtual QString getTypeName() const ; - virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos); virtual double draw(QPainter& painter, double x, double y, MTenvironment currentEv); virtual bool toHtml(QString& html, JKQTMathText::MTenvironment currentEv, JKQTMathText::MTenvironment defaultEv); virtual void setDrawBoxes(bool draw); @@ -1015,6 +1037,8 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { return this->mode; } protected: + /** \copydoc MTnode::getSizeInternal() */ + virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos) override; MTnode* child1; MTnode* child2; MTfracMode mode; @@ -1024,11 +1048,10 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { class MTmatrixNode: public MTnode { public: MTmatrixNode(JKQTMathText* parent, QVector > children); - virtual ~MTmatrixNode(); - virtual QString getTypeName() const; - virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos); - virtual double draw(QPainter& painter, double x, double y, MTenvironment currentEv); - virtual bool toHtml(QString& html, JKQTMathText::MTenvironment currentEv, JKQTMathText::MTenvironment defaultEv); + virtual ~MTmatrixNode() override; + virtual QString getTypeName() const override; + virtual double draw(QPainter& painter, double x, double y, MTenvironment currentEv) override; + virtual bool toHtml(QString& html, JKQTMathText::MTenvironment currentEv, JKQTMathText::MTenvironment defaultEv) override; /*! \brief returns the property children ( \copybrief children ). \details Description of the parameter children is:
\copydoc children
. \see children for more information */ @@ -1048,6 +1071,8 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { return this->lines; } protected: + /** \copydoc MTnode::getSizeInternal() */ + virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos) override; virtual void setDrawBoxes(bool draw); QVector > children; int columns; @@ -1075,7 +1100,6 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { public: MTdecoratedNode(JKQTMathText* parent, MTdecoration decoration, MTnode* child); virtual ~MTdecoratedNode(); - virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos); virtual double draw(QPainter& painter, double x, double y, MTenvironment currentEv); virtual bool toHtml(QString& html, JKQTMathText::MTenvironment currentEv, JKQTMathText::MTenvironment defaultEv); virtual void setDrawBoxes(bool draw); @@ -1093,6 +1117,8 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject { return this->decoration; } protected: + /** \copydoc MTnode::getSizeInternal() */ + virtual void getSizeInternal(QPainter& painter, MTenvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos) override; MTnode* child; MTdecoration decoration; };