fixed several doxygen errors

This commit is contained in:
jkriege2 2022-07-24 14:50:28 +02:00
parent c853134911
commit f01a198b7b
47 changed files with 534 additions and 231 deletions

View File

@ -2321,7 +2321,7 @@ INCLUDE_FILE_PATTERNS =
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
PREDEFINED =
PREDEFINED = DOXYGEN
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
@ -2432,7 +2432,7 @@ DOT_NUM_THREADS = 0
# The default value is: Helvetica.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_FONTNAME = FreeSans
DOT_FONTNAME = Helvetica
# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
# dot graphs.
@ -2629,7 +2629,10 @@ DOT_PATH =
# command).
# This tag requires that the tag HAVE_DOT is set to YES.
DOTFILE_DIRS = doc/dot/
DOTFILE_DIRS = doc/dot/ \
./doc/dot/ \
doc/dot \
./doc/dot
# The MSCFILE_DIRS tag can be used to specify one or more directories that
# contain msc files that are included in the documentation (see the \mscfile

View File

@ -226,10 +226,10 @@ All test-projects are Qt-projects that use qmake to build. You can load them int
<table>
<tr><th> Screenshot <th> Description <th> Notes
<tr><td> \image html jkqtmathtext/jkqtmathtext_simpletest_small.png
<tr><td> \image html jkqtmathtext_simpletest_small.png
<td> \subpage JKQTMathTextSimpleExample
<td> JKQTMathText<br>render LaTeX markup (Schrödinger's equation)
<tr><td> \image html jkqtmathtext/jkqtmathtext_testapp_small.png
<tr><td> \image html jkqtmathtext_testapp_small.png
<td> \subpage JKQTMathTextTestApp
<td> JKQTMathText<br>render LaTeX markup
<tr><td> \image html jkqtfastplotter_test_small.png
@ -242,7 +242,7 @@ All test-projects are Qt-projects that use qmake to build. You can load them int
<table>
<tr><th> Screenshot <th> Description <th> Notes
<tr><td> \image html jkqtmathtext/jkqtmathtext_simpletest_small.png
<tr><td> \image html jkqtplotter_cmakelink_small.png
<td> \subpage JKQTCMakeLinkExample
<td> explains how to link against JKQTPlotter with CMake
</table>

View File

@ -5,6 +5,9 @@
This summarizes all functions from JKQTCommon-library, which provides basic (Qt-bound) tools for all other libs in the package JKQtPlotter (i.e. also JKQtFastPlotter and JKQtMathText).
\defgroup jkqtptools_general General Functions & Tools
\ingroup jkqtptools_jkqtcommon
\defgroup jkqtptools_math_basic Mathematical Functions & Tools
\ingroup jkqtptools_jkqtcommon
@ -12,17 +15,21 @@ This summarizes all functions from JKQTCommon-library, which provides basic (Qt-
This group assembles a variety of mathematical tool functions that are used in different places.
\defgroup jkqtptools_string String/String-Conversion Tool Functions
\defgroup jkqtptools_string String(-Conversion) Functions
\ingroup jkqtptools_jkqtcommon
Offers diverse function to convert different datatypes (e.g. double, int, diverse enums) to and from strings and for string manipulation.
\defgroup jkqtptools_qt Additional Tools for Qt
\defgroup jkqtptools_qt Tools around Qt's clasess
\ingroup jkqtptools_jkqtcommon
\defgroup jkqtptools_icons Special QIcon generation
\ingroup jkqtptools_jkqtcommon
\defgroup jkqtptools_qtwidgets Additional Widgets for Qt
In many cases it makes sense to generate special QIcons to represent a certain property, enum entry, QBrush, QPen etc.
This group assembles functions that do exactly that.
\defgroup jkqtptools_qtwidgets Additional Widgets for
\ingroup jkqtptools_jkqtcommon
\defgroup jkqtptools_drawing Drawing & Graphics Tools
@ -41,6 +48,9 @@ Functions that help during debugging (e.g. an assert function/macro).
Classes and functions that help to structure the code (e.g. RAII constructs)
\defgroup jkqtptools_libfacilities Library Facilities for JKQTCommon
\ingroup jkqtptools_jkqtcommon
*/

View File

@ -6,7 +6,7 @@
This summarizes all functions from JKQTCommonStatisticsAndMath-library, which provides special and advanced math and statistics tools, mostly used by JKQtPlotter.
\defgroup jkqtptools_algorithms Diverse Algorithms
\defgroup jkqtptools_algorithms General Algorithms (Sorting ...)
\ingroup jkqtcommon_statistics_and_math
\defgroup jkqtptools_math_parser Parser/Evaluator for Mathematical Expressions
@ -17,13 +17,13 @@ In the context of the sequencer program this is a tool class that can be used by
in the project. E.g. used by JKQTPXParsedFunctionLineGraph, JKQTPYParsedFunctionLineGraph
\defgroup jkmpultil JKQTPMathParser: Utilities
\defgroup jkqtptools_math_parser_utils JKQTPMathParser: Utilities
\ingroup jkqtptools_math_parser
\defgroup jkmpNodes JKQTPMathParser: Memory Representation of Expressions
\defgroup jkqtptools_math_parser_Nodes JKQTPMathParser: Memory Representation of Expressions
\ingroup jkqtptools_math_parser
\defgroup jkmpErrorhandling JKQTPMathParser Error Handling
\defgroup jkqtptools_math_parser_Errorhandling JKQTPMathParser Error Handling
\ingroup jkqtptools_math_parser
\defgroup jkqtptools_math_array Data Array Tools
@ -105,4 +105,10 @@ All statistics functions use all values in the given range and convert each valu
\defgroup jkqtptools_math_statistics_adaptors Statistics To Plot Adaptors
\ingroup jkqtptools_math_statistics
\defgroup jkqtcommon_statistics_and_math_libfacilities Library Facilities for JKQTCommonStatisticsAndMath
\ingroup jkqtcommon_statistics_and_math
*/

View File

@ -6,6 +6,16 @@
output quality. It lacks several of the advanced features of JKQTPlotter, but can be used in cases, where fast
update of plots or real-time plotting is required.
An example for the usage of this class can be found here: \subpage JKQTFastPlotterTest
An example for the usage of this class can be found here: \ref JKQTFastPlotterTest
\image html jkqtfastplotter_test.png
\defgroup jkqtfastplotter_PlotItems Plot Elements available in JKQTFastPlotter
\ingroup jkqtfastplotter
\defgroup jkqtfastplotter_tools Tool Functions, Enums, Classes for JKQTFastPlotter
\ingroup jkqtfastplotter
*/

View File

@ -13,16 +13,20 @@
.
\defgroup jkqtmathtext_render JKQTMathText Main (Render) Class
\defgroup jkqtmathtext_render Main (Render) Class (JKQTMathText)
\ingroup jkqtmathtext
\defgroup jkqtmathtext_items JKQTMathText Render-Tree Items
\defgroup jkqtmathtext_items Render-Tree Items for JKQTMathText
\ingroup jkqtmathtext
\defgroup jkqtmathtext_widgets JKQTMathText widgets
\defgroup jkqtmathtext_widgets Widgets using JKQTMathText
\ingroup jkqtmathtext
\defgroup jkqtmathtext_tools JKQTMathText Tool Functions and Types
\defgroup jkqtmathtext_tools Tool Functions and Types for JKQTMathText
\ingroup jkqtmathtext
\defgroup jkqtmathtext_libfacilities Library Facilities for JKQTMathText
\ingroup jkqtmathtext

View File

@ -113,7 +113,139 @@ These are used to e.g. add color-scales to the side of the graph:
Usually if writing a new graph, one would not directly
derive from JKQTPPlotElement, but from a cass in it's hirarchy of children. These children already provide certain facilities for certain types of graphs.
\dotfile jkqtplotter_graphhirarchy.gv
\dot
digraph
{
// LATEX_PDF_SIZE
bgcolor="transparent";
edge [fontname="FreeSans",fontsize="12",labelfontname="FreeSans",labelfontsize="12"];
node [fontname="FreeSans",fontsize="12",shape=record];
rankdir="LR";
{
rank=same;
JKQTPPlotElement [URL="\link JKQTPPlotElement"];
noteJKQTPPlotElement [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\nelements drawn\nonto a plot"];
JKQTPPlotElement -> noteJKQTPPlotElement [style=dashed,arrowhead=none];
}
{
rank=same;
JKQTPGraph [URL="\link JKQTPPlotElement"];
noteJKQTPGraph [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\nactual graphs"];
JKQTPGraph -> noteJKQTPGraph [style=dashed,arrowhead=none];
JKQTPGeometricPlotElement [URL="\link JKQTPGeometricPlotElement"];
noteJKQTPGeometricPlotElement [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\nnon-graph elements,\ne.g. geometric elements"];
JKQTPGeometricPlotElement -> noteJKQTPGeometricPlotElement [style=dashed,arrowhead=none];
JKQTPPlotAnnotationElement [URL="\link JKQTPPlotAnnotationElement"];
noteJKQTPPlotAnnotationElement [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngraph annotation elements,\ne.g. text, symbols, ranges ..."];
JKQTPPlotAnnotationElement -> noteJKQTPPlotAnnotationElement [style=dashed,arrowhead=none];
}
{
rank=same;
JKQTPXYGraph [URL="\link JKQTPXYGraph"]
noteJKQTPXYGraph [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngraphs based on\n (x,y) data pairs"];
JKQTPXYGraph -> noteJKQTPXYGraph [style=dashed,arrowhead=none];
JKQTPSingleColumnGraph [URL="\link JKQTPSingleColumnGraph"]
noteJKQTPSingleColumnGraph [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngraphs based on only\n a single column of data"];
JKQTPSingleColumnGraph -> noteJKQTPSingleColumnGraph [style=dashed,arrowhead=none];
JKQTPImageBase [URL="\link JKQTPImageBase"]
noteJKQTPImageBase [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngraphs that represent \n2D images/matrices"];
JKQTPImageBase -> noteJKQTPImageBase [style=dashed,arrowhead=none];
}
{
rank=same;
JKQTPXYYGraph [URL="\link JKQTPXYYGraph"]
noteJKQTPXYYGraph [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngraphs based on\n (x, y1, y2) data tripels"];
JKQTPXYYGraph -> noteJKQTPXYYGraph [style=dashed,arrowhead=none];
JKQTPXXYGraph [URL="\link JKQTPXXYGraph"]
noteJKQTPXXYGraph [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngraphs based on\n (x1, x2, y) data tripels"];
JKQTPXXYGraph -> noteJKQTPXXYGraph [style=dashed,arrowhead=none];
JKQTPXYBaselineGraph [URL="\link JKQTPXYBaselineGraph"]
noteJJKQTPXYBaselineGraph [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngraphs based on\n (x,y) data pairs and a baseline"];
JKQTPXYBaselineGraph -> noteJJKQTPXYBaselineGraph [style=dashed,arrowhead=none];
JKQTPEvaluatedFunctionGraphBase [URL="\link JKQTPEvaluatedFunctionGraphBase"]
noteJKQTPEvaluatedFunctionGraphBase [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngraphs that represent \ndynamically evaluated functions"];
JKQTPEvaluatedFunctionGraphBase -> noteJKQTPEvaluatedFunctionGraphBase [style=dashed,arrowhead=none];
JKQTPMathImageBase [URL="\link JKQTPMathImageBase"]
noteJKQTPMathImageBase [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ndata-based images"];
JKQTPMathImageBase -> noteJKQTPMathImageBase [style=dashed,arrowhead=none];
}
{
rank=same;
JKQTPBarGraphBase [URL="\link JKQTPBarGraphBase"]
noteJKQTPBarGraphBase [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\nbarcharts"];
JKQTPBarGraphBase -> noteJKQTPBarGraphBase [style=dashed,arrowhead=none];
JKQTPFilledCurveGraphBase [URL="\link JKQTPFilledCurveGraphBase"]
noteJKQTPFilledCurveGraphBase [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\nfilled graphs"];
JKQTPFilledCurveGraphBase -> noteJKQTPFilledCurveGraphBase [style=dashed,arrowhead=none];
JKQTPImpulsesGraphBase [URL="\link JKQTPImpulsesGraphBase"]
noteJKQTPImpulsesGraphBase [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\nimpulse graphs"];
JKQTPImpulsesGraphBase -> noteJKQTPImpulsesGraphBase [style=dashed,arrowhead=none];
JKQTPSpecialLineGraphBase [URL="\link JKQTPSpecialLineGraphBase"]
noteJKQTPSpecialLineGraphBase [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\nspecial line graphs"];
JKQTPSpecialLineGraphBase -> noteJKQTPSpecialLineGraphBase [style=dashed,arrowhead=none];
JKQTPBoxplotGraphBase [URL="\link JKQTPBoxplotGraphBase"]
noteJKQTPBoxplotGraphBase [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngraphs that represent \na set of boxplots"];
JKQTPBoxplotGraphBase -> noteJKQTPBoxplotGraphBase [style=dashed,arrowhead=none];
JKQTPRangeBase [URL="\link JKQTPRangeBase"];
noteJKQTPRangeBase [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\nrange annotations"];
JKQTPRangeBase -> noteJKQTPRangeBase [style=dashed,arrowhead=none];
JKQTPBoxplotElementBase [URL="\link JKQTPBoxplotElementBase"]
noteJKQTPBoxplotElementBase [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngraphs that represent \na single boxplot"];
JKQTPBoxplotElementBase -> noteJKQTPBoxplotElementBase [style=dashed,arrowhead=none];
JKQTPViolinplotElementBase [URL="\link JKQTPViolinplotElementBase"]
noteJKQTPViolinplotElementBase [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngraphs that represent \na single violin plot"];
JKQTPViolinplotElementBase -> noteJKQTPViolinplotElementBase [style=dashed,arrowhead=none];
}
JKQTPPlotElement -> JKQTPGraph
JKQTPPlotElement -> JKQTPGeometricPlotElement
JKQTPPlotElement -> JKQTPPlotAnnotationElement
JKQTPPlotElement -> JKQTPRangeBase
JKQTPPlotElement -> JKQTPBoxplotElementBase
JKQTPPlotElement -> JKQTPViolinplotElementBase
JKQTPGraph -> JKQTPXYGraph
JKQTPGraph -> JKQTPSingleColumnGraph
JKQTPGraph -> JKQTPImageBase -> JKQTPMathImageBase
JKQTPGraph -> JKQTPEvaluatedFunctionGraphBase
JKQTPGraph -> JKQTPBoxplotGraphBase
JKQTPXYGraph -> JKQTPXYYGraph
JKQTPXYGraph -> JKQTPXXYGraph
JKQTPXYGraph -> JKQTPXYBaselineGraph
JKQTPXYBaselineGraph -> JKQTPBarGraphBase
JKQTPXYBaselineGraph -> JKQTPFilledCurveGraphBase
JKQTPXYBaselineGraph -> JKQTPImpulsesGraphBase
JKQTPXYBaselineGraph -> JKQTPSpecialLineGraphBase
}
\enddot
\subsection jkqtplotter_graphsgroup_classstructure_mixins Mix-In Classes for Graphs

View File

@ -36,7 +36,7 @@
- \ref jkqtplotter_filledgraphs "filled curves"
- \ref jkqtplotter_barssticks "barcharts (also stacked)"
- extensive support for different styles of error indicators
- \ref jkmp "integrated mathematical function parser for function plots (with intelligent rendering algorithm)"
- \ref jkqtptools_math_parser "integrated mathematical function parser for function plots (with intelligent rendering algorithm)"
- \ref jkqtplotter_functiongraphs "line/scatter graphs can also be based on C/C++ functions instead of data series (C++11 support!)"
- \ref jkqtplotter_statgraphs "statistical plots (e.g. boxplots)"
- \ref jkqtplotter_imagelots_elements "extensive library of image plots" (inclusing different color-scale modes, RGBA-plots, overlays/masks)

View File

@ -24,6 +24,7 @@ This page lists several todos and wishes for future version of JKQTPlotter
<li>graphic elements: annotation graphic element with text positionable like legend, or with (0..1),(0..1)-coordinates within plot</li>
<li>graphic elements: cubic/bezier curves for graphic elements</li>
<li>data management: allow for other datatypes than double, would be good to have, double, float, ints, bool, string ... as for images</li>
<li>data management: binding for the <a href="https://eigen.tuxfamily.org/index.php?title=Main_Page">Eigen library</a></li>
<li>user interactions: support for touch/pad gestures</li>
<li>graphic elements: make coordinate systems selectable for all: x/y-axis, 0..1/0..1, topleft/topright... </li>
<li>plot: reqork layouting of legends: there are some inconsistencies/too large gaps ...</li>
@ -38,15 +39,15 @@ This page lists several todos and wishes for future version of JKQTPlotter
<li></li>
</ul></li>
<li>JKQTMathText:<ul>
<li>add instruction for unicode-characters \charDDDD, \char"XXXX, \unicode{XXXX}, \utf8{XXXX}, \utf16{XXXX}, \utf32{XXXX} ...</li>
<li>add instruction for unicode-characters \\charDDDD, \\char"XXXX, \\unicode{XXXX}, \\utf8{XXXX}, \\utf16{XXXX}, \\utf32{XXXX} ...</li>
<li>check sub/superscript with italic text in math mode, possibly a correction is necessary</li>
<li>explore where QFontMetricsF::horizontalAdvance() can be used (for Qt >=5.15)</li>
<li>add support for \bigl,\bigr,\Bigr,... commands for fixed-size but large paramtheses</li>
<li>explore options to make font-environment-modifying commands avails, like "{blacktext\color{red}redtext}", today only commands like "\textcolor{red}{redtext}" work</li>
<li>add support for \\bigl,\\bigr,\\Bigr,... commands for fixed-size but large paramtheses</li>
<li>explore options to make font-environment-modifying commands avails, like "{blacktext\\color{red}redtext}", today only commands like "\\textcolor{red}{redtext}" work</li>
<li>maybe: add support for text with linebreaks by adding a JKQTMathTextVerticalListNode in addition to JKQTMathTextListNode</li>
<li>maybe: add tool programs to auto-generate some example images</li>
<li>add support for \substack command below \sum etc.</li>
<li>improve support for array-environment with limited support for formatting string like l|r|c and maybe add support for \hline command, possibly also \cellcolor etz.</li>
<li>add support for \\substack command below \\sum etc.</li>
<li>improve support for array-environment with limited support for formatting string like l|r|c and maybe add support for \\hline command, possibly also \\cellcolor etz.</li>
<li></li>
</ul></li>
</ul>

View File

@ -19,7 +19,7 @@ Changes, compared to \ref page_whatsnew_V4_0_0 "v4.0.0" include:
<li>NEW: Using precompiled headers in CMake-build to speed up build times</li>
<li>NEW/BREAKING: split jkqtcommon into basic tools and jkqtcommon_statistics_and_math for advanced math tools not used by all libs</li>
</ul></li>
<li>JKQtPlotter:<ul>
<li>JKQTPlotter:<ul>
<li>FIXED issue described in <a href="https://github.com/jkriege2/JKQtPlotter/pull/62">#62: Fix custom labels draw, because giving exactly two label-strings did not display all of them</a>, thanks to <a href="https://github.com/FalsinSoft">user:FalsinSoft</a></li>
<li>FIXED issue <a href="https://github.com/jkriege2/JKQtPlotter/pull/70">#70: Typo in jkqtplotter/CMakeLists.txt</a>, thanks to <a href="https://github.com/tedlinlab">user:tedlinlab</a></li>
<li>FIXED issue <a href="https://github.com/jkriege2/JKQtPlotter/pull/80">#80: Bug with multiple inheritance with Q_GDAGET with CLANG</a>, thanks to <a href="https://github.com/igormironchik">user:igormironchik</a>, caused by <a href="https://bugreports.qt.io/browse/QTBUG-104874">QTBUG-104874</a></li>
@ -31,15 +31,15 @@ Changes, compared to \ref page_whatsnew_V4_0_0 "v4.0.0" include:
<li>NEW/BREAKING CHANGE: changed JKQTPColorDerivationMode into a struct, which extends its capabilities above the previously available few enum-items</li>
<li>NEW: added debug-feature to show boxes around text in the plot</li>
<li>BREAKING: Print-Support can now be switched off with a CMAKE-option JKQtPlotter_BUILD_FORCE_NO_PRINTER_SUPPORT=ON. This also switches off PDF and SVG export, partly solves issue <a href="https://github.com/jkriege2/JKQtPlotter/issues/81">#81</a>, many thanks to <a href="https://github.com/sufuk">user:sufuk</a> for contributing part of the code and supplying the idea! </li>
</ul>
</ul></li>
<li>JKQTMathText:<ul>
<li>FIXED: JKQTMathText added a little whitespace before and after the LaTeX-string. This was removed as it disturbed the layout of text in plots</li>
<li>FIXED: height-calculation of frac-like instructions: before the ascent and descent were equal, even if the numerator and denominator have different heights</li>
<li>FIXED: strikeoutPos was not correctly calculated in sub-/superscript node</li>
<li>FIXED: symbol spacing in math mode (and text mode)</li>
<li>FIXED/IMPROVED: JKQTMathText renders several LaTeX strings better (simple braces in math mode, +-*... as symbols with proper sizes in math mode, added some missing instruction aliases, improved size of \vec and \hat, corrrected fonts usage for mathrm</li>
<li>FIXED: \sum and \prod used the wrong symbol in XITS-mode</li>
<li>FIXED/IMPROVED: JKQTMathText renders several LaTeX strings better (simple braces in math mode, \c +-*... as symbols with proper sizes in math mode, added some missing instruction aliases, improved size of \\vec and \\hat, corrrected fonts usage for \\mathrm</li>
<li>FIXED: \c \\sum and \c \\prod used the wrong symbol in XITS-mode</li>
<li>IMPROVED: high-dpr-support in JKQTMathText</li>
<li>IMPROVED: typesetting of sub-/supercripts, especially for large math operators and braces</li>
<li>MODIFIED: brace node now calculates the extension of the child height above or below the strikeoutPos, in order to center braces around the strikeoutPos</li>
@ -47,12 +47,12 @@ Changes, compared to \ref page_whatsnew_V4_0_0 "v4.0.0" include:
<li>IMPROVED: added x-correction for sub/superscript above/below/besides integrals</li>
<li>IMPROVED: rendering of sqrt</li>
<li>IMPROVED: rendering and size calculation of decorations</li>
<li>IMPROVED: tokenizing and parsing of text in text-mode: now a lot of accents with commands like \"a, \'e and variants (e.g. {\"a}, \"{a}, ...) are supported now</li>
<li>IMPROVED: tokenizing and parsing of text in text-mode: now a lot of accents with commands like \c \\\"a, \c \\'e and variants (e.g. \c {\\\"a}, \c \\\"{a}, ...) are supported now</li>
<li>IMPROVED/breaking: refactored symbol node JKQTMathTextSymbolNode and changed font-lookup!</li>
<li>IMPROVED/NEW/breaking: refactored whitespace-processing node JKQTMathTextWhitespaceNode, now all major LaTeX whitespace commands are supported properly</li>
<li>IMPROVED/NEW/breaking: refactored LaTeX parser in JKQTMathText</li>
<li>REMOVED/breaking: \v[a-zA-Z] and shorthand for \vec{a-zA-Z} was removed, implementation of \bbR,\bbC,... changed</li>
<li>NEW: now supports new decoration instructions: \cancel, \xcancel, \bcancel, \sout, \ocirc, \widetilde, \widehat, \breve</li>
<li>REMOVED/breaking: \c \\v[a-zA-Z] and shorthand for \c \\vec{a-zA-Z} was removed, implementation of \c \\bbR,\c \\bbC,... changed</li>
<li>NEW: now supports new decoration instructions: \c \\cancel, \c \\xcancel, \c \\bcancel, \c \\sout, \c \\ocirc, \c \\widetilde, \c \\widehat, \c \\breve</li>
<li>NEW: reworked drawing of decorations: improved appearance and positioning!</li>
<li>NEW: reworked code structure: broke up large, single CPP-files into several smaller files!</li>
<li>NEW: reworked node class tree: inserted base-class nodes for single-child, dual-child!</li>
@ -60,13 +60,13 @@ Changes, compared to \ref page_whatsnew_V4_0_0 "v4.0.0" include:
<li>NEW: shows strikeoutPos when drawing Debug-Boxes</li>
<li>NEW: LaTeX-Parser understands optional instruction parameters in [...] now</li>
<li>NEW: LaTeX-Parser simplifies parse-tree to increase speed of execution</li>
<li>NEW: \limits and \nolimits works as in LaTeX now (before it was simply removed and the functionality implemented for a fixed list of symbols)</li>
<li>NEW: added top-corner (\ulcorner/\urcorner) and bottom-corner brackets (\llcorner/\lrcorner)</li>
<li>NEW: added \overbracket and \underbracket</li>
<li>NEW: added \shaded{color}{...}</li>
<li>NEW: added \acute{X}, \grave{X}, \acute{X}</li>
<li>NEW: \c \\limits and \c \\nolimits works as in LaTeX now (before it was simply removed and the functionality implemented for a fixed list of symbols)</li>
<li>NEW: added top-corner (\c \\ulcorner/\c \\urcorner ) and bottom-corner brackets (\c \\llcorner/\c \\lrcorner )</li>
<li>NEW: added \c \\overbracket and \c \\underbracket</li>
<li>NEW: added \c \\shaded{color}{...} </li>
<li>NEW: added \c \\acute{X}, \c \\grave{X}, \c \\acute{X}</li>
<li>NEW: added functions to set the font-size in pixels (as alternative to the existing functions that set them in points), implements request <a href="https://github.com/jkriege2/JKQtPlotter/issues/76">#76</a> from <a href="https://github.com/igormironchik">user:igormironchik</a> </li>
</ul>
</ul></li>
</ul>
\subsection page_whatsnew_TRUNK_DOWNLOAD trunk: Download
@ -123,7 +123,7 @@ Changes, compared to \ref page_whatsnew_V2019_11 "v2019.11" include:
<li>new: added support for high-dpi devices (thanks for <a href="https://github.com/jkriege2/JKQtPlotter/pull/55">PR #55: Enable high-dpi support for plots </a> by <a href="https://github.com/akenmorris">user:akenmorris</a>.</li>
<li>new: added geometric plot objects JKQTPGeoArrow to draw arrows (aka lines with added line-end decorators, also extended JKQTPGeoLine, JKQTPGeoInfiniteLine, JKQTPGeoPolyLines to draw line-end decorator (aka arrows)</li>
<li>new: all geometric objects can either be drawn as graphic element (i.e. lines are straight line, even on non-linear axes), or as mathematical curve (i.e. on non-linear axes, lines become the appropriate curve representing the linear function, connecting the given start/end-points). The only exceptions are ellipses (and the derived arcs,pies,chords), which are always drawn as mathematical curves</li>
<li>new: a new graph class JKQTPXYFunctionLineGraph draws parametric 2D curves ( \f$ [x,y] = f(t) \f$ ), see \ref JKQTPlotterEvalCurves for an example</li>
<li>new: a new graph class JKQTPXYFunctionLineGraph draws parametric 2D curves ( \\f$ [x,y] = f(t) \\f$ ), see \ref JKQTPlotterEvalCurves for an example</li>
<li>new: added several new copy/set-functions to JKQTPDatastore</li>
<li>new: added JKQTPlotter signal, when widget was resized</li>
<li>new: added JKQTPFilledHorizontalRangeGraph, complementing JKQTPFilledVerticalRangeGraph</li>
@ -159,7 +159,7 @@ Changes, compared to \ref page_whatsnew_V2018_08 "v2018.08" include:
<ul>
<li> new: added JKQTPSingleColumnSymbolsGraph for single-column data, e.g. drawn as (random) scatter or bee-swarm or rug plots </li>
<li> new: stacked barcharts with JKQTPBarVerticalStackableGraph, JKQTPBarHorizontalStackableGraph </li>
<li> new: use/support of C++11 features (e.g. \c std::function<> and lambda functions in JKQTPXFunctionLineGraph / JKQTPYFunctionLineGraph )</li>
<li> new: use/support of C++11 features (e.g. \\c std::function<> and lambda functions in JKQTPXFunctionLineGraph / JKQTPYFunctionLineGraph )</li>
<li> new: \ref jkqtpinterfaceopencv "optional OpenCV interface" </li>
<li> new: \ref jkqtpinterfacecimg "optional CImg interface" </li>
<li> new: \ref jkqtpplotter_styling "Styling System for JKQTPlotter" </li>

View File

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -107,4 +107,4 @@ All test-projects are Qt-projects that use qmake to build. You can load them int
| Screenshot | Description | Notes |
|:-------------:| ------------- | ------------- |
| [![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest1_small.png)](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest/README.md) | [CMake Example Linking Against JKQTPlotter](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/cmake_link_example) | explains how to link against JKQTPlotter with CMake |
| [![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_cmakelink_small.png)](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/cmake_link_example/README.md) | [CMake Example Linking Against JKQTPlotter](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/cmake_link_example) | explains how to link against JKQTPlotter with CMake |

View File

@ -24,7 +24,7 @@
/*! \def JKQTCOMMON_LIB_EXPORT
\ingroup tools
\ingroup jkqtptools_libfacilities
This define allows to export functions and classes from the jkqtcommon-library when building a dynamic/shared library.
Usage is as follows:
@ -56,16 +56,24 @@
*/
// necessary to add this define to the Doxygen autodoc!!!
#ifdef DOXYGEN
# define JKQTCOMMON_LIB_IN_DLL
#endif
/*! \def JKQTCOMMON_LIB_IN_DLL
\ingroup tools
\ingroup jkqtptools_libfacilities
\brief declares that the application should link against a shared version of
JKQTCommon, i.e. \c JKQTCommonSharedLib_XYZ .
This needs to be defined while compiling the library and while compiling
any application linking against \c JKQTCommonSharedLib_XYZ.
*/
// necessary to add this define to the Doxygen autodoc!!!
#ifdef DOXYGEN
# define JKQTCOMMON_LIB_EXPORT_LIBRARY
#endif
/*! \def JKQTCOMMON_LIB_EXPORT_LIBRARY
\ingroup tools
\ingroup jkqtptools_libfacilities
\brief is only defined while compiling JKQTCommon into \c JKQTCommonSharedLib_XYZ
and ensures thet the symbols are exported. If it is not defined (e.g. while
compiling an application), the symbols are imported

View File

@ -198,25 +198,21 @@ enum JKQTPMathImageColorRangeFailAction {
/*! \brief tool structure that summarizes several static properties of JKQTPlotters palette system,
also provides functions to work with palettes and register user-defined palettes.
\ingroup jkqtptools_qt
\ingroup jkqtplotter_imagelots_tools
\see \ref JKQTPlotterImagePlot
*/
struct JKQTPImageTools {
/*! \brief Datatype to store lookup-tables used to map data values (scales to 0..size-1) onto RGB-colors
\ingroup jkqtptools_qt */
/*! \brief Datatype to store lookup-tables used to map data values (scales to 0..size-1) onto RGB-colors */
typedef QVector<QRgb> LUTType;
/*! \brief Width of the Palette-Icons, generated e.g. by JKQTPImageTools::GetPaletteIcon()
\ingroup jkqtptools_qt */
/*! \brief Width of the Palette-Icons, generated e.g. by JKQTPImageTools::GetPaletteIcon() */
static JKQTCOMMON_LIB_EXPORT const int PALETTE_ICON_WIDTH;
/*! \brief Height of the Palette-Icons, generated e.g. by JKQTPImageTools::GetPaletteIcon()
\ingroup jkqtptools_qt */
/*! \brief Height of the Palette-Icons, generated e.g. by JKQTPImageTools::GetPaletteIcon() */
static JKQTCOMMON_LIB_EXPORT const int PALETTE_IMAGEICON_HEIGHT;
/*! \brief size of the lookup tables used by JKQTFPimagePlot_array2image()
*/
/*! \brief size of the lookup tables used by JKQTFPimagePlot_array2image() */
static JKQTCOMMON_LIB_EXPORT const int LUTSIZE;
/*! \brief loads all palettes defined in the given palette files \a filename into global_jkqtpimagetools_userluts

View File

@ -32,28 +32,28 @@
#include "jkqtcommon/jkqtpdrawingtools.h"
/** \brief make a QIcon representing a QColor
* \ingroup tools
* \ingroup jkqtptools_icons
*/
JKQTCOMMON_LIB_EXPORT QIcon jkqtp_makeQColorIcon(QColor style);
/** \brief make a QIcon representing a Qt::BrushStyle
* \ingroup tools
* \ingroup jkqtptools_icons
*/
JKQTCOMMON_LIB_EXPORT QIcon jkqtp_makeQBrushStyleIcon(Qt::BrushStyle style);
/** \brief make a QIcon representing a Qt::PenStyle
* \ingroup tools
* \ingroup jkqtptools_icons
*/
JKQTCOMMON_LIB_EXPORT QIcon jkqtp_makeQPenStyleIcon(Qt::PenStyle style);
/** \brief make a QIcon representing a JKQTPLineDecoratorStyle
* \ingroup tools
* \ingroup jkqtptools_icons
*/
JKQTCOMMON_LIB_EXPORT QIcon JKQTPLineDecoratorStyle2Icon(JKQTPLineDecoratorStyle style);
/** \brief make a QIcon representing a JKQTPGraphSymbols
* \ingroup tools
* \ingroup jkqtptools_icons
*/
JKQTCOMMON_LIB_EXPORT QIcon JKQTPGraphSymbols2Icon(JKQTPGraphSymbols style);

View File

@ -24,7 +24,7 @@
/*! \def JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT
\ingroup tools
\ingroup jkqtcommon_statistics_and_math_libfacilities
This define allows to export functions and classes from the jkqtcommon_statistics_and_math-library when building a dynamic/shared library.
Usage is as follows:
@ -56,16 +56,24 @@
*/
// necessary to add this define to the Doxygen autodoc!!!
#ifdef DOXYGEN
# define JKQTCOMMON_STATISTICS_AND_MATH_LIB_IN_DLL
#endif
/*! \def JKQTCOMMON_STATISTICS_AND_MATH_LIB_IN_DLL
\ingroup tools
\ingroup jkqtcommon_statistics_and_math_libfacilities
\brief declares that the application should link against a shared version of
JKQTCommonStatisticsAndMath, i.e. \c JKQTCommonStatisticsAndMathSharedLib_XYZ .
This needs to be defined while compiling the library and while compiling
any application linking against \c JKQTCommonStatisticsAndMathSharedLib_XYZ.
*/
// necessary to add this define to the Doxygen autodoc!!!
#ifdef DOXYGEN
# define JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT_LIBRARY
#endif
/*! \def JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT_LIBRARY
\ingroup tools
\ingroup jkqtcommon_statistics_and_math_libfacilities
\brief is only defined while compiling JKQTCommonStatisticsAndMath into \c JKQTCommonStatisticsAndMathSharedLib_XYZ
and ensures thet the symbols are exported. If it is not defined (e.g. while
compiling an application), the symbols are imported

View File

@ -222,7 +222,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
void* data;
/** \brief the possible tokens that can be recognized by the tokenizer in JKQTPMathParser::getToken()
* \ingroup jkmpultil
* \ingroup jkqtptools_math_parser_utils
*/
enum jkmpTokenType {
END, /*!< \brief end token */
@ -260,7 +260,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/** \brief internal names for logic operations
* \ingroup jkmpultil */
* \ingroup jkqtptools_math_parser_utils */
enum {
jkmpLOPand='a',
jkmpLOPor='o',
@ -272,7 +272,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/** \brief jkmpCOMPdefs internal names for compare operations
* \ingroup jkmpultil*/
* \ingroup jkqtptools_math_parser_utils*/
enum {
jkmpCOMPequal='=',
jkmpCOMPnequal='!',
@ -286,7 +286,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
public:
/** \brief possible result types
* \ingroup jkmpultil
* \ingroup jkqtptools_math_parser_utils
*/
enum jkmpResultType {jkmpDouble, /*!< \brief a floating-point number with double precision. This is also used to deal with integers */
jkmpString, /*!< \brief a string of characters */
@ -295,7 +295,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/** \brief result of any expression
* \ingroup jkmpultil*/
* \ingroup jkqtptools_math_parser_utils*/
struct JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpResult {
jkmpResult();
@ -315,7 +315,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/** \brief This struct is for managing variables. Unlike jkmpResult this struct
* only contains pointers to the data
* \ingroup jkmpultil
* \ingroup jkqtptools_math_parser_utils
*/
struct JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpVariable {
jkmpVariable();
@ -327,7 +327,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
};
/** \brief This struct is for managing temporary variables. It is generally like jkmpVariable.
* \ingroup jkmpultil
* \ingroup jkqtptools_math_parser_utils
*/
struct JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpTempVariable {
std::string name; /*!< \brief name of the variable */
@ -379,7 +379,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/**
* \brief This class is the abstract base class for nodes.
* All allowed node types must inherit from jkmpNode
* \ingroup jkmpNodes
* \ingroup jkqtptools_math_parser_Nodes
*/
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpNode {
protected:
@ -409,7 +409,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/**
* \brief This class represents a binary arithmetic operation:
* add (+), subtract (-), multiply (*), divide (/), a to the power of b (a^b)
* \ingroup jkmpNodes
* \ingroup jkqtptools_math_parser_Nodes
*/
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpBinaryArithmeticNode: public jkmpNode {
private:
@ -434,7 +434,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/**
* \brief This class represents a binary boolean operation: and, or, xor, nor, nand
* \ingroup jkmpNodes
* \ingroup jkqtptools_math_parser_Nodes
*/
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpBinaryBoolNode: public jkmpNode {
private:
@ -459,7 +459,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/**
* \brief This class represents a binary compare operation: !=, ==, >=, <=, >, <
* \ingroup jkmpNodes
* \ingroup jkqtptools_math_parser_Nodes
*/
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpCompareNode: public jkmpNode {
private:
@ -484,7 +484,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/**
* \brief This class represents a unary operations: ! (bool negation), - (arithmetic negation)
* \ingroup jkmpNodes
* \ingroup jkqtptools_math_parser_Nodes
*/
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpUnaryNode: public jkmpNode {
private:
@ -508,7 +508,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/**
* \brief This class represents a variable assignment (a = expression)
* \ingroup jkmpNodes
* \ingroup jkqtptools_math_parser_Nodes
*/
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpVariableAssignNode: public jkmpNode {
private:
@ -533,7 +533,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/**
* \brief This class represents a number, a string contant or a boolean contant (true/false)
* \ingroup jkmpNodes
* \ingroup jkqtptools_math_parser_Nodes
*/
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpConstantNode: public jkmpNode {
private:
@ -552,7 +552,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/**
* \brief This class represents a variable.
* \ingroup jkmpNodes
* \ingroup jkqtptools_math_parser_Nodes
*/
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpVariableNode: public jkmpNode {
private:
@ -571,7 +571,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/**
* \brief This class represents an arbitrary function.
* \ingroup jkmpNodes
* \ingroup jkqtptools_math_parser_Nodes
*
* When initialized this class will get the function description that is
* linked to the supplied function name from JKQTPMathParser object. This
@ -604,7 +604,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/**
* \brief This class represents a list of jkmpNode.
* \ingroup jkmpNodes
* \ingroup jkqtptools_math_parser_Nodes
*
* when evaluating the result will be the result of the last node in the list.
*/
@ -640,7 +640,7 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
/** \brief error handling: exceptions of the type of this class will be thrown if an error occurs
* \ingroup jkmpErrorhandling
* \ingroup jkqtptools_math_parser_Errorhandling
*
* \attention If you do not want to use the exception handling which throws
* jkmpException exceptions, but want to write your own error handling, you should write your own
@ -669,26 +669,26 @@ class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
};
/** \brief type for a custom error handler. This an alternative error handling
* \ingroup jkmpErrorhandling */
* \ingroup jkqtptools_math_parser_Errorhandling */
typedef void (*jkmpexceptionf)(std::string);
/** \brief function that throws an exception or calls an error handler
* \ingroup jkmpErrorhandling */
* \ingroup jkqtptools_math_parser_Errorhandling */
void jkmpError(const std::string& st);
private:
/** \brief if this is nullptr then an exception may be thrown otherwise this should point to an error handler that will be called.
* \ingroup jkmpErrorhandling */
* \ingroup jkqtptools_math_parser_Errorhandling */
jkmpexceptionf jkmathparser_exception_function;
public:
/** \brief activate error handling by use of an exception function
* \ingroup jkmpErrorhandling */
* \ingroup jkqtptools_math_parser_Errorhandling */
void setException_function(jkmpexceptionf exception_function);
/** \brief deactivate error handling by use of an exception function
* \ingroup jkmpErrorhandling */
* \ingroup jkqtptools_math_parser_Errorhandling */
void resetException_function();

View File

@ -642,6 +642,30 @@ void JKQTFastPlotter::updateDataImmediate() {
repaint();
}
void JKQTFastPlotter::setXMin(double value){
setPlotUpdateEnabled(false);
setXRange(value,xMax,xAxisLog);
setPlotUpdateEnabled(true);
}
void JKQTFastPlotter::setXMax(double value){
setPlotUpdateEnabled(false);
setXRange(xMin,value,xAxisLog);
setPlotUpdateEnabled(true);
}
void JKQTFastPlotter::setYMin(double value){
setPlotUpdateEnabled(false);
setYRange(value,yMax,yAxisLog);
setPlotUpdateEnabled(true);
}
void JKQTFastPlotter::setYMax(double value){
setPlotUpdateEnabled(false);
setYRange(yMin,value,yAxisLog);
setPlotUpdateEnabled(true);
}
void JKQTFastPlotter::calcPlotScaling() {
internalPlotBorderBottom=plotBorderBottom;
internalPlotBorderTop=plotBorderTop;

View File

@ -91,6 +91,11 @@ class JKQTFPPlot;
both in pixel and world coordinates by using plotterSizesChanged() and synchronizeX() / synchronizeY().
.
\image html jkqtfastplotter_test.png
\see An example for the usage of this class can be found here: \ref JKQTFastPlotterTest
*/
class JKQTFASTPLOTTER_LIB_EXPORT JKQTFastPlotter :
#if (QT_VERSION>=QT_VERSION_CHECK(6, 0, 0))
@ -979,29 +984,13 @@ class JKQTFASTPLOTTER_LIB_EXPORT JKQTFastPlotter :
void updateDataImmediate();
/** \brief set xMin*/
void setXMin(double value){
setPlotUpdateEnabled(false);
setXRange(value,xMax,xAxisLog);
setPlotUpdateEnabled(true);
}
void setXMin(double value);
/** \brief set xMax*/
void setXMax(double value){
setPlotUpdateEnabled(false);
setXRange(xMin,value,xAxisLog);
setPlotUpdateEnabled(true);
}
void setXMax(double value);
/** \brief set yMin*/
void setYMin(double value){
setPlotUpdateEnabled(false);
setYRange(value,yMax,yAxisLog);
setPlotUpdateEnabled(true);
}
void setYMin(double value);
/** \brief set yMax*/
void setYMax(double value){
setPlotUpdateEnabled(false);
setYRange(yMin,value,yAxisLog);
setPlotUpdateEnabled(true);
}
void setYMax(double value);
};
@ -1011,7 +1000,7 @@ class JKQTFASTPLOTTER_LIB_EXPORT JKQTFastPlotter :
/*! \brief base class for all plots that may be plotted by JKQTFastPlotter
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_PlotItems
*/
class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPPlot: public QObject {
Q_OBJECT
@ -1050,7 +1039,7 @@ class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPPlot: public QObject {
/*! \brief a simple line plot for JKQTFastPlotter
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_PlotItems
This class plots data as (x,y) points connected by straight lines. If errors for the y values are
provided, also y+/-yerr errorlines are drawn.
@ -1279,7 +1268,7 @@ class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPLinePlot: public JKQTFPPlot {
/*! \brief a simple plot that draws a cross for every datapoint
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_PlotItems
This class does not support y errors!
*/
@ -1334,7 +1323,7 @@ class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPVCrossPlot: public JKQTFPLinePlot {
/*! \brief a simple vertical bar plot for JKQTFastPlotter
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_PlotItems
This class does not support y errors!
*/
@ -1370,7 +1359,7 @@ class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPVBarPlot: public JKQTFPLinePlot {
/*! \brief plot a range of x values
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_PlotItems
*/
class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPXRangePlot: public JKQTFPPlot {
@ -1534,7 +1523,7 @@ class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPXRangePlot: public JKQTFPPlot {
/*! \brief plot a range of x values
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_PlotItems
*/
class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPYRangePlot: public JKQTFPPlot {
@ -1698,7 +1687,7 @@ class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPYRangePlot: public JKQTFPPlot {
/*! \brief a plot of a QImage
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_PlotItems
*/
class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPQImagePlot: public JKQTFPPlot {
Q_OBJECT
@ -1795,7 +1784,7 @@ class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPQImagePlot: public JKQTFPPlot {
/*!
\brief An enum for selecting the palette for coloring
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_tools
Here, the color palettes are illustrated (left is the color for the minimum and right for the maximum).
*/
@ -1822,7 +1811,7 @@ enum JKQTFPColorPalette {
};
/*! \brief datatype for an image plotpalette for coloring
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_tools
Here, the color palettes are illustrated (left is the color for the minimum and right for the maximum).
*/
@ -1838,7 +1827,7 @@ enum JKQTFPImageFormat {
/*! \brief convert a 2D image (as 1D array) into a QImage with given palette (see JKQTFPColorPalette)
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_tools
This method uses lookup tables which are saved as static variables to convert the 2D array into
an image. The luts are only created once, and stored then, so mor CPU time is saved. The precompiler define
@ -2358,24 +2347,24 @@ inline void JKQTFPimagePlot_array2image(T* dbl, int width, int height, QImage &i
};
/*! \brief get list with all available palettes
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_tools
\see JKQTFPimagePlot_array2image()
*/
JKQTFASTPLOTTER_LIB_EXPORT QStringList JKQTFPimagePlot_getPalettes();
/*! \brief get QIcon representing the given palette
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_tools
\see JKQTFPimagePlot_array2image()
*/
JKQTFASTPLOTTER_LIB_EXPORT QIcon JKQTFPimagePlot_getPaletteIcon(int i);
/*! \brief get QIcon representing the given palette
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_tools
\see JKQTFPimagePlot_array2image()
*/
JKQTFASTPLOTTER_LIB_EXPORT QIcon JKQTFPimagePlot_getPaletteIcon(JKQTFPColorPalette palette);
/*! \brief plots a given grayscale image with a given color palette
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_PlotItems
- This plot may plot any 2D array of data (8-, 16-, 32-bit integer images, float and double).
- This class also draws a color bar in the right border of the plot
@ -2644,7 +2633,7 @@ class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPimagePlot: public JKQTFPPlot {
/*! \brief convert a 2D image (as 1D array) into a QImage and puts the image values into one color channel (set by \a channel).
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_tools
*/
template <class T>
@ -2746,7 +2735,7 @@ inline void JKQTFPRGBImageOverlayPlot_array2image(T* dbl, int width, int height,
/*! \brief plots 1,2 or 3 given grayscale images as an overlay plot, where each channel is drawn as one color channel (e.g. red, green or blue).
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_PlotItems
- This plot may plot any 2D array of data (8-, 16-, 32-bit integer images, float and double).
- The images all have to have the same size
@ -3112,7 +3101,7 @@ class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPRGBImageOverlayPlot: public JKQTFPPlot {
/*! \brief plots an image overlay, i.e. a boolean image where each \c true pixel is drawn with a given color
and the \c false pixels are transparent
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_PlotItems
*/
class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPimageOverlayPlot: public JKQTFPPlot {
@ -3267,7 +3256,7 @@ class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPimageOverlayPlot: public JKQTFPPlot {
/*! \brief plot a horizontal scale bar
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_PlotItems
*/
class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPQScaleBarXPlot: public JKQTFPPlot {
@ -3391,7 +3380,7 @@ class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPQScaleBarXPlot: public JKQTFPPlot {
/*! \brief plot a horizontal scale bar
\ingroup jkqtfastplotter
\ingroup jkqtfastplotter_PlotItems
*/
class JKQTFASTPLOTTER_LIB_EXPORT JKQTFPQOverlayLinearGridPlot: public JKQTFPPlot {

View File

@ -25,7 +25,7 @@
/*! \def JKQTFASTPLOTTER_LIB_EXPORT
\ingroup tools
\ingroup jkqtfastplotter_tools
This define allows to export functions and classes from the jkqtcommon-library when building a dynamic/shared library.
Usage is as follows:
@ -57,16 +57,24 @@
*/
// necessary to add this define to the Doxygen autodoc!!!
#ifdef DOXYGEN
# define JKQTFASTPLOTTER_LIB_IN_DLL
#endif
/*! \def JKQTFASTPLOTTER_LIB_IN_DLL
\ingroup tools
\ingroup jkqtfastplotter_tools
\brief declares that the application should link against a shared version of
JKQTFastPlotter, i.e. \c JKQTFastPlotterSharedLib_XYZ .
This needs to be defined while compiling the library and while compiling
any application linking against \c JKQTFastPlotterSharedLib_XYZ.
*/
// necessary to add this define to the Doxygen autodoc!!!
#ifdef DOXYGEN
# define JKQTFASTPLOTTER_LIB_EXPORT_LIBRARY
#endif
/*! \def JKQTFASTPLOTTER_LIB_EXPORT_LIBRARY
\ingroup tools
\ingroup jkqtfastplotter_tools
\brief is only defined while compiling JKQTFastPlotter into \c JKQTFastPlotterSharedLib_XYZ
and ensures thet the symbols are exported. If it is not defined (e.g. while
compiling an application), the symbols are imported

View File

@ -124,9 +124,9 @@ class JKQTMathTextNode; // forward
- \c \\textcolor{color}{...} \c \\color{color} \c \\mathcolor{color}{...} : draw colored text \image html jkqtmathtext/jkqtmathtext_colored.png
- \c \\boxed{...} : draw text with a box around it \image html jkqtmathtext/jkqtmathtext_boxed.png
- \c \\doublebox{...} : draw text with a rounded box around it \image html jkqtmathtext/jkqtmathtext_doublebox.png
- \c \\ovalbox{...} : draw text with a rounded box around it \image html jkqtmathtext/jkqtmathtext_ovalbox.png
- \c \\ovalbox{...} : draw text with a rounded box around it \image html jkqtmathtext/jkqtmathtext_ovalboxed.png
- \c \\Ovalbox{...} : draw a thick oval box \image html jkqtmathtext/jkqtmathtext_oovalbox.png
- \c \\ovaldoublebox{...} : draw a double oval box \image html jkqtmathtext/jkqtmathtext_ovaldoublebox.png
- \c \\ovaldoublebox{...} : draw a double oval box \image html jkqtmathtext/jkqtmathtext_doubleovalbox.png
- \c \\colorbox{bordercolor}{...} : draw a colored box \image html jkqtmathtext/jkqtmathtext_colorbox.png
- \c \\shaded{backgroundcolor}{...} : draw a filled box \image html jkqtmathtext/jkqtmathtext_shaded.png
- \c \\fcolorbox{bordercolor}{backgroundcolor}{...} : draw a colored, filled box \image html jkqtmathtext/jkqtmathtext_fcolorbox.png
@ -206,14 +206,14 @@ class JKQTMathTextNode; // forward
.
These fonts are generic font classes, which font is actually used can be configured in JKQTMathText class with the \c set...() functions mentioned above. You can also use these functions to set the fonts used for math rendering in math-mode:
- useSTIX() use the STIX fonts from <a href="https://www.stixfonts.org/">https://www.stixfonts.org/</a> in math-mode<br>\image html jkqtmathtext/jkqtmathparser_stix.png
- useXITS() use the XITS fonts from <a href="https://github.com/alif-type/xits">https://github.com/alif-type/xits</a> in math-mode. These are included by default in this library and also activated by default.<br>\image html jkqtmathtext/jkqtmathparser_xits.png
- useASANA() use the ASANA fonts from <a href="https://ctan.org/tex-archive/fonts/Asana-Math/">https://ctan.org/tex-archive/fonts/Asana-Math/</a> in math-mode<br>\image html jkqtmathtext/jkqtmathparser_asana.png
- useAnyUnicode() use generic Unicode fonts, e.g. "Arial" and "Times New Roman" in math-mode. You should use fonts that contain as many of the mathematical symbols as possible to ensure good rendering results.<br>using "Times New Roman": \image html jkqtmathtext/jkqtmathparser_timesnewroman.png
<br>using "Arial": \image html jkqtmathtext/jkqtmathparser_arial.png
<br>using "Courier New": \image html jkqtmathtext/jkqtmathparser_couriernew.png
<br>using "Comic Sans MS": \image html jkqtmathtext/jkqtmathparser_comicsans.png
<br>using "Old English Text": \image html jkqtmathtext/jkqtmathparser_OldEnglish.png
- useSTIX() use the STIX fonts from <a href="https://www.stixfonts.org/">https://www.stixfonts.org/</a> in math-mode<br>\image html jkqtmathtext/jkqtmathtext_stix.png
- useXITS() use the XITS fonts from <a href="https://github.com/alif-type/xits">https://github.com/alif-type/xits</a> in math-mode. These are included by default in this library and also activated by default.<br>\image html jkqtmathtext/jkqtmathtext_xits.png
- useASANA() use the ASANA fonts from <a href="https://ctan.org/tex-archive/fonts/Asana-Math/">https://ctan.org/tex-archive/fonts/Asana-Math/</a> in math-mode<br>\image html jkqtmathtext/jkqtmathtext_asana.png
- useAnyUnicode() use generic Unicode fonts, e.g. "Arial" and "Times New Roman" in math-mode. You should use fonts that contain as many of the mathematical symbols as possible to ensure good rendering results.<br>using "Times New Roman": \image html jkqtmathtext/jkqtmathtext_timesnewroman.png
<br>using "Arial": \image html jkqtmathtext/jkqtmathtext_arial.png
<br>using "Courier New": \image html jkqtmathtext/jkqtmathtext_couriernew.png
<br>using "Comic Sans MS": \image html jkqtmathtext/jkqtmathtext_comicsans.png
<br>using "Old English Text": \image html jkqtmathtext/jkqtmathtext_OldEnglish.png
.
Math-mode is activated by enclosing your equation in \c $...$ or \c \\[...\\] . This mode is optimized for mathematical equations. Here is an example of the difference:
@ -285,7 +285,7 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathText : public QObject {
*
* \param painter the <a href="http://doc.qt.io/qt-5/qpainter.html">QPainter</a> to use for drawing
* \param rect rectangle to draw the text/expression into (see sketch below)
* \param flags alignment within \a rect (see below), use e.g. \c Qt::AlignHCenter|Qt::AlignVCenter to center the expression inside \a rect
* \param flags alignment within \a rect (see below), use e.g. <tt>Qt::AlignHCenter | Qt::AlignVCenter</tt> to center the expression inside \a rect
* \param drawBoxes if \c true boxes defining the size of each node are drawn, example output: \image html jkqtmathtext/jkqtmathtext_drawboxes.png
*
* These options are interpreted for \a flags (dark-red is the rectangle \a rect):
@ -425,7 +425,7 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathText : public QObject {
*
* use STIX (1.x/2.x) fonts from <a href="https://www.stixfonts.org/">https://www.stixfonts.org/</a> in math-mode
*
* \image html jkqtmathtext/stix.png
* \image html jkqtmathtext/jkqtmathtext_stix.png
*/
bool useSTIX(bool mathModeOnly=true);
@ -434,7 +434,7 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathText : public QObject {
* use XITS fonts from <a href="https://github.com/alif-type/xits">https://github.com/alif-type/xits</a> in math-mode.
* These are included by default in this library and also activated by default.
*
* \image html jkqtmathtext/xits.png
* \image html jkqtmathtext/jkqtmathtext_xits.png
*
* \note The XITS fonts can be compiled into JKQTPlotter, when the CMake-option \c is set to ON (default: ON).
* Then the XITS fonts are added as Qt-Ressources to the library binary.
@ -447,7 +447,7 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathText : public QObject {
*
* use the ASANA fonts from <a href="https://ctan.org/tex-archive/fonts/Asana-Math/">https://ctan.org/tex-archive/fonts/Asana-Math/</a> in math-mode
*
* \image html jkqtmathtext/asana.png
* \image html jkqtmathtext/jkqtmathtext_asana.png
*/
bool useASANA(bool mathModeOnly=true);
@ -457,11 +457,11 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathText : public QObject {
* You should use fonts that contain as many of the mathematical symbols as possible
* to ensure good rendering results.
*
* <code>useAnyUnicode("Times New Roman", "Times New Roman")</code>:<br>\image html jkqtmathtext/jkqtmathparser_timesnewroman.png <br><br>
* <code>useAnyUnicode("Arial", "Arial")</code>:<br>\image html jkqtmathtext/jkqtmathparser_arial.png <br><br>
* <code>useAnyUnicode("Courier New", "Courier New")</code>:<br>\image html jkqtmathtext/jkqtmathparser_couriernew.png <br><br>
* <code>useAnyUnicode("Comic Sans MS", "Comic Sans MS")</code>:<br>\image html jkqtmathtext/jkqtmathparser_comicsans.png <br><br>
* <code>useAnyUnicodeForTextOnly("Comic Sans MS", "Comic Sans MS");</code>:<br/>\image html jkqtmathparser_comicsans_textonly.png
* <code>useAnyUnicode("Times New Roman", "Times New Roman")</code>:<br>\image html jkqtmathtext/jkqtmathtext_timesnewroman.png <br><br>
* <code>useAnyUnicode("Arial", "Arial")</code>:<br>\image html jkqtmathtext/jkqtmathtext_arial.png <br><br>
* <code>useAnyUnicode("Courier New", "Courier New")</code>:<br>\image html jkqtmathtext/jkqtmathtext_couriernew.png <br><br>
* <code>useAnyUnicode("Comic Sans MS", "Comic Sans MS")</code>:<br>\image html jkqtmathtext/jkqtmathtext_comicsans.png <br><br>
* <code>useAnyUnicodeForTextOnly("Comic Sans MS", "Comic Sans MS");</code>:<br/>\image html jkqtmathtext/jkqtmathtext_comicsans_textonly.png
*/
void useAnyUnicode(QString timesFont, const QString& sansFont, JKQTMathTextFontEncoding encodingTimes=JKQTMathTextFontEncoding::MTFEUnicode, JKQTMathTextFontEncoding encodingSans=JKQTMathTextFontEncoding::MTFEUnicode);
/** \brief sets \a timesFont (with its encoding \a encodingTimes ) for serif-text and \a sansFont (with its encoding \a encodingSans ) for mathmode fonts only
@ -476,8 +476,8 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathText : public QObject {
*
* \see useAnyUnicodeForMathOnly(), useAnyUnicode()
*
* <code>useAnyUnicode("Comic Sans MS", "Comic Sans MS")</code>:<br>\image html jkqtmathtext/jkqtmathparser_comicsans.png <br><br>
* <code>useAnyUnicodeForTextOnly("Comic Sans MS", "Comic Sans MS");</code>:<br/>\image html jkqtmathparser_comicsans_textonly.png
* <code>useAnyUnicode("Comic Sans MS", "Comic Sans MS")</code>:<br>\image html jkqtmathtext/jkqtmathtext_comicsans.png <br><br>
* <code>useAnyUnicodeForTextOnly("Comic Sans MS", "Comic Sans MS");</code>:<br/>\image html jkqtmathtext/jkqtmathtext_comicsans_textonly.png
*/
void useAnyUnicodeForTextOnly(QString timesFont, const QString& sansFont, JKQTMathTextFontEncoding encodingTimes=JKQTMathTextFontEncoding::MTFEUnicode, JKQTMathTextFontEncoding encodingSans=JKQTMathTextFontEncoding::MTFEUnicode);
@ -559,9 +559,9 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathText : public QObject {
void setUnderbraceBraceSizeXFactor(double __value);
/** \copydoc underbrace_bracesize_xfactor */
double getUnderbraceBraceSizeXFactor() const;
/** \copydoc undersetFactor */
/** \copydoc underset_factor */
void setUndersetFactor(double __value);
/** \copydoc undersetFactor */
/** \copydoc underset_factor */
double getUndersetFactor() const;
/** \copydoc frac_factor */
void setFracFactor(double __value);
@ -702,7 +702,7 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathText : public QObject {
* The next image demonstrates the effect of this property, which adds extra space
* around certain math operators in math mode:
*
* \image html jkqtmathparser_mathoperator_width_factor.png
* \image html jkqtmathtext/jkqtmathtext_mathoperator_width_factor.png
*/
double mathoperator_width_factor;
/** \brief factor, used to increase the font size for big math operators, such as \c \\sum , \c \\prod , ...
@ -737,12 +737,12 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathText : public QObject {
/** \brief scaling factor for font size of nominator and denominator of a fraction
*
* \image html jkqtmathtext_frac_factor.png
* \image html jkqtmathtext/jkqtmathtext_frac_factor.png
*/
double frac_factor;
/** \brief scaling factor for font size of nominator and denominator of a nested fraction
*
* \image html jkqtmathtext_frac_factor.png
* \image html jkqtmathtext/jkqtmathtext_frac_factor.png
*/
double frac_nested_factor;
/** \brief shift of denominator/nummerator away from central line of a frac
@ -798,7 +798,7 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathText : public QObject {
enum tokenType {
MTTnone, /*!< \brief no token */
MTTtext, /*!< \brief a piece of general text */
MTTinstruction, /*!< \brief an instruction, started by \c "\\", e.g. \c "\textbf", ... */
MTTinstruction, /*!< \brief an instruction, started by \c "\\", e.g. \c "\\textbf", ... */
MTTunderscore, /*!< \brief the character \c "_" */
MTThat, /*!< \brief the character \c "^" */
MTTdollar, /*!< \brief the character \c "$" */
@ -816,7 +816,7 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathText : public QObject {
*
* \param get if \c true this calls getToken()
* \param quitOnClosingBrace if unequal MTBTAny, this returns if the given closing brace is found
* \param quitOnEnvironmentEnd wuit if \end{quitOnEnvironmentEnd} is found
* \param quitOnEnvironmentEnd wuit if \c \\end{quitOnEnvironmentEnd} is found
* \param quitOnClosingBracket if \c true, quits on encountering a MTTclosebracket token
*/
JKQTMathTextNode* parseLatexString(bool get, JKQTMathTextBraceType quitOnClosingBrace=JKQTMathTextBraceType::MTBTAny, const QString& quitOnEnvironmentEnd=QString(""), bool quitOnClosingBracket=false);

View File

@ -25,7 +25,7 @@
/*! \def JKQTMATHTEXT_LIB_EXPORT
\ingroup jkqtmathtext_tools
\ingroup jkqtmathtext_libfacilities
This define allows to export functions and classes from the jkqtcommon-library when building a dynamic/shared library.
Usage is as follows:
@ -57,16 +57,24 @@
*/
// necessary to add this define to the Doxygen autodoc!!!
#ifdef DOXYGEN
# define JKQTMATHTEXT_LIB_IN_DLL
#endif
/*! \def JKQTMATHTEXT_LIB_IN_DLL
\ingroup jkqtmathtext_tools
\ingroup jkqtmathtext_libfacilities
\brief declares that the application should link against a shared version of
JKQTMathText, i.e. \c JKQTMathTextSharedLib_XYZ .
This needs to be defined while compiling the library and while compiling
any application linking against \c JKQTMathTextSharedLib_XYZ.
*/
// necessary to add this define to the Doxygen autodoc!!!
#ifdef DOXYGEN
# define JKQTMATHTEXT_LIB_EXPORT_LIBRARY
#endif
/*! \def JKQTMATHTEXT_LIB_EXPORT_LIBRARY
\ingroup jkqtmathtext_tools
\ingroup jkqtmathtext_libfacilities
\brief is only defined while compiling JKQTMathText into \c JKQTMathTextSharedLib_XYZ
and ensures thet the symbols are exported. If it is not defined (e.g. while
compiling an application), the symbols are imported

View File

@ -318,7 +318,7 @@ struct JKQTMATHTEXT_LIB_EXPORT JKQTMathTextFontDefinition {
* \param x x-center-position of the brace
* \param ybrace y-center-position of the brace
* \param width with of the overall brace
* \param height of the brace
* \param bw height of the brace
* \param lineWidth linewidth when drawing, used for correcting so the brace exactly fills the rectangle and not overshoots it
* \param cubicshrink
* \param cubiccontrolfac

View File

@ -97,7 +97,7 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathTextDecoratedNode: public JKQTMathTextSing
DecorationType decoration;
/** \brief lists all supported instructions */
static QHash<QString, DecorationType> instructions;
/** \biref fills instructions */
/** \brief fills instructions */
static void fillInstructions();
};
#endif // JKQTMATHTEXTDECORATEDNODE_H

View File

@ -91,7 +91,7 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathTextFracNode: public JKQTMathTextDualChild
protected:
/** \brief lists all supported instructions */
static QHash<QString, FracType> instructions;
/** \biref fills instructions */
/** \brief fills instructions */
static void fillInstructions();
/** \copydoc JKQTMathTextNode::getSizeInternal() */
virtual void getSizeInternal(QPainter& painter, JKQTMathTextEnvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos, const JKQTMathTextNodeSize* prevNodeSize=nullptr) override;

View File

@ -133,131 +133,193 @@ void JKQTMathTextModifiedTextPropsInstructionNode::fillInstructions()
{
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {ev.bold=true; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.bold=true;
}, 0);
instructions["bf"] = i;
instructions["textbf"] = i;
instructions["mathbf"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {ev.italic=!ev.italic; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.italic=!ev.italic;
}, 0);
instructions["em"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {ev.italic=true; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.italic=true;
}, 0);
instructions["it"] = i;
instructions["textit"] = i;
instructions["mathit"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& parameters) {ev.color=jkqtp_String2QColor(parameters.value(0, ev.color.name())); }, 1);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& parameters) {
ev.color=jkqtp_String2QColor(parameters.value(0, ev.color.name()));
}, 1);
instructions["textcolor"] = i;
instructions["mathcolor"] = i;
instructions["color"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.italic=true; ev.insideMath=true; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.italic=true; ev.insideMath=true;
}, 0);
instructions["ensuremath"] = i;
instructions["equation"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {ev.smallCaps=true; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.smallCaps=true;
}, 0);
instructions["sc"] = i;
instructions["textsc"] = i;
instructions["mathsc"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {ev.underlined=true; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.underlined=true;
}, 0);
instructions["ul"] = i;
instructions["underline"] = i;
instructions["underlined"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {ev.overline=true; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.overline=true;
}, 0);
instructions["ol"] = i;
instructions["overline"] = i;
instructions["overlined"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {ev.strike=true; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.strike=true;
}, 0);
instructions["strike"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.font=JKQTMathTextEnvironmentFont::MTEroman; ev.italic=false; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.font=JKQTMathTextEnvironmentFont::MTEroman;
ev.italic=false;
}, 0);
instructions["rm"] = i;
instructions["textrm"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.font=JKQTMathTextEnvironmentFont::MTEroman; ev.italic=false; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.font=JKQTMathTextEnvironmentFont::MTEroman;
ev.italic=false;
}, 0);
instructions["mathrm"] = i;
instructions["unit"] = i;
instructions["operatorname"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.bold=true; ev.italic=true; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.bold=true;
ev.italic=true;
}, 0);
instructions["mathbfit"] = i;
instructions["bfit"] = i;
instructions["textbfit"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.insideMath=false; ev.font=JKQTMathTextEnvironmentFont::MTEroman; ev.italic=false; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.insideMath=false;
ev.font=JKQTMathTextEnvironmentFont::MTEroman;
ev.italic=false;
}, 0);
instructions["text"] = i;
instructions["mbox"] = i;
instructions["ensuretext"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.font=JKQTMathTextEnvironmentFont::MTEroman; ev.italic=false; ev.bold=true; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.font=JKQTMathTextEnvironmentFont::MTEroman;
ev.italic=false;
ev.bold=true;
}, 0);
instructions["mat"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.font=JKQTMathTextEnvironmentFont::MTEcaligraphic; ev.italic=false; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.font=JKQTMathTextEnvironmentFont::MTEcaligraphic;
ev.italic=false;
}, 0);
instructions["cal"] = i;
instructions["textcal"] = i;
instructions["mathcal"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.font=JKQTMathTextEnvironmentFont::MTEcaligraphic; ev.bold=true; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.font=JKQTMathTextEnvironmentFont::MTEcaligraphic;
ev.bold=true;
}, 0);
instructions["fcal"] = i;
instructions["textfcal"] = i;
instructions["mathfcal"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.font=JKQTMathTextEnvironmentFont::MTEfraktur; ev.italic=false; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.font=JKQTMathTextEnvironmentFont::MTEfraktur;
ev.italic=false;
}, 0);
instructions["frak"] = i;
instructions["textfrak"] = i;
instructions["mathfrak"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.font=JKQTMathTextEnvironmentFont::MTEfraktur; ev.bold=true; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.font=JKQTMathTextEnvironmentFont::MTEfraktur;
ev.bold=true;
}, 0);
instructions["ffrak"] = i;
instructions["textffrak"] = i;
instructions["mathffrak"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.font=JKQTMathTextEnvironmentFont::MTEblackboard; ev.italic=false; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.font=JKQTMathTextEnvironmentFont::MTEblackboard;
ev.italic=false;
}, 0);
instructions["bb"] = i;
instructions["textbb"] = i;
instructions["mathbb"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.font=JKQTMathTextEnvironmentFont::MTEtypewriter; ev.italic=false; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.font=JKQTMathTextEnvironmentFont::MTEtypewriter;
ev.italic=false;
}, 0);
instructions["tt"] = i;
instructions["texttt"] = i;
instructions["mathtt"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.font=JKQTMathTextEnvironmentFont::MTEsans; ev.italic=false; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.font=JKQTMathTextEnvironmentFont::MTEsans;
ev.italic=false;
}, 0);
instructions["sf"] = i;
instructions["textsf"] = i;
instructions["mathsf"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.font=JKQTMathTextEnvironmentFont::MTEsans; ev.italic=true; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.font=JKQTMathTextEnvironmentFont::MTEsans;
ev.italic=true;
}, 0);
instructions["sfit"] = i;
instructions["textsfit"] = i;
instructions["mathsfit"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.font=JKQTMathTextEnvironmentFont::MTEscript; ev.italic=false; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.font=JKQTMathTextEnvironmentFont::MTEscript;
ev.italic=false;
}, 0);
instructions["script"] = i;
instructions["scr"] = i;
instructions["textscript"] = i;
@ -266,7 +328,11 @@ void JKQTMathTextModifiedTextPropsInstructionNode::fillInstructions()
instructions["mathscr"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.font=JKQTMathTextEnvironmentFont::MTEscript; ev.bold=true; ev.italic=false; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.font=JKQTMathTextEnvironmentFont::MTEscript;
ev.bold=true;
ev.italic=false;
}, 0);
instructions["fscript"] = i;
instructions["fscr"] = i;
instructions["textfscript"] = i;
@ -275,15 +341,21 @@ void JKQTMathTextModifiedTextPropsInstructionNode::fillInstructions()
instructions["mathfscr"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.fontSize=ev.fontSize/0.8; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.fontSize=ev.fontSize/0.8;
}, 0);
instructions["displaystyle"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.fontSize=ev.fontSize*0.8; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.fontSize=ev.fontSize*0.8;
}, 0);
instructions["scriptstyle"]= i;
}
{
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) { ev.fontSize=ev.fontSize*0.8*0.8; }, 0);
InstructionProperties i([](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/) {
ev.fontSize=ev.fontSize*0.8*0.8;
}, 0);
instructions["scriptscriptstyle"]= i;
}
}
@ -534,12 +606,16 @@ void JKQTMathTextBoxInstructionNode::fillInstructions()
JKQTMathTextBoxInstructionNode::InstructionProperties::ModifyEnvironmentFunctor JKQTMathTextBoxInstructionNode::InstructionProperties::NoModification=
[](JKQTMathTextEnvironment& /*ev*/, const QStringList& /*parameters*/){};
JKQTMathTextBoxInstructionNode::InstructionProperties::GetBoxPenFunctor JKQTMathTextBoxInstructionNode::InstructionProperties::DefaultPen=
[](JKQTMathTextEnvironment& ev, const QStringList& /*parameters*/, JKQTMathText* parent){ return QPen(ev.color, QFontMetricsF(ev.getFont(parent)).lineWidth(), Qt::SolidLine); };
JKQTMathTextBoxInstructionNode::InstructionProperties::GetBoxPenFunctor JKQTMathTextBoxInstructionNode::InstructionProperties::NoPen=
[](JKQTMathTextEnvironment& /*ev*/, const QStringList& /*parameters*/, JKQTMathText* /*parent*/){ return Qt::NoPen; };
JKQTMathTextBoxInstructionNode::InstructionProperties::GetBoxBrushFunctor JKQTMathTextBoxInstructionNode::InstructionProperties::NoBrush=
[](JKQTMathTextEnvironment& /*ev*/, const QStringList& /*parameters*/, JKQTMathText* /*parent*/){ return Qt::NoBrush; };
double JKQTMathTextBoxInstructionNode::InstructionProperties::DefaultPadding=0.5;
JKQTMathTextBoxInstructionNode::InstructionProperties::InstructionProperties():

View File

@ -46,7 +46,7 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathTextInstruction1Node: public JKQTMathTextS
public:
explicit JKQTMathTextInstruction1Node(JKQTMathText* parent, const QString& name, JKQTMathTextNode* child, const QStringList& parameters=QStringList());
virtual ~JKQTMathTextInstruction1Node() override;
/** \copydoc name */
/** \copydoc instructionName */
const QString& getInstructionName() const;
/** \copydoc parameters */
const QStringList& getParameters() const;
@ -162,9 +162,9 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathTextBoxInstructionNode: public JKQTMathTex
static ModifyEnvironmentFunctor NoModification;
/** \brief this functor returns the QPen to use for the box outline */
typedef std::function<QPen(JKQTMathTextEnvironment& ev, const QStringList& parameters, JKQTMathText* parent)> GetBoxPenFunctor;
/** \bbrief generates a QPen with the lineWidth associated with the QFont of the environment (using QFontMetricsF::lineWidth() ) */
/** \brief generates a QPen with the lineWidth associated with the QFont of the environment (using QFontMetricsF::lineWidth() ) */
static GetBoxPenFunctor DefaultPen;
/** \bbrief generates an invisible pen with 0 width */
/** \brief generates an invisible pen with 0 width */
static GetBoxPenFunctor NoPen;
/** \brief this functor returns the QBrush to use for the box fill */
typedef std::function<QBrush(JKQTMathTextEnvironment& ev, const QStringList& parameters, JKQTMathText* parent)> GetBoxBrushFunctor;

View File

@ -52,7 +52,7 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathTextNode {
*
*/
void getSize(QPainter& painter, JKQTMathTextEnvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos, const JKQTMathTextNodeSize* prevNodeSize=nullptr);
/** \brief calculates the x-size-difference between the given (probably) italic (width externally calculated: \A width_potentiallyitalic, \a ev_potentiallyitalic) and the non-italic version of \a child */
/** \brief calculates the x-size-difference between the given (probably) italic (width externally calculated: \a width_potentiallyitalic, \a ev_potentiallyitalic) and the non-italic version of \a child */
double getNonItalicXCorretion(QPainter &painter, double width_potentiallyitalic, const JKQTMathTextEnvironment &ev_potentiallyitalic, JKQTMathTextNode* child) const;
/** \brief draw the contents at the designated position
*

View File

@ -88,7 +88,7 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathTextSymbolNode: public JKQTMathTextNode {
protected:
/** \copydoc JKQTMathTextNode::getSizeInternal() */
virtual void getSizeInternal(QPainter& painter, JKQTMathTextEnvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos, const JKQTMathTextNodeSize* prevNodeSize=nullptr) override;
/** \copydoc JKQTMathTextNode::getSizeInternal() */
/** \copydoc JKQTMathTextSymbolNode::getSymbolSize() */
virtual void getSymbolSizeInternal(QPainter& painter, JKQTMathTextEnvironment currentEv, double& width, double& baselineHeight, double& overallHeight, double& strikeoutPos, double& subSuperXCorrection, double& subBesidesXCorrection, const JKQTMathTextNodeSize* prevNodeSize=nullptr) ;
@ -184,15 +184,15 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathTextSymbolNode: public JKQTMathTextNode {
SymbolFullProps(const SymbolFullProps& other)=default;
SymbolFullProps& operator=(SymbolFullProps&& other)=default;
SymbolFullProps& operator=(const SymbolFullProps& other)=default;
/** \brief typesets the symbol (described in \a props ) from the specified \a font, \a props is stored with encoding MTFEStandard, an optional HTML-string \A _html can be given */
/** \brief typesets the symbol (described in \a props ) from the specified \a font, \a props is stored with encoding MTFEStandard, an optional HTML-string \a _html can be given */
SymbolFullProps(const QString& font, const SymbolProps& props, const QString& _html=QString(), SymbolFlags _htmlflags=AsOutside, double _htmlfontScalingFactor=1.0, double _htmlyShiftFactor=0.0);
/** \brief typesets the \a symbol from the specified \a font, \a props is stored with encoding MTFEStandard, an optional HTML-string \A _html can be given */
/** \brief typesets the \a symbol from the specified \a font, \a props is stored with encoding MTFEStandard, an optional HTML-string \a _html can be given */
SymbolFullProps(const QString& font, const QString& symbol, const QString& _html=QString(), SymbolFlags _htmlflags=AsOutside, double _htmlfontScalingFactor=1.0, double _htmlyShiftFactor=0.0);
/** \brief \a props is stored with encoding MTFEStandard, an optional HTML-string \A _html can be given */
/** \brief \a props is stored with encoding MTFEStandard, an optional HTML-string \a _html can be given */
SymbolFullProps(const SymbolProps& props, const QString& _html=QString(), SymbolFlags _htmlflags=AsOutside, double _htmlfontScalingFactor=1.0, double _htmlyShiftFactor=0.0);
/** \brief \a props is stored with encoding MTFEStandard, uses the specified \a _fontType for drawing, an optional HTML-string \A _html can be given */
/** \brief \a props is stored with encoding MTFEStandard, uses the specified \a _fontType for drawing, an optional HTML-string \a _html can be given */
SymbolFullProps(JKQTMathTextEnvironmentFont _fontType, const SymbolProps& props, const QString& _html=QString(), SymbolFlags _htmlflags=AsOutside, double _htmlfontScalingFactor=1.0, double _htmlyShiftFactor=0.0);
/** \brief takes a \a symbol from the specified \a _fontType assuming MTFEStandard encoding, an optional HTML-string \A _html can be given */
/** \brief takes a \a symbol from the specified \a _fontType assuming MTFEStandard encoding, an optional HTML-string \a _html can be given */
SymbolFullProps(JKQTMathTextEnvironmentFont _fontType, const QString& symbol, const QString& _html=QString(), SymbolFlags _htmlflags=AsOutside, double _htmlfontScalingFactor=1.0, double _htmlyShiftFactor=0.0);
/** \brief single-alternative symbol for encoding \a enc0 and using symbol description \a props0 for it. An optional HTML-string \a _html can be provided */
SymbolFullProps(JKQTMathTextFontEncoding enc0, const SymbolProps& props0, const QString& _html=QString(), SymbolFlags _htmlflags=AsOutside, double _htmlfontScalingFactor=1.0, double _htmlyShiftFactor=0.0);

View File

@ -313,7 +313,9 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGraphViolinplotStyleMixin: public JKQTPGraphLi
ViolinBottom=ViolinLeft, /*!< \brief draw violin on the bottom side only (for horizontal violins) \image html JKQTPGraphViolinplot_ViolinBottom.png */
ViolinRight, /*!< \brief draw violin on the right hand side only (for vertical violins) \image html JKQTPGraphViolinplot_ViolinRight.png */
ViolinTop=ViolinRight, /*!< \brief draw violin on the top side only (for horizontal violins) \image html JKQTPGraphViolinplot_ViolinTop.png */
ViolinBoth /*!< \brief draw violin on the left+right or top+bottom side \image html JKQTPGraphViolinplot_ViolinBoth.png \image html JKQTPGraphViolinplot_ViolinHBoth.png */
ViolinBoth /*!< \brief draw violin on the left+right or top+bottom side
\image html JKQTPGraphViolinplot_ViolinBoth.png
\image html JKQTPGraphViolinplot_ViolinHBoth.png */
};
/** \brief returns the position mode of the violin plot */

View File

@ -122,7 +122,7 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPPaintDeviceAdapter {
* how to use it. This class implement a graph management, where graphs simply point to a set of columns inside the datastore
* that contain the actual plot data!
*
* If you call the \link JKQTBasePlotter::JKQTBasePlotter() constructor \endlink with no arguments, it will create an internal
* If you call the JKQTBasePlotter::JKQTBasePlotter() constructor with no arguments, it will create an internal
* datastore object and you can start adding data by using getDatastore(). If you have an external JKQTPDatastore object you can
* give it as parameter to the constructor or use one of the other methods:
* - useExternalDatastore(): \copybrief JKQTBasePlotter::useExternalDatastore()

View File

@ -105,6 +105,7 @@ enum class JKQTPDatastoreItemFormat {
* matrix with \c width columns and \c height rows.
* - copyColumn() duplicates an existing column
* - addCopiedColumn() copies an external dataset into the datastore. e.g. with code like:
*
* \code{.cpp}
* QVector<double> X, Y;
* const int Ndata=100;
@ -118,6 +119,7 @@ enum class JKQTPDatastoreItemFormat {
* linegraph->setXColumn(datastore->addCopiedColumn(X, "x"));
* linegraph->setYColumn(datastore->addCopiedColumn(Y, "y"));
* \endcode
*
* - addLinearColumn() adds a column with linearly increasing numbers (in a given range)
* - addLogColumn() and addDecadeLogColumn() add columns with logarithmically spaced values
* - addLinearGridColumns() adds two columns which represent x- and y- coordinates of points

View File

@ -23,6 +23,10 @@
#include <QtGlobal>
// necessary to add this define to the Doxygen autodoc!!!
#ifdef DOXYGEN
# define JKQTPLOTTER_COMPILE_WITHOUT_PRINTSUPPORT
#endif
/*! \def JKQTPLOTTER_COMPILE_WITHOUT_PRINTSUPPORT
\ingroup jkqtpplottersupprt
\brief This is defined if JKQtPlotter shall be compiled without print-support, or print-support is not available.
@ -46,9 +50,13 @@
#endif
// necessary to add this define to the Doxygen autodoc!!!
#ifdef DOXYGEN
# define JKQTPLOTTER_WORKAROUND_QGADGET_BUG
#endif
/*! \def JKQTPLOTTER_WORKAROUND_QGADGET_BUG
\ingroup jkqtpplottersupprt
\brief This \c #define is used to work around a bug in Qt when compiled with CLANG (see https://bugreports.qt.io/browse/QTBUG-104874):
\brief This \c \#define is used to work around a bug in Qt when compiled with CLANG (see https://bugreports.qt.io/browse/QTBUG-104874):
Multiple inheritance does not work with Q_GADGET in this setup.
This can be used by surrounding code that causes compile-errors due to this bug with

View File

@ -57,6 +57,10 @@
*/
// necessary to add this define to the Doxygen autodoc!!!
#ifdef DOXYGEN
# define JKQTPLOTTER_LIB_IN_DLL
#endif
/*! \def JKQTPLOTTER_LIB_IN_DLL
\ingroup jkqtpplottersupprt
\brief declares that the application should link against a shared version of
@ -65,6 +69,10 @@
any application linking against \c JKQTPlotterSharedLib_XYZ.
*/
// necessary to add this define to the Doxygen autodoc!!!
#ifdef DOXYGEN
# define JKQTPLOTTER_LIB_EXPORT_LIBRARY
#endif
/*! \def JKQTPLOTTER_LIB_EXPORT_LIBRARY
\ingroup jkqtpplottersupprt
\brief is only defined while compiling JKQTPlotter into \c JKQTPlotterSharedLib_XYZ

View File

@ -304,7 +304,7 @@ public:
LighterColor,
InvertColor
};
/** \brif specifies how the color should change */
/** \brief specifies how the color should change */
ColorChangeMode colorModification;
/** \brief replacement color when colorModification==ColorChangeMode::ReplaceColor */
QColor targetColor;

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB