From 4a63afc709e8680bc141517863ed12a747e06d9d Mon Sep 17 00:00:00 2001 From: jkriege2 Date: Sun, 3 Feb 2019 14:04:48 +0100 Subject: [PATCH] - fixed zoomin/synchronized graphs, which was broken by former update to user-interaction - improved documentation & HTML-sytle - removed datarange-facilities (not really useful!) --- doc/Doxyfile | 21 +- doc/dot/jkqtplotter_graphhirarchy.dot | 64 +++ doc/dox/jkqtplotter.dox | 55 ++- doc/dox/mainpage.dox | 48 +-- ...herungskopie_von_jkqtplotter_gridprint.cdt | Bin 0 -> 8059 bytes doc/images/graduation_cap.svg | 12 + doc/images/high_priority.svg | 4 + doc/images/icon_code.cdr | Bin 0 -> 26999 bytes doc/images/icon_code.png | Bin 0 -> 3908 bytes doc/images/icon_note.cdr | Bin 0 -> 20940 bytes doc/images/icon_note.png | Bin 0 -> 3658 bytes doc/images/icon_note2.cdr | Bin 0 -> 16753 bytes doc/images/icon_see.cdr | Bin 0 -> 28804 bytes doc/images/icon_see.png | Bin 0 -> 4083 bytes doc/images/info.svg | 5 + .../jkqtbaseplotter_synchronization.png | Bin 0 -> 135911 bytes ...aseplotter_synchronization_nogridprint.png | Bin 0 -> 57989 bytes ...lotter_synchronization_nonsyncedxrange.png | Bin 0 -> 18344 bytes ...aseplotter_synchronization_unequalaxes.png | Bin 0 -> 15735 bytes ...eplotter_synchronization_withgridprint.png | Bin 0 -> 55801 bytes doc/images/jkqtplotter_gridprint.cdr | Bin 0 -> 73121 bytes doc/images/jkqtplotter_gridprint.png | Bin 0 -> 44515 bytes doc/images/jkqtplotter_sortedx.png | Bin 0 -> 26027 bytes doc/images/jkqtplotter_sortedy.png | Bin 0 -> 32333 bytes doc/images/jkqtplotter_unsorted.png | Bin 0 -> 35723 bytes doc/images/services.svg | 4 + doc/images/survey.svg | 16 + doc/jkqtplotter_stylesheet.css | 134 ++++++ .../jkqtplot_test/EmfEngine/src/EmfEngine.h | 8 +- .../QTeXEngine/doc/qtexengine.dox | 6 +- examples/jkqtplot_test/TestWidgetGraphs.cpp | 9 +- examples/test_multiplot/README.md | 14 +- examples/test_multiplot/plotsymbol.png | Bin 0 -> 10346 bytes examples/test_multiplot/test_multiplot.cpp | 11 +- examples/test_multiplot/test_multiplot.pro | 82 ++-- examples/test_multiplot/test_multiplot.qrc | 5 + examples/test_multiplot/test_multiplot_ui.cpp | 33 ++ examples/test_multiplot/test_multiplot_ui.h | 31 ++ examples/test_multiplot/test_multiplot_ui.ui | 389 ++++++++++++++++++ lib/jkqtfastplotter/jkqtfastplotter.h | 35 +- lib/jkqtmathtext/jkqtmathtext.h | 10 +- lib/jkqtplotter/jkqtpbaseelements.h | 13 +- lib/jkqtplotter/jkqtpbaseplotter.cpp | 169 ++++---- lib/jkqtplotter/jkqtpbaseplotter.h | 173 ++++++-- lib/jkqtplotter/jkqtpdatastorage.cpp | 5 - lib/jkqtplotter/jkqtpdatastorage.h | 12 +- lib/jkqtplotter/jkqtpelementsoverlay.h | 22 +- lib/jkqtplotter/jkqtpgraphs.cpp | 78 +--- lib/jkqtplotter/jkqtpgraphs.h | 32 +- lib/jkqtplotter/jkqtpgraphsbarchart.cpp | 90 +--- lib/jkqtplotter/jkqtpgraphsbarchart.h | 17 +- lib/jkqtplotter/jkqtpgraphsbase.cpp | 89 ++-- lib/jkqtplotter/jkqtpgraphsbase.h | 317 +++++++------- lib/jkqtplotter/jkqtpgraphsboxplot.cpp | 51 +-- lib/jkqtplotter/jkqtpgraphsboxplot.h | 20 +- .../jkqtpgraphsevaluatedfunction.h | 8 +- lib/jkqtplotter/jkqtpgraphsfilledcurve.cpp | 36 +- lib/jkqtplotter/jkqtpgraphsfilledcurve.h | 20 +- lib/jkqtplotter/jkqtpgraphsgeometric.h | 33 +- lib/jkqtplotter/jkqtpgraphsimage.h | 27 +- lib/jkqtplotter/jkqtpgraphsimpulses.cpp | 22 +- lib/jkqtplotter/jkqtpgraphsimpulses.h | 8 +- lib/jkqtplotter/jkqtpgraphsparsedfunction.h | 4 +- lib/jkqtplotter/jkqtpgraphspeakstream.cpp | 7 - lib/jkqtplotter/jkqtpgraphspeakstream.h | 5 +- .../jkqtpgraphssinglecolumnsymbols.cpp | 7 - .../jkqtpgraphssinglecolumnsymbols.h | 5 +- lib/jkqtplotter/jkqtplotter.cpp | 52 ++- lib/jkqtplotter/jkqtplotter.h | 174 ++++---- lib/jkqtplottergui/jkqtpcomboboxes.cpp | 4 - lib/jkqtplottergui/jkqtpcomboboxes.h | 28 +- lib/jkqtplottergui/jkqtpenhancedspinboxes.cpp | 6 - lib/jkqtplottergui/jkqtpenhancedspinboxes.h | 9 +- lib/jkqtplottergui/jkqtpenhancedtableview.cpp | 5 - lib/jkqtplottergui/jkqtpenhancedtableview.h | 7 +- lib/jkqtplottergui/jkqtpgraphsmodel.cpp | 6 +- lib/jkqtplottergui/jkqtpgraphsmodel.h | 4 - lib/jkqtplottergui/jkvanishqtoolbar.cpp | 4 - lib/jkqtplottergui/jkvanishqtoolbar.h | 8 +- lib/jkqtplottertools/jkqtp_imexport.h | 20 +- lib/jkqtplottertools/jkqtpdrawingtools.cpp | 4 - lib/jkqtplottertools/jkqtpdrawingtools.h | 13 +- lib/jkqtplottertools/jkqtpenhancedpainter.cpp | 5 - lib/jkqtplottertools/jkqtpenhancedpainter.h | 6 +- lib/jkqtplottertools/jkqtphighrestimer.h | 4 - lib/jkqtplottertools/jkqtpimagetools.h | 34 +- lib/jkqtplottertools/jkqtpmathparser.cpp | 4 - lib/jkqtplottertools/jkqtpmathparser.h | 6 +- lib/jkqtplottertools/jkqtptools.cpp | 6 - lib/jkqtplottertools/jkqtptools.h | 88 ++-- lib/jkqtplottertools/jkqttools.cpp | 2 +- lib/jkqtplottertools/jkqttools.h | 20 +- screenshots/test_multiplot_controlwindow.png | Bin 0 -> 78825 bytes sharedlib/jkqtfastplotterlib_sharedlib.pro | 4 +- sharedlib/jkqtmathtextlib_sharedlib.pro | 4 +- sharedlib/jkqtplotterlib_sharedlib.pro | 4 +- 96 files changed, 1645 insertions(+), 1152 deletions(-) create mode 100644 doc/dot/jkqtplotter_graphhirarchy.dot create mode 100644 doc/images/Sicherungskopie_von_jkqtplotter_gridprint.cdt create mode 100644 doc/images/graduation_cap.svg create mode 100644 doc/images/high_priority.svg create mode 100644 doc/images/icon_code.cdr create mode 100644 doc/images/icon_code.png create mode 100644 doc/images/icon_note.cdr create mode 100644 doc/images/icon_note.png create mode 100644 doc/images/icon_note2.cdr create mode 100644 doc/images/icon_see.cdr create mode 100644 doc/images/icon_see.png create mode 100644 doc/images/info.svg create mode 100644 doc/images/jkqtbaseplotter_synchronization.png create mode 100644 doc/images/jkqtbaseplotter_synchronization_nogridprint.png create mode 100644 doc/images/jkqtbaseplotter_synchronization_nonsyncedxrange.png create mode 100644 doc/images/jkqtbaseplotter_synchronization_unequalaxes.png create mode 100644 doc/images/jkqtbaseplotter_synchronization_withgridprint.png create mode 100644 doc/images/jkqtplotter_gridprint.cdr create mode 100644 doc/images/jkqtplotter_gridprint.png create mode 100644 doc/images/jkqtplotter_sortedx.png create mode 100644 doc/images/jkqtplotter_sortedy.png create mode 100644 doc/images/jkqtplotter_unsorted.png create mode 100644 doc/images/services.svg create mode 100644 doc/images/survey.svg create mode 100644 doc/jkqtplotter_stylesheet.css create mode 100644 examples/test_multiplot/plotsymbol.png create mode 100644 examples/test_multiplot/test_multiplot.qrc create mode 100644 examples/test_multiplot/test_multiplot_ui.cpp create mode 100644 examples/test_multiplot/test_multiplot_ui.h create mode 100644 examples/test_multiplot/test_multiplot_ui.ui create mode 100644 screenshots/test_multiplot_controlwindow.png diff --git a/doc/Doxyfile b/doc/Doxyfile index 02752f3ff1..703b688b15 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -695,7 +695,7 @@ SHOW_USED_FILES = YES # (if specified). # The default value is: YES. -SHOW_FILES = YES +SHOW_FILES = NO # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces # page. This will remove the Namespaces entry from the Quick Index and from the @@ -813,8 +813,9 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = ../lib/ \ +INPUT = . \ ./dox/ \ + ../lib \ ../examples # This tag can be used to specify the character encoding of the source files @@ -866,10 +867,6 @@ FILE_PATTERNS = *.d \ *.f \ *.vhd \ *.vhdl \ - *.qrc \ - *.pro \ - *.ui \ - *.pri \ *.md # The RECURSIVE tag can be used to specify whether or not subdirectories should @@ -1028,7 +1025,7 @@ USE_MDFILE_AS_MAINPAGE = # also VERBATIM_HEADERS is set to NO. # The default value is: NO. -SOURCE_BROWSER = YES +SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body of functions, # classes and enums directly into the documentation. @@ -1235,7 +1232,7 @@ HTML_STYLESHEET = # list). For an example see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_STYLESHEET = +HTML_EXTRA_STYLESHEET = jkqtplotter_stylesheet.css # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note @@ -1245,7 +1242,9 @@ HTML_EXTRA_STYLESHEET = # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_FILES = +HTML_EXTRA_FILES = images/icon_code.png \ + images/icon_note.png \ + images/icon_see.png # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to @@ -1295,7 +1294,7 @@ HTML_TIMESTAMP = YES # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_DYNAMIC_MENUS = YES +HTML_DYNAMIC_MENUS = NO # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the @@ -1565,7 +1564,7 @@ EXT_LINKS_IN_WINDOW = NO # Minimum value: 8, maximum value: 50, default value: 10. # This tag requires that the tag GENERATE_HTML is set to YES. -FORMULA_FONTSIZE = 12 +FORMULA_FONTSIZE = 13 # Use the FORMULA_TRANSPARENT tag to determine whether or not the images # generated for formulas are transparent PNGs. Transparent PNGs are not diff --git a/doc/dot/jkqtplotter_graphhirarchy.dot b/doc/dot/jkqtplotter_graphhirarchy.dot new file mode 100644 index 0000000000..d17c3febcd --- /dev/null +++ b/doc/dot/jkqtplotter_graphhirarchy.dot @@ -0,0 +1,64 @@ +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="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="JKQTPPlotElement"]; + noteJKQTPGraph [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\nactual graphs"]; + JKQTPGraph -> noteJKQTPGraph [style=dashed,arrowhead=none]; + JKQTPPlotObject [URL="JKQTPPlotObject"]; + noteJKQTPPlotObject [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\nnon-graph elements,\ne.g. geometric elements"]; + JKQTPPlotObject -> noteJKQTPPlotObject [style=dashed,arrowhead=none]; + } + + + { + rank=same; + + JKQTPXYGraph [URL="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="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="JKQTPImageBase"] + noteJKQTPImageBase [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngraphsthat represent \n2D images/matrices"]; + JKQTPImageBase -> noteJKQTPImageBase [style=dashed,arrowhead=none]; + JKQTPGeoBaseLine [URL="JKQTPGeoBaseLine"]; + noteJKQTPGeoBaseLine [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngeometric elements\nthat need line properties\n (color, width, ...)"]; + JKQTPGeoBaseLine -> noteJKQTPGeoBaseLine [style=dashed,arrowhead=none]; + } + + { + rank=same; + + JKQTPMathImageBase [URL="JKQTPMathImageBase"] + noteJKQTPMathImageBase [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngeometric elements\nthat need area fill properties\n (fillcolor, pattern, ...)"]; + JKQTPMathImageBase -> noteJKQTPMathImageBase [style=dashed,arrowhead=none]; + + JKQTPGeoBaseFilled [URL="JKQTPGeoBaseFilled"]; + noteJKQTPGeoBaseFilled [shape="note", color="lightyellow",style=filled,fontsize=8,label="base class for all\ngeometric elements\nthat need area fill properties\n (fillcolor, pattern, ...)"]; + JKQTPGeoBaseFilled -> noteJKQTPGeoBaseFilled [style=dashed,arrowhead=none]; +} + JKQTPGraph -> JKQTPXYGraph + JKQTPGraph -> JKQTPSingleColumnGraph + JKQTPGraph -> JKQTPImageBase -> JKQTPMathImageBase + + + JKQTPPlotElement -> JKQTPGraph + JKQTPPlotElement -> JKQTPPlotObject + JKQTPPlotObject -> JKQTPGeoBaseLine -> JKQTPGeoBaseFilled + +} diff --git a/doc/dox/jkqtplotter.dox b/doc/dox/jkqtplotter.dox index 8be8bfda27..ab081d01cc 100644 --- a/doc/dox/jkqtplotter.dox +++ b/doc/dox/jkqtplotter.dox @@ -77,12 +77,56 @@ There are these major subgroups: \ingroup jkqtplotter_elements This group contains some tool classes that implement basic elements of the plot (coordinate axes, key, ...). -These classes are used by JKQTPlotterBase to output the plot +These classes are used by JKQTPlotterBase to output the plot. \defgroup jkqtplotter_graphsgroup Graph Classes \ingroup jkqtplotter_elements +This group contains all classes in the JKQTPlotter library that may be used to draw a graph (i.e. a curve) onto a plot. + +\tableofcontents + +\section jkqtplotter_graphsgroup_classstructure Graph Class Structure + +\subsection jkqtplotter_graphsgroup_classstructure_basics Graph Classes + +Each type of graph is represented by another class, which has to be derived from JKQTPPlotElement. This class provides a basic virtual interface +that allows JKQTPlotter to draw the graphs represented by them. This interface consists of these functions: + - JKQTPPlotElement::draw() draws the graph onto a given JKQTPEnhancedPainter (derived from QPainter) + - JKQTPPlotElement::drawKeyMarker() draws the small marker image in the plot legend + - JKQTPPlotElement::getKeyLabelColor() returns a color for the legend entry for the graph + - JKQTPPlotElement::getXMinMax() returns the extent of the graph in x-direction (e.g. for auto-zooming) + - JKQTPPlotElement::getYMinMax() returns the extent of the graph in Y-direction (e.g. for auto-zooming) +. +In addition to these basic functions, there are additional functions that can be used to draw something outside the actual plot rectangle. +These are used to e.g. add color-scales to the side of the graph: + - JKQTPPlotElement::getOutsideSize() returns the amount of space required outside the plot rectangle + - JKQTPPlotElement::drawOutside() draws the elements outside the plot rectangle +. + +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.dot + +\subsection jkqtplotter_graphsgroup_classstructure_mixins Mix-In Classes for Graphs + + +In addition there are mix-in classes that are used via multiple inheritance +that add additional features and properties to a graph. A prominent example are the classes for \ref jkqtplotter_basegraphserrors "error indicators". +With these there are usually two variants of one type of graph: One without error indicators and one with error indicators, e.g.: + - JKQTPXYLineGraph shows lines+symbols graphs made up from x/y-value pairs for each data point. + - JKQTPXYLineErrorGraph extends JKQTPXYLineGraph with error indicator drawing/properties provided by JKQTPXYGraphErrors +. +This approach allows to keep interfaces and appearance recognizeable over different graph classes and locates the source code +for a feature like error indicators in a single/in few class(es). + +Another example of such a class is JKQTPColorPaletteTools, which provides functions that allow to use color palettes. It is +mainly used for the \ref jkqtplotter_imagelots "Image/Matrix graphs", but also by e.g. JKQTPXYParametrizedScatterGraph. + + + \defgroup jkqtplotter_basegraphs Baseclasses for Graphs \ingroup jkqtplotter_graphsgroup @@ -93,6 +137,15 @@ These classes are used by JKQTPlotterBase to output the plot \defgroup jkqtplotter_linesymbolgraphs Line/Symbol Graphs \ingroup jkqtplotter_graphsgroup +\defgroup jkqtplotter_linesymbolgraphs_simple Basic Line/Scatter Graphs +\ingroup jkqtplotter_linesymbolgraphs + +\defgroup jkqtplotter_linesymbolgraphs_param Parametrized Line/Scatter Graphs +\ingroup jkqtplotter_linesymbolgraphs + +\defgroup jkqtplotter_filledgraphs Filled Polygon/Area Graphs +\ingroup jkqtplotter_graphsgroup + \defgroup jkqtplotter_functiongraphs Function Graphs \ingroup jkqtplotter_linesymbolgraphs diff --git a/doc/dox/mainpage.dox b/doc/dox/mainpage.dox index 86d0fb82e4..c693f818a3 100644 --- a/doc/dox/mainpage.dox +++ b/doc/dox/mainpage.dox @@ -9,46 +9,46 @@ This software is licensed under the term of the GNU Lesser General Public Licens \image html examplesbanner.png \section jkqtp_main_features Main Features -- Extensive Scientific 2D Plotting framework (JKQTPlotter/JKQTBasePlotter) +- Extensive Scientific 2D Plotting framework (JKQTPlotter / JKQTBasePlotter) - high-quality plotting - no other dependencies than Qt >=4.7 (compatible with Qt 5.xx) - highly customizable axes/grids (linear/log, date/time, custom ticks ...) - integrated LaTeX parser/renderer JKQTMathText for axis labels, ticks, notes ... - - extensive user-interactions pre-programmed (several zooming modes, selecting regions, custom context menus, switch graph visibility, ...) - - full print and export (PDF,PNG,...) support with preview and parametrization out-the-box + - \ref JKQTPLOTTER_USERINTERACTION "extensive user-interactions pre-programmed (several zooming modes, selecting regions, custom context menus, switch graph visibility, ...)" + - \ref jkqtbaseplotter_dataexport_print "full print and export (PDF,PNG,...) support with preview and parametrization out-the-box " - highly customizable look and feel - - supports the Qt layout system for graphs and allows to symchronize several graphs with each other -- centralized data management in an internal datastore: - - data organized by columns, can also represent image data (ropw-major) + - \ref JKQTBASEPLOTTER_SYNCMULTIPLOT "supports the Qt layout system for graphs and allows to symchronize several graphs with each other " +- \ref jkqtpdatastorage "centralized data management in an internal datastore)": + - data organized by columns, can also represent image data (row-major) - allows to reuse a column in several graphs - - access via Qt's model view framework + - \ref JKQTPDatastoreModel "access via Qt's model view framework" - external or internal datasets - complete with GUI (table view) - built-in export capabilities for datatables (e.g. to CSV, SYLK, ...) -- large variety of graphs that can be added to a plot, e.g.: - - scatter-plots (also parametrized color/size/symbol by a third data-column) - - line graphs, step graphs, impulses - - filled curves - - barcharts (also stacked) +- \ref jkqtplotter_elements "large variety of graphs that can be added to a plot", e.g.: + - \ref jkqtplotter_linesymbolgraphs_simple "scatter-plots" (also \ref jkqtplotter_linesymbolgraphs_param "parametrized color/size/symbol by a third data-column") + - \ref jkqtplotter_linesymbolgraphs "line graphs, step graphs", \ref jkqtplotter_barssticks "impulses" + - \ref jkqtplotter_filledgraphs "filled curves" + - \ref jkqtplotter_barssticks "barcharts (also stacked)" - extensive support for different styles of error indicators - - integrated mathematical function parser for function plots (with intelligent rendering algorithm) - - line/scatter graphs can also be based on C/C++ functions instead of data series (C++11 support!) - - statistical plots (e.g. boxplots) - - extensive library of image plots (inclusing different color-scale modes, RGBA-plots, overlays/masks) - - contour plots - - geometric forms/annotations, see: \ref jkqtplotter_geoplots + - \ref jkmp "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) + - \ref jkqtplotter_imagelots_contour "contour plots" + - \ref jkqtplotter_geoplots "geometric forms/annotations" - can be easily extended by deriving a new graph from JKQTPPlotElement or JKQTPPlotObject -- optional: OpenCV interface, see: \ref jkqtpopencvinterface -- integrated LaTeX parser/renderer JKQTMathText: +- \ref jkqtpopencvinterface "optional: OpenCV interface" +- integrated LaTeX parser/renderer JKQTMathText : - pure C++ - no dependencies in particular no installed LaTeX required - can be used independently of JKQTPlotter - - see: \ref jkqtmathtext -- a second plotter widget JKQTFastPlotter: + - for more details, see: \ref jkqtmathtext +- an additional, simplified but speed-optimized plotter widget JKQTFastPlotter : - is optimized for fast plotting, but is not as feature-rich as JKQTPlotter - may be used independently of JKQTPlotter - - \see jkqtfastplotter -- extensive set of Examples and Tutorials, see: \ref exampleTutorialProjects + - for more details, see: \ref jkqtfastplotter +- \ref exampleTutorialProjects "extensive set of Examples and Tutorials" - extensive doxygen-generated Online-Documentation (http://jkriege2.github.io/JKQTPlotter/index.html) - source code hosted&developed on GitHub https://github.com/jkriege2/JKQTPlotter (including continuous integration builds: https://ci.appveyor.com/project/jkriege2/jkqtplotter/branch/master) diff --git a/doc/images/Sicherungskopie_von_jkqtplotter_gridprint.cdt b/doc/images/Sicherungskopie_von_jkqtplotter_gridprint.cdt new file mode 100644 index 0000000000000000000000000000000000000000..4fde82c845ed7a8be4d3aae11c61f9797511a01c GIT binary patch literal 8059 zcmd^EbyQT{yB-?pZt3n02?+)1905Uch91HhN|6Q;kWOhNL^=cni6JEh5Re*SCTa-3B4rolXgjMxAG zp$Gs#0{{T*J=|encbEvs7H0cbB_@pSZr#(>H&&r)6C#rlyaQVrgq0H32x$olDBa_t zs~IyTkBv+TR89;m5@Pl0Rt*Yo@%c0rQ3baDctol5k#0WY2y6GFyvLk|HcPdEmfh#K zI%{p2@@pg6ZzR4aO$%V%62UC0@dt8sYB02O=;Pul_Dpv?$zFKt5Rf_c232()CLc6^ zWU(5?dA+v1M4Tre?1;Xz*vomns9n~X{_!2cJmASwyzMBI;ZAA6#@9GkIVp)|pRb*- zjWu+zL=T)EF1j!jQvi9jEvULZ;*1)e{bWEa`=@qM6?zpJ#9N4-tb>jvVYl`->=0u#^jMv@d1{d1!n9(UCFhdZw}KBcWz#vu@01z)dun#hSZt7Ao#SGQu2(D zIRf6xro}hc1uTTzx)n^bIs}XhO}TZ>1U8&B@f3Q>WjJG8ZqCnM*PLQs8AVYoBve+O z?@e>SW`vrEZm#1kA82~b8K`Y@joFws`DGPc-%xhDAeKW(&$YoBN&al6&3W{cOwjzf z%7dzON!@EZk!GeFFYI!!n*nY5nI^vVRtH<9z@-FyH(u(GGi%l9DmtOWL!Q6dkNPnf z^Ml`HNKN3p>*YQY4o&lcw3%TPKm6cM?iuS!0#;b2x`$hEAg!KEBjVO(Y^oTUOJfU6 zFvQEZw^DGhp-m}`UVm#7zlo7SFqWZFXyWB4Ta|;;u4v}B5yn+N+|p}Xe4Mf)J2~+X z`2GR5v$~}1O+G{R$hihTQ*wrMdMnz;%TWW_x0IiyZ7sl(p~YAu{;R;_KueW*=?aO$ z(B~S=zKANJP_Idj@~QHy*c<%zi-Ju~bO#D{G9{_T;$GQcP>)`t`q>vVmZ6sA*%7~8 zvcfFMsVThrop)bRVex#K@!n?ZW(2aIqb(5H`{gs^g8nt}aQ&Wh#{Oe}{+V3WwXe>4 zQxg&&xj6YVQILqd52y$F-j>^CX#$GZk%RPo4g<$6gceFa_S>maC3qltq*nHwNt8u` zJT~@1ckk1sZB9t?ULg72Sr-}AvGi>vw+Oc0C^zt)?PpXtaVNLrqbEIlwk~a?dXy=} zx+6&ch{*pX1sbEeQKx4x?GNR8Z;-XOKg}0#@;t&Uo{**N^CVso z8Ypb#WmF&FoljB_lyW0iXHN5HsnQ5;S65h&vYuy5g{Ctn0?E~@ce3mARMXe`R9A~@ z_*1z0CuKjgg`!3tOHTD)h<&eIc{=^UNWdWH-Aa||s!r}&fmO-5I+8Db;aY3!h?Hx& zl8fnPc6DukL4Za{6mh@T}Q-;uPf9b0o9mA`9d3&ZKAe!23LEsd$fS#1eR9gQxl$<<|6u{ ze31^YavM#fa^+a? z2|nm89@$TTmz)WL(7_}R@;HF~3Rl@n{(M`%h> zS+gj>@Z+n0<7{70K9LD+M(pT9_nSGXJG+5(oT0E^wxq2os3|##u9pUN1%)+*2=3_U z<3I_6iE6L`S9bw48^%kB-h~D%0D$b$hz~qG{u+t!8w_gEJ>0ptNwJ!HH|-v0XJ_Xw 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 literal 0 HcmV?d00001 diff --git a/doc/images/graduation_cap.svg b/doc/images/graduation_cap.svg new file mode 100644 index 0000000000..bb4c0d9b17 --- /dev/null +++ b/doc/images/graduation_cap.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/doc/images/high_priority.svg b/doc/images/high_priority.svg new file mode 100644 index 0000000000..58ac7d5b5f --- /dev/null +++ b/doc/images/high_priority.svg @@ -0,0 +1,4 @@ + + + + diff --git a/doc/images/icon_code.cdr b/doc/images/icon_code.cdr new file mode 100644 index 0000000000000000000000000000000000000000..c2ba70e01bff6aab9ae322a9566f53226e9b3ad7 GIT binary patch literal 26999 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 literal 0 HcmV?d00001 diff --git a/doc/images/icon_note2.cdr b/doc/images/icon_note2.cdr new file mode 100644 index 0000000000000000000000000000000000000000..7a948c85ca20eca61bb6d2691f80e829e9cd93c0 GIT binary patch literal 16753 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

Y^Z`+_r3kYVhf?WHfkAE>|Re}P2rrfH-Fcp~Sv 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 literal 0 HcmV?d00001 diff --git a/doc/images/icon_see.cdr b/doc/images/icon_see.cdr new file mode 100644 index 0000000000000000000000000000000000000000..4cc1a2ecfdc1b03ddc98c1f6b964860c3cc09277 GIT binary patch literal 28804 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 literal 0 HcmV?d00001 diff --git a/doc/images/icon_see.png b/doc/images/icon_see.png new file mode 100644 index 0000000000000000000000000000000000000000..aae2b0aa2acbd0e09a3c3629fb524a44781d4878 GIT binary patch literal 4083 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 + + + + diff --git a/doc/images/jkqtbaseplotter_synchronization.png b/doc/images/jkqtbaseplotter_synchronization.png new file mode 100644 index 0000000000000000000000000000000000000000..9e46347cff627951d0b75b2c0c5237698955d10e GIT binary patch literal 135911 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

ATGm{(ZU#e*Y!d2L-#%?eCTNFF8!d83>t$K;bS* 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 z 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�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

ndOH=w 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

P8z2)nH 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%0D9Es`JS^#F$Z$-1zB6+48In`1(h($H@5k0MMI= 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 WYK2va;{oc!gGq_Wi&hC61pXh>PvFG> literal 0 HcmV?d00001 diff --git a/doc/images/jkqtplotter_unsorted.png b/doc/images/jkqtplotter_unsorted.png new file mode 100644 index 0000000000000000000000000000000000000000..64ba5e41d2555b6fc65cb13b73ad62b2972cea31 GIT binary patch literal 35723 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 + + + diff --git a/doc/images/survey.svg b/doc/images/survey.svg new file mode 100644 index 0000000000..366eb2fd6f --- /dev/null +++ b/doc/images/survey.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/doc/jkqtplotter_stylesheet.css b/doc/jkqtplotter_stylesheet.css new file mode 100644 index 0000000000..5f39abc585 --- /dev/null +++ b/doc/jkqtplotter_stylesheet.css @@ -0,0 +1,134 @@ +/* Customized Stylesheet for JKQTPlotter */ + +dl.section { + margin-left: 7px; +} + +dl.note { + padding-left: 39px; + border-color: black; + border-width: 2px; + border-style: solid; + border-left-width: 4px; + border-left-color: #D0C000; + background-image: linear-gradient(135deg, #fdfcfb 0%, #e2d1c3 100%); + border-radius: 8px; + background-image: url(icon_note.png); + background-position: 3px 3px; + background-repeat: no-repeat; + min-height: 32px; +} + +dl.see { + padding-left: 39px; + border-color: black; + border-width: 2px; + border-style: solid; + border-left-width: 4px; + border-left-color: #55AAD1; + background-image: linear-gradient(135deg, #fff1eb 0%, #ace0f9 100%); + border-radius: 8px; + background-image: url(icon_see.png); + background-position: 3px 3px; + background-repeat: no-repeat; + min-height: 32px; +} + +div.fragment { + padding: 4px; + padding-left: 39px; + border-color: black; + border-width: 1px; + border-style: solid; + border-left-width: 8px; + border-left-color: #666699; + background-image: linear-gradient(to top, #e6e9f0 0%, #eef1f5 100%); + background-image: url(icon_code.png); + background-position: 3px 3px; + background-repeat: no-repeat; + min-height: 32px; +} + +h2.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-bottom: 0px; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float: left; + margin: 0px; + margin-right: 15px; + width: auto; +} + +h1, h2, h3, h4, h5, h6 { + margin-left: -5pt; + margin-bottom: 32px; + margin-right: 15px; + padding: 4px; + background: #eeeeee; + width: 75%; +} + +h1 { + border-bottom: 2px solid black; + border-left: 2px solid black; + font-size: 22pt; +} + +h2 { + border-bottom: 1.5px solid black; + border-left: 1.5px solid black; + font-size: 16pt; + font-weight: 150%; +} + +h3 { + border-bottom: 1px solid black; + border-left: 1px solid black; + font-size: 14pt; + font-weight: 100%; +} + +h2.groupheader { + border-left: 0px; + border-top: 0px; + border-bottom-width: 8pt; + background: #dbdbea; + font-size: 28pt; +} + +div.title { + font-size: 28pt; +} + +div.image { + padding: 4px; + text-align: left; + margin-left: 32pt; +} + +div.caption { + margin-left: 64pt; + text-align: left; +} + +table.params { + border: 1px solid black; + border-left-width: 8px; + border-left-color: #66001a; + width: 90%; + padding: 0px; +} + +td.paramname { + margin: 0px; +} \ No newline at end of file diff --git a/examples/jkqtplot_test/EmfEngine/src/EmfEngine.h b/examples/jkqtplot_test/EmfEngine/src/EmfEngine.h index b434f1ce82..945b5df281 100644 --- a/examples/jkqtplot_test/EmfEngine/src/EmfEngine.h +++ b/examples/jkqtplot_test/EmfEngine/src/EmfEngine.h @@ -39,12 +39,12 @@ #ifdef EMFENGINE_DLL # ifdef EMFENGINE_DLL_BUILD -# define EMFENGINELIB_EXPORT Q_DECL_EXPORT +# define EMFENGINEJKQTP_LIB_EXPORT Q_DECL_EXPORT # else -# define EMFENGINELIB_EXPORT Q_DECL_IMPORT +# define EMFENGINEJKQTP_LIB_EXPORT Q_DECL_IMPORT # endif #else -# define EMFENGINELIB_EXPORT +# define EMFENGINEJKQTP_LIB_EXPORT #endif #ifdef HAVE_GDIPLUS @@ -120,7 +120,7 @@ private: void resetClipping(); }; -class EMFENGINELIB_EXPORT EmfPaintDevice : public QPaintDevice +class EMFENGINEJKQTP_LIB_EXPORT EmfPaintDevice : public QPaintDevice { public: EmfPaintDevice(const QSize& s, const QString& fileName); diff --git a/examples/jkqtplot_test/QTeXEngine/doc/qtexengine.dox b/examples/jkqtplot_test/QTeXEngine/doc/qtexengine.dox index 4c8a79fd9f..dea1bb0078 100644 --- a/examples/jkqtplot_test/QTeXEngine/doc/qtexengine.dox +++ b/examples/jkqtplot_test/QTeXEngine/doc/qtexengine.dox @@ -2,8 +2,8 @@ \mainpage QTeXEngine - TeX support for Qt QTeXEngine enables Qt based applications to easily export graphics created using the -QPainter class to TeX. -It is built on top of QPaintEngine +QPainter class to TeX. +It is built on top of QPaintEngine and uses the TikZ/Pgf graphic systems for TeX. \section license License @@ -28,7 +28,7 @@ and uses the TikZ/Pgf graphic Have a look at the QTeXEngine.pro project file. It is prepared for building static libraries in Win32 and Unix/X11 environments. If you don't know what to do with it, read the file \ref qtexengineinstall and/or - Trolltechs qmake manual. + Trolltechs qmake manual. \section support Support If you are looking for technical support contact ion.vasilief@proindependent.com. diff --git a/examples/jkqtplot_test/TestWidgetGraphs.cpp b/examples/jkqtplot_test/TestWidgetGraphs.cpp index 18fa067c8e..380d6e0467 100644 --- a/examples/jkqtplot_test/TestWidgetGraphs.cpp +++ b/examples/jkqtplot_test/TestWidgetGraphs.cpp @@ -47,8 +47,7 @@ TestWidgetGraphs::TestWidgetGraphs(QWidget *parent) : setLayout(layout); resize(1000, 800); - plotBot->synchronizeToMaster(plot, true, false); - connect(plot, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTPlotter*)), plotBot, SLOT(synchronizeXAxis(double,double,double,double,JKQTPlotter*))); + plotBot->synchronizeToMaster(plot, JKQTBasePlotter::sdXAxis, true, true, true); plot->getPlotter()->setGridPrinting(true); plot->getPlotter()->addGridPrintingPlotter(0,1,plotBot->getPlotter()); plot->getPlotter()->addGridPrintingPlotter(0,2,plotBot2->getPlotter()); @@ -332,9 +331,9 @@ void TestWidgetGraphs::setESSymbol(int /*index*/) void TestWidgetGraphs::setSortOrder2(int index) { - if (index==0) pltePlot2->setSortData(JKQTPXYGraph::Unsorted); - if (index==1) pltePlot2->setSortData(JKQTPXYLineGraph::SortedX); - if (index==2) pltePlot2->setSortData(JKQTPXYLineGraph::SortedY); + if (index==0) pltePlot2->setDataSortOrder(JKQTPXYGraph::Unsorted); + if (index==1) pltePlot2->setDataSortOrder(JKQTPXYLineGraph::SortedX); + if (index==2) pltePlot2->setDataSortOrder(JKQTPXYLineGraph::SortedY); plotBot->redrawPlot(); } diff --git a/examples/test_multiplot/README.md b/examples/test_multiplot/README.md index 80cad94aea..0d67b01037 100644 --- a/examples/test_multiplot/README.md +++ b/examples/test_multiplot/README.md @@ -6,7 +6,7 @@ The source code of the main application can be found in [`test_multiplot.cpp`]( First three plots are generated and put into a [QGridLayout](http://doc.qt.io/qt-5/qgridlayout.html): ```.cpp -// 1. create a widget + // 1. create a widget QWidget mainWidget; mainWidget.setWindowTitle("JKQTPlotter(s) in a QGridLayout"); @@ -37,11 +37,11 @@ First three plots are generated and put into a [QGridLayout](http://doc.qt.io/qt With this simple setup, all three plots would be arranged by the QLayout, but they were all independent. This example could be part of a data fitting application, where the main plot shows data and a fit curve. A plot below that will display the residulas (errors) of the fit. Now if a user zooms one of the plots, he would expect that athe x-axes of the two plots are synchronized. The same for a third plot on the rhs of the residuals, which will show a residual histogram. This linking of the axes can be achieved by the following code: ```.cpp - // 3.4 synchronize width/x-axis of plotResid to width/x-axis of plotMain - plotResid->getPlotter()->synchronizeToMaster(plotMain->getPlotter(), true, false, true, true); + // 3.3 synchronize width/x-axis of plotResid to width/x-axis of plotMain + plotResid->synchronizeToMaster(plotMain, JKQTBasePlotter::sdXAxis, true, true, true); - // 3.5 synchronize y-axis of width/plotResidHist to y-axis of width/plotResid - plotResidHist->getPlotter()->synchronizeToMaster(plotResid->getPlotter(), false, true, true, true); + // 3.4 synchronize y-axis of width/plotResidHist to y-axis of width/plotResid + plotResidHist->synchronizeToMaster(plotResid, JKQTBasePlotter::sdYAxis, true, true, true); ``` Finally: When printing or saving an image of the plots, the plotter will no know anything about the arrangement of the plots and the plots cannot be printed/drawn in the same arrangement as in the window. If you want to arrange the plots in the same layout in a printout, as in the window, you will have to tell the main plot, in which arrangement to print the plots: @@ -98,7 +98,9 @@ You push the print button (![test_multiplot](https://raw.githubusercontent.com/j ![test_multiplot](../../screenshots/test_multiplot_printpreview.png) - +In addition this example also contains a Window that allows to control the plot layout and synchronization options: + +![test_multiplot](../../screenshots/test_multiplot_controlwindow.png) diff --git a/examples/test_multiplot/plotsymbol.png b/examples/test_multiplot/plotsymbol.png new file mode 100644 index 0000000000000000000000000000000000000000..bb937a3f0bcd3f4d8aaa1c2213458233b594acec GIT binary patch literal 10346 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 IM6N<$f=rUfdjJ3c literal 0 HcmV?d00001 diff --git a/examples/test_multiplot/test_multiplot.cpp b/examples/test_multiplot/test_multiplot.cpp index ac84048e38..e1a4f1288b 100644 --- a/examples/test_multiplot/test_multiplot.cpp +++ b/examples/test_multiplot/test_multiplot.cpp @@ -11,6 +11,7 @@ #include "jkqtplotter/jkqtpgraphsbarchart.h" #include #include +#include "test_multiplot_ui.h" int main(int argc, char* argv[]) { @@ -38,10 +39,10 @@ int main(int argc, char* argv[]) layout->addWidget(plotResidHist, 1,1); // 3.3 synchronize width/x-axis of plotResid to width/x-axis of plotMain - plotResid->getPlotter()->synchronizeToMaster(plotMain->getPlotter(), true, false, true, true); + plotResid->synchronizeToMaster(plotMain, JKQTBasePlotter::sdXAxis, true, true, true); // 3.4 synchronize y-axis of width/plotResidHist to y-axis of width/plotResid - plotResidHist->getPlotter()->synchronizeToMaster(plotResid->getPlotter(), false, true, true, true); + plotResidHist->synchronizeToMaster(plotResid, JKQTBasePlotter::sdYAxis, true, true, true); // 3.5 ensure that the plot are printed/exported in whole, when printing in plotMain plotMain->getPlotter()->setGridPrinting(true); @@ -146,6 +147,7 @@ int main(int argc, char* argv[]) // 7. scale plots automatically to data + plotResidHist->setAbsoluteX(0, 20); plotResid->zoomToFit(); plotResidHist->zoomToFit(); plotMain->zoomToFit(); @@ -155,5 +157,10 @@ int main(int argc, char* argv[]) mainWidget.move(32,32); mainWidget.resize(800,600); + // 9. create a second window, which controls the synchronization and layout between the plots + TestMultiplotUI controlWindow(plotMain, plotResid, plotResidHist, layout); + controlWindow.move(850,32); + controlWindow.show(); + return app.exec(); } diff --git a/examples/test_multiplot/test_multiplot.pro b/examples/test_multiplot/test_multiplot.pro index 1942bf90b2..cd2388c470 100644 --- a/examples/test_multiplot/test_multiplot.pro +++ b/examples/test_multiplot/test_multiplot.pro @@ -1,36 +1,46 @@ -# source code for this simple demo -SOURCES = test_multiplot.cpp - -# configure Qt -CONFIG += link_prl qt -CONFIG += link_prl c++11 -QT += core gui xml svg -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport - -# output executable name -TARGET = test_multiplot - - -# include JKQTPlotter source code -DEPENDPATH += . ../../lib -INCLUDEPATH += ../../lib -CONFIG (debug, debug|release) { - LIBS += -L../../staticlib/debug -ljkqtplotterlib_debug -} else { - LIBS += -L../../staticlib/release -ljkqtplotterlib -} -message("LIBS = $$LIBS") - -win32-msvc* { - QMAKE_CXXFLAGS += /EHsc /std:c++14 - # To enable M_PI, M_E,... - DEFINES += _USE_MATH_DEFINES - # To fix error: C2338: va_start argument must not - # have reference type and must not be parenthesized - DEFINES += _CRT_NO_VA_START_VALIDATION -} - - -# here you can activate some debug options -#DEFINES += SHOW_JKQTPLOTTER_DEBUG -#DEFINES += JKQTBP_AUTOTIMER +# source code for this simple demo +SOURCES = test_multiplot.cpp \ + test_multiplot_ui.cpp + +# configure Qt +CONFIG += link_prl qt +CONFIG += link_prl c++11 +QT += core gui xml svg +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport + +# output executable name +TARGET = test_multiplot + + +# include JKQTPlotter source code +DEPENDPATH += . ../../lib +INCLUDEPATH += ../../lib +CONFIG (debug, debug|release) { + LIBS += -L../../staticlib/debug -ljkqtplotterlib_debug +} else { + LIBS += -L../../staticlib/release -ljkqtplotterlib +} +message("LIBS = $$LIBS") + +win32-msvc* { + QMAKE_CXXFLAGS += /EHsc /std:c++14 + # To enable M_PI, M_E,... + DEFINES += _USE_MATH_DEFINES + # To fix error: C2338: va_start argument must not + # have reference type and must not be parenthesized + DEFINES += _CRT_NO_VA_START_VALIDATION +} + + +# here you can activate some debug options +#DEFINES += SHOW_JKQTPLOTTER_DEBUG +#DEFINES += JKQTBP_AUTOTIMER + +FORMS += \ + test_multiplot_ui.ui + +HEADERS += \ + test_multiplot_ui.h + +RESOURCES += \ + test_multiplot.qrc diff --git a/examples/test_multiplot/test_multiplot.qrc b/examples/test_multiplot/test_multiplot.qrc new file mode 100644 index 0000000000..e6e5ad2a17 --- /dev/null +++ b/examples/test_multiplot/test_multiplot.qrc @@ -0,0 +1,5 @@ + + + plotsymbol.png + + diff --git a/examples/test_multiplot/test_multiplot_ui.cpp b/examples/test_multiplot/test_multiplot_ui.cpp new file mode 100644 index 0000000000..f19038025d --- /dev/null +++ b/examples/test_multiplot/test_multiplot_ui.cpp @@ -0,0 +1,33 @@ +#include "test_multiplot_ui.h" +#include "ui_test_multiplot_ui.h" + +TestMultiplotUI::TestMultiplotUI(JKQTPlotter *plotTop_, JKQTPlotter *plotBot_, JKQTPlotter *plotRight_, QGridLayout *plotLayout_, QWidget *parent) : + QDialog(parent), + plotTop(plotTop_), + plotBot(plotBot_), + plotRight(plotRight_), + plotLayout(plotLayout_), + ui(new Ui::TestMultiplotUI) +{ + ui->setupUi(this); +} + +TestMultiplotUI::~TestMultiplotUI() +{ + delete ui; +} + +void TestMultiplotUI::updatePlot() +{ + plotLayout->setRowStretch(0, ui->spinRow0Stretch->value()); + plotLayout->setRowStretch(1, ui->spinRow1Stretch->value()); + plotLayout->setColumnStretch(0, ui->spinCol0Stretch->value()); + plotLayout->setColumnStretch(1, ui->spinCol1Stretch->value()); + plotBot->getPlotter()->resetMasterSynchronization(); + plotRight->getPlotter()->resetMasterSynchronization(); + plotBot->synchronizeToMaster(plotTop, JKQTBasePlotter::sdXAxis, ui->chkSyncWidthTopBot->isChecked(), ui->chkSyncZoomTopBot->isChecked(), ui->chkSyncZoomTopBot->isChecked()); + plotRight->synchronizeToMaster(plotBot, JKQTBasePlotter::sdYAxis, ui->chkSyncHeightLeftRight->isChecked(), ui->chkSyncZoomLeftRight->isChecked(), ui->chkSyncZoomLeftRight->isChecked()); + + plotTop->getPlotter()->setShowKey(false); + plotBot->getYAxis()->setAxisLabel(""); +} diff --git a/examples/test_multiplot/test_multiplot_ui.h b/examples/test_multiplot/test_multiplot_ui.h new file mode 100644 index 0000000000..217939662c --- /dev/null +++ b/examples/test_multiplot/test_multiplot_ui.h @@ -0,0 +1,31 @@ +#ifndef TEST_MULTIPLOT_UI_H +#define TEST_MULTIPLOT_UI_H + +#include +#include "jkqtplotter/jkqtplotter.h" +#include + +namespace Ui { + class TestMultiplotUI; +} + +class TestMultiplotUI : public QDialog +{ + Q_OBJECT + + public: + explicit TestMultiplotUI(JKQTPlotter* plotTop_, JKQTPlotter* plotBot_, JKQTPlotter* plotRight_, QGridLayout* plotLayout_, QWidget *parent = nullptr); + ~TestMultiplotUI(); + + protected slots: + void updatePlot(); + private: + JKQTPlotter* plotTop; + JKQTPlotter* plotBot; + JKQTPlotter* plotRight; + QGridLayout* plotLayout; + + Ui::TestMultiplotUI *ui; +}; + +#endif // TEST_MULTIPLOT_UI_H diff --git a/examples/test_multiplot/test_multiplot_ui.ui b/examples/test_multiplot/test_multiplot_ui.ui new file mode 100644 index 0000000000..dd6a9fa019 --- /dev/null +++ b/examples/test_multiplot/test_multiplot_ui.ui @@ -0,0 +1,389 @@ + + + TestMultiplotUI + + + + 0 + 0 + 536 + 299 + + + + Set Multi-Plot Properties + + + + + + + 0 + 0 + + + + + 145 + 96 + + + + + + + :/plotsymbol.png + + + + + + + 3 + + + + + + + + 0 + 0 + + + + + 145 + 96 + + + + + + + :/plotsymbol.png + + + + + + + row stretch: + + + + + + + 3 + + + + + + + Qt::Horizontal + + + + 444 + 20 + + + + + + + + 1 + + + + + + + 1 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + col stretch: + + + + + + + + 0 + 0 + + + + + 145 + 96 + + + + + + + :/plotsymbol.png + + + + + + + Qt::Horizontal + + + + 226 + 20 + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + syncHeight + + + true + + + + + + + syncZoom + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + syncWidth + + + true + + + + + + + syncZoom + + + true + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + chkSyncWidthTopBot + toggled(bool) + TestMultiplotUI + updatePlot() + + + 101 + 148 + + + 269 + 72 + + + + + chkSyncZoomTopBot + toggled(bool) + TestMultiplotUI + updatePlot() + + + 194 + 145 + + + 275 + 109 + + + + + spinCol0Stretch + valueChanged(int) + TestMultiplotUI + updatePlot() + + + 145 + 279 + + + 292 + 145 + + + + + spinCol1Stretch + valueChanged(int) + TestMultiplotUI + updatePlot() + + + 356 + 276 + + + 385 + 101 + + + + + spinRow0Stretch + valueChanged(int) + TestMultiplotUI + updatePlot() + + + 481 + 90 + + + 388 + 50 + + + + + spinRow1Stretch + valueChanged(int) + TestMultiplotUI + updatePlot() + + + 477 + 204 + + + 386 + 129 + + + + + chkSyncHeightLeftRight + toggled(bool) + TestMultiplotUI + updatePlot() + + + 238 + 199 + + + 279 + 43 + + + + + chkSyncZoomLeftRight + toggled(bool) + TestMultiplotUI + updatePlot() + + + 272 + 230 + + + 409 + 71 + + + + + + updatePlot() + + diff --git a/lib/jkqtfastplotter/jkqtfastplotter.h b/lib/jkqtfastplotter/jkqtfastplotter.h index 260b839a0c..33ab78f08d 100644 --- a/lib/jkqtfastplotter/jkqtfastplotter.h +++ b/lib/jkqtfastplotter/jkqtfastplotter.h @@ -25,9 +25,6 @@ */ -/** \file jkqtfastplotter.h - * \ingroup jkqtfastplotter - */ #ifndef JKQTFASTPLOTTER_H #define JKQTFASTPLOTTER_H @@ -93,7 +90,7 @@ class JKQTFPPlot; . */ -class LIB_EXPORT JKQTFastPlotter : public QGLWidget { +class JKQTP_LIB_EXPORT JKQTFastPlotter : public QGLWidget { Q_OBJECT protected: /** \brief indicates whether to do full repaint (system and data) at the next repaint (any of the repaint meothods) */ @@ -1158,7 +1155,7 @@ class LIB_EXPORT JKQTFastPlotter : public QGLWidget { /*! \brief base class for all plots that may be plotted by JKQTFastPlotter \ingroup jkqtfastplotter */ -class LIB_EXPORT JKQTFPPlot: public QObject { +class JKQTP_LIB_EXPORT JKQTFPPlot: public QObject { Q_OBJECT protected: /** \brief parent class, i.e. the plotter to plot on */ @@ -1200,7 +1197,7 @@ class LIB_EXPORT JKQTFPPlot: public QObject { 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. */ -class LIB_EXPORT JKQTFPLinePlot: public JKQTFPPlot { +class JKQTP_LIB_EXPORT JKQTFPLinePlot: public JKQTFPPlot { public: /** \brief used to store which datatype is used for the plot data */ enum DataType { @@ -1466,7 +1463,7 @@ class LIB_EXPORT JKQTFPLinePlot: public JKQTFPPlot { This class does not support y errors! */ -class LIB_EXPORT JKQTFPVCrossPlot: public JKQTFPLinePlot { +class JKQTP_LIB_EXPORT JKQTFPVCrossPlot: public JKQTFPLinePlot { Q_OBJECT public: /*! \brief class constructor @@ -1525,7 +1522,7 @@ class LIB_EXPORT JKQTFPVCrossPlot: public JKQTFPLinePlot { This class does not support y errors! */ -class LIB_EXPORT JKQTFPVBarPlot: public JKQTFPLinePlot { +class JKQTP_LIB_EXPORT JKQTFPVBarPlot: public JKQTFPLinePlot { Q_OBJECT public: /*! \brief class constructor @@ -1560,7 +1557,7 @@ class LIB_EXPORT JKQTFPVBarPlot: public JKQTFPLinePlot { \ingroup jkqtfastplotter */ -class LIB_EXPORT JKQTFPXRangePlot: public JKQTFPPlot { +class JKQTP_LIB_EXPORT JKQTFPXRangePlot: public JKQTFPPlot { Q_OBJECT protected: /** \brief start of x range */ @@ -1754,7 +1751,7 @@ class LIB_EXPORT JKQTFPXRangePlot: public JKQTFPPlot { \ingroup jkqtfastplotter */ -class LIB_EXPORT JKQTFPYRangePlot: public JKQTFPPlot { +class JKQTP_LIB_EXPORT JKQTFPYRangePlot: public JKQTFPPlot { Q_OBJECT protected: /** \brief start of x range */ @@ -1947,7 +1944,7 @@ class LIB_EXPORT JKQTFPYRangePlot: public JKQTFPPlot { /*! \brief a plot of a QImage \ingroup jkqtfastplotter */ -class LIB_EXPORT JKQTFPQImagePlot: public JKQTFPPlot { +class JKQTP_LIB_EXPORT JKQTFPQImagePlot: public JKQTFPPlot { Q_OBJECT protected: /** \brief image to plot */ @@ -2631,17 +2628,17 @@ inline void JKQTFPimagePlot_array2image(T* dbl, int width, int height, QImage &i \ingroup jkqtfastplotter \see JKQTFPimagePlot_array2image() */ -LIB_EXPORT QStringList JKQTFPimagePlot_getPalettes(); +JKQTP_LIB_EXPORT QStringList JKQTFPimagePlot_getPalettes(); /*! \brief get QIcon representing the given palette \ingroup jkqtfastplotter \see JKQTFPimagePlot_array2image() */ -LIB_EXPORT QIcon JKQTFPimagePlot_getPaletteIcon(int i); +JKQTP_LIB_EXPORT QIcon JKQTFPimagePlot_getPaletteIcon(int i); /*! \brief get QIcon representing the given palette \ingroup jkqtfastplotter \see JKQTFPimagePlot_array2image() */ -LIB_EXPORT QIcon JKQTFPimagePlot_getPaletteIcon(JKQTFPColorPalette palette); +JKQTP_LIB_EXPORT QIcon JKQTFPimagePlot_getPaletteIcon(JKQTFPColorPalette palette); /*! \brief plots a given grayscale image with a given color palette @@ -2652,7 +2649,7 @@ LIB_EXPORT QIcon JKQTFPimagePlot_getPaletteIcon(JKQTFPColorPalette palette); . */ -class LIB_EXPORT JKQTFPimagePlot: public JKQTFPPlot { +class JKQTP_LIB_EXPORT JKQTFPimagePlot: public JKQTFPPlot { Q_OBJECT protected: /** \brief image to plot */ @@ -3067,7 +3064,7 @@ inline void JKQTFPRGBImageOverlayPlot_array2image(T* dbl, int width, int height, . */ -class LIB_EXPORT JKQTFPRGBImageOverlayPlot: public JKQTFPPlot { +class JKQTP_LIB_EXPORT JKQTFPRGBImageOverlayPlot: public JKQTFPPlot { Q_OBJECT protected: /** \brief image to plot */ @@ -3476,7 +3473,7 @@ class LIB_EXPORT JKQTFPRGBImageOverlayPlot: public JKQTFPPlot { \ingroup jkqtfastplotter */ -class LIB_EXPORT JKQTFPimageOverlayPlot: public JKQTFPPlot { +class JKQTP_LIB_EXPORT JKQTFPimageOverlayPlot: public JKQTFPPlot { Q_OBJECT public: enum SymbolType { @@ -3661,7 +3658,7 @@ class LIB_EXPORT JKQTFPimageOverlayPlot: public JKQTFPPlot { \ingroup jkqtfastplotter */ -class LIB_EXPORT JKQTFPQScaleBarXPlot: public JKQTFPPlot { +class JKQTP_LIB_EXPORT JKQTFPQScaleBarXPlot: public JKQTFPPlot { Q_OBJECT public: enum Position { @@ -3809,7 +3806,7 @@ class LIB_EXPORT JKQTFPQScaleBarXPlot: public JKQTFPPlot { \ingroup jkqtfastplotter */ -class LIB_EXPORT JKQTFPQOverlayLinearGridPlot: public JKQTFPPlot { +class JKQTP_LIB_EXPORT JKQTFPQOverlayLinearGridPlot: public JKQTFPPlot { Q_OBJECT protected: diff --git a/lib/jkqtmathtext/jkqtmathtext.h b/lib/jkqtmathtext/jkqtmathtext.h index 771930755b..81faad357b 100644 --- a/lib/jkqtmathtext/jkqtmathtext.h +++ b/lib/jkqtmathtext/jkqtmathtext.h @@ -26,10 +26,6 @@ */ -/** \file jkqtmathtext.h - * \ingroup jkqtmathtext - */ - #ifndef JKQTMATHTEXT_H #define JKQTMATHTEXT_H @@ -53,7 +49,7 @@ /** \brief initialized Qt-ressources necessary for JKQTMathText * \ingroup jkqtmathtext */ -LIB_EXPORT void initJKQTMathTextResources(); +JKQTP_LIB_EXPORT void initJKQTMathTextResources(); /*! \brief this class parses a LaTeX string and can then draw the contained text/equation onto a QPainter \ingroup jkqtmathtext @@ -222,7 +218,7 @@ LIB_EXPORT void initJKQTMathTextResources(); */ -class LIB_EXPORT JKQTMathText : public QObject { +class JKQTP_LIB_EXPORT JKQTMathText : public QObject { Q_OBJECT public: /** \brief class constructor */ @@ -1498,7 +1494,7 @@ inline uint qHash(const JKQTMathText::tbrDataH& data) { \see JKQTMathText */ -class LIB_EXPORT JKQTMathTextLabel: public QLabel { +class JKQTP_LIB_EXPORT JKQTMathTextLabel: public QLabel { Q_OBJECT public: explicit JKQTMathTextLabel(QWidget* parent=nullptr); diff --git a/lib/jkqtplotter/jkqtpbaseelements.h b/lib/jkqtplotter/jkqtpbaseelements.h index 28eece6cde..820775521b 100644 --- a/lib/jkqtplotter/jkqtpbaseelements.h +++ b/lib/jkqtplotter/jkqtpbaseelements.h @@ -19,9 +19,6 @@ -/** \file jkqtpbaseelements.h - * \ingroup jkqtpbaseplotter_elements - */ #ifndef JKQTPBASEELEMENTS_H #define JKQTPBASEELEMENTS_H @@ -137,7 +134,7 @@ class JKQTBasePlotter; nearest but \c ">=" to the given \c minTicks. The Algorithm is described in detail with the function calcLinearTickSpacing(). To activate this automatic tick spacing you have to set autoAxisSpacing=true. */ -class LIB_EXPORT JKQTPCoordinateAxis: public QObject { +class JKQTP_LIB_EXPORT JKQTPCoordinateAxis: public QObject { Q_OBJECT protected: public: @@ -915,7 +912,7 @@ class LIB_EXPORT JKQTPCoordinateAxis: public QObject { \ingroup jkqtpbaseplotter_elements */ -class LIB_EXPORT JKQTPVerticalAxis: public JKQTPCoordinateAxis { +class JKQTP_LIB_EXPORT JKQTPVerticalAxis: public JKQTPCoordinateAxis { Q_OBJECT protected: public: @@ -956,7 +953,7 @@ class LIB_EXPORT JKQTPVerticalAxis: public JKQTPCoordinateAxis { This axis may be draw at a user-supplied position (used e.g. for color bar axes) */ -class LIB_EXPORT JKQTPVerticalIndependentAxis: public JKQTPVerticalAxis { +class JKQTP_LIB_EXPORT JKQTPVerticalIndependentAxis: public JKQTPVerticalAxis { Q_OBJECT protected: public: @@ -996,7 +993,7 @@ class LIB_EXPORT JKQTPVerticalIndependentAxis: public JKQTPVerticalAxis { \ingroup jkqtpbaseplotter_elements */ -class LIB_EXPORT JKQTPHorizontalAxis: public JKQTPCoordinateAxis { +class JKQTP_LIB_EXPORT JKQTPHorizontalAxis: public JKQTPCoordinateAxis { Q_OBJECT protected: public: @@ -1038,7 +1035,7 @@ class LIB_EXPORT JKQTPHorizontalAxis: public JKQTPCoordinateAxis { This axis may be draw at a user-supplied position (used e.g. for color bar axes) */ -class LIB_EXPORT JKQTPHorizontalIndependentAxis: public JKQTPHorizontalAxis { +class JKQTP_LIB_EXPORT JKQTPHorizontalIndependentAxis: public JKQTPHorizontalAxis { Q_OBJECT protected: public: diff --git a/lib/jkqtplotter/jkqtpbaseplotter.cpp b/lib/jkqtplotter/jkqtpbaseplotter.cpp index 4441c44967..da49d08fcb 100644 --- a/lib/jkqtplotter/jkqtpbaseplotter.cpp +++ b/lib/jkqtplotter/jkqtpbaseplotter.cpp @@ -18,10 +18,6 @@ */ - -/** \file jkqtpbaseplotter.cpp - * \ingroup jkqtpplotterclasses - */ #include #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) #include @@ -177,7 +173,8 @@ JKQTBasePlotter::JKQTBasePlotter(bool datastore_internal, QObject* parent, JKQTP printDoUpdate=true; emitPlotSignals=true; - masterPlotter=nullptr; + masterPlotterX=nullptr; + masterPlotterY=nullptr; masterSynchronizeWidth=false; masterSynchronizeHeight=false; fontSizePrintMultiplier=1; @@ -708,6 +705,7 @@ void JKQTBasePlotter::setXY(double xminn, double xmaxx, double yminn, double yma double w=fabs(xmaxx-xminn)/axisAspectRatio; yAxis->setRange(mid-w/2.0, mid+w/2.0); } + if (emitSignals) emit zoomChangedLocally(xAxis->getMin(), xAxis->getMax(), yAxis->getMin(), yAxis->getMax(), this); } void JKQTBasePlotter::setX(double xminn, double xmaxx){ @@ -717,6 +715,7 @@ void JKQTBasePlotter::setX(double xminn, double xmaxx){ double w=fabs(xmaxx-xminn)/axisAspectRatio; yAxis->setRange(mid-w/2.0, mid+w/2.0); } + if (emitSignals) emit zoomChangedLocally(xAxis->getMin(), xAxis->getMax(), yAxis->getMin(), yAxis->getMax(), this); } void JKQTBasePlotter::setY(double yminn, double ymaxx){ @@ -726,19 +725,23 @@ void JKQTBasePlotter::setY(double yminn, double ymaxx){ double w=fabs(ymaxx-yminn)*axisAspectRatio; xAxis->setRange(mid-w/2.0, mid+w/2.0); } + if (emitSignals) emit zoomChangedLocally(xAxis->getMin(), xAxis->getMax(), yAxis->getMin(), yAxis->getMax(), this); } void JKQTBasePlotter::setAbsoluteX(double xminn, double xmaxx) { xAxis->setAbsoluteRange(xminn, xmaxx); + if (emitSignals) emit zoomChangedLocally(xAxis->getMin(), xAxis->getMax(), yAxis->getMin(), yAxis->getMax(), this); } void JKQTBasePlotter::setAbsoluteY(double yminn, double ymaxx) { yAxis->setAbsoluteRange(yminn, ymaxx); + if (emitSignals) emit zoomChangedLocally(xAxis->getMin(), xAxis->getMax(), yAxis->getMin(), yAxis->getMax(), this); } void JKQTBasePlotter::setAbsoluteXY(double xminn, double xmaxx, double yminn, double ymaxx) { xAxis->setAbsoluteRange(xminn, xmaxx); yAxis->setAbsoluteRange(yminn, ymaxx); + if (emitSignals) emit zoomChangedLocally(xAxis->getMin(), xAxis->getMax(), yAxis->getMin(), yAxis->getMax(), this); } void JKQTBasePlotter::calcPlotScaling(JKQTPEnhancedPainter& painter){ @@ -746,6 +749,7 @@ void JKQTBasePlotter::calcPlotScaling(JKQTPEnhancedPainter& painter){ JKQTPAutoOutputTimer jkaat(QString("JKQTBasePlotter[%1]::calcPlotScaling()").arg(objectName())); #endif + //qDebug()<<"this="< calcPlotScaling()"; if (emitSignals) emit beforePlotScalingRecalculate(); //qDebug()<<"start JKQTBasePlotter::calcPlotScaling"; @@ -840,7 +844,7 @@ void JKQTBasePlotter::calcPlotScaling(JKQTPEnhancedPainter& painter){ // read additional space required by graphs for (int i=0; igetVisible()) { + if (graphs[i]->isVisible()) { int leftSpace, rightSpace, topSpace, bottomSpace; graphs[i]->getOutsideSize(painter, leftSpace, rightSpace, topSpace, bottomSpace); iplotBorderBottom+=bottomSpace; @@ -854,14 +858,16 @@ void JKQTBasePlotter::calcPlotScaling(JKQTPEnhancedPainter& painter){ // synchronize to a master-plotter - if (masterPlotter) { + if (masterPlotterX) { if (masterSynchronizeWidth) { - iplotBorderLeft=masterPlotter->iplotBorderLeft; - iplotBorderRight=masterPlotter->iplotBorderRight; + iplotBorderLeft=masterPlotterX->iplotBorderLeft; + iplotBorderRight=masterPlotterX->iplotBorderRight; } + } + if (masterPlotterY) { if (masterSynchronizeHeight) { - iplotBorderTop=masterPlotter->iplotBorderTop; - iplotBorderBottom=masterPlotter->iplotBorderBottom; + iplotBorderTop=masterPlotterY->iplotBorderTop; + iplotBorderBottom=masterPlotterY->iplotBorderBottom; } } @@ -943,7 +949,8 @@ void JKQTBasePlotter::calcPlotScaling(JKQTPEnhancedPainter& painter){ } - if (emitPlotSignals) emit plotScalingRecalculated(); + //if (emitPlotSignals) emit plotScalingRecalculated(); + emit plotScalingRecalculated(); } @@ -1144,7 +1151,7 @@ void JKQTBasePlotter::plotOverlays(JKQTPEnhancedPainter &painter) { for (int j=0; jgetVisible()) g->draw(painter); + if (g->isVisible()) g->draw(painter); } if (useClipping) { @@ -3194,76 +3201,93 @@ void JKQTBasePlotter::setBorder(int left, int right, int top, int bottom){ if (emitPlotSignals) emit plotUpdated(); } -void JKQTBasePlotter::synchronizeToMaster(JKQTBasePlotter* master, bool synchronizeWidth, bool synchronizeHeight, bool synchronizeZoomingMasterToSlave, bool synchronizeZoomingSlaveToMaster) { - if (!master) { - resetMasterSynchronization(); - } - masterPlotter=master; - if (masterSynchronizeHeight!=synchronizeHeight && masterSynchronizeHeight) { - disconnect(masterPlotter, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), - this, SLOT(synchronizeYAxis(double,double,double,double,JKQTBasePlotter*))); +void JKQTBasePlotter::synchronizeToMaster(JKQTBasePlotter* master, SynchronizationDirection synchronizeDirection, bool synchronizeAxisLength, bool synchronizeZoomingMasterToSlave, bool synchronizeZoomingSlaveToMaster) { + // remove old connections + if (masterPlotterX && (synchronizeDirection==sdXAxis || synchronizeDirection==sdXYAxes)) { + disconnect(masterPlotterX, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), + this, SLOT(synchronizeXAxis(double,double,double,double,JKQTBasePlotter*))); disconnect(this, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), - masterPlotter, SLOT(synchronizeYAxis(double,double,double,double,JKQTBasePlotter*))); + masterPlotterX, SLOT(synchronizeXAxis(double,double,double,double,JKQTBasePlotter*))); } - if (masterSynchronizeWidth!=synchronizeWidth && masterSynchronizeWidth) { - disconnect(masterPlotter, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), - this, SLOT(synchronizeXAxis(double,double,double,double,JKQTBasePlotter*))); + if (masterPlotterY && (synchronizeDirection==sdYAxis || synchronizeDirection==sdXYAxes)) { + disconnect(masterPlotterY, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), + this, SLOT(synchronizeYAxis(double,double,double,double,JKQTBasePlotter*))); disconnect(this, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), - masterPlotter, SLOT(synchronizeXAxis(double,double,double,double,JKQTBasePlotter*))); + masterPlotterY, SLOT(synchronizeYAxis(double,double,double,double,JKQTBasePlotter*))); } - masterSynchronizeHeight=synchronizeHeight; - masterSynchronizeWidth=synchronizeWidth; - if (masterSynchronizeWidth) { - if (synchronizeZoomingMasterToSlave) { - connect(master, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), - this, SLOT(synchronizeXAxis(double,double,double,double,JKQTBasePlotter*))); + // store new connection settings + if (synchronizeDirection==sdXAxis || synchronizeDirection==sdXYAxes) { + masterPlotterX=master; + masterSynchronizeWidth=synchronizeAxisLength; + } + if (synchronizeDirection==sdYAxis || synchronizeDirection==sdXYAxes) { + masterPlotterY=master; + masterSynchronizeHeight=synchronizeAxisLength; + } + + // connect widgets (if required) + if (master) { + if (synchronizeDirection==sdXAxis || synchronizeDirection==sdXYAxes) { + if (synchronizeZoomingMasterToSlave) { + connect(masterPlotterX, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), + this, SLOT(synchronizeXAxis(double,double,double,double,JKQTBasePlotter*))); + } + if (synchronizeZoomingSlaveToMaster) { + connect(this, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), + masterPlotterX, SLOT(synchronizeXAxis(double,double,double,double,JKQTBasePlotter*))); + + } } - if (synchronizeZoomingSlaveToMaster) { - connect(this, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), - master, SLOT(synchronizeXAxis(double,double,double,double,JKQTBasePlotter*))); + if (synchronizeDirection==sdYAxis || synchronizeDirection==sdXYAxes) { + if (synchronizeZoomingMasterToSlave) { + connect(masterPlotterY, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), + this, SLOT(synchronizeYAxis(double,double,double,double,JKQTBasePlotter*))); + } + if (synchronizeZoomingSlaveToMaster) { + connect(this, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), + masterPlotterY, SLOT(synchronizeYAxis(double,double,double,double,JKQTBasePlotter*))); + } } } - if (masterSynchronizeWidth) { - if (synchronizeHeight) { - connect(master, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), - this, SLOT(synchronizeYAxis(double,double,double,double,JKQTBasePlotter*))); - } - if (synchronizeZoomingSlaveToMaster) { - connect(this, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), - master, SLOT(synchronizeYAxis(double,double,double,double,JKQTBasePlotter*))); - } - } } -void JKQTBasePlotter::resetMasterSynchronization() { - masterPlotter=nullptr; - masterSynchronizeHeight=false; - masterSynchronizeWidth=false; +void JKQTBasePlotter::synchronizeXToMaster(JKQTBasePlotter *master, bool synchronizeAxisLength, bool synchronizeZoomingMasterToSlave, bool synchronizeZoomingSlaveToMaster) +{ + synchronizeToMaster(master, sdXAxis, synchronizeAxisLength, synchronizeZoomingMasterToSlave, synchronizeZoomingSlaveToMaster); +} - disconnect(masterPlotter, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), - this, SLOT(synchronizeXAxis(double,double,double,double,JKQTBasePlotter*))); - disconnect(this, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), - masterPlotter, SLOT(synchronizeXAxis(double,double,double,double,JKQTBasePlotter*))); - disconnect(masterPlotter, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), - this, SLOT(synchronizeYAxis(double,double,double,double,JKQTBasePlotter*))); - disconnect(this, SIGNAL(zoomChangedLocally(double,double,double,double,JKQTBasePlotter*)), - masterPlotter, SLOT(synchronizeYAxis(double,double,double,double,JKQTBasePlotter*))); +void JKQTBasePlotter::synchronizeYToMaster(JKQTBasePlotter *master, bool synchronizeAxisLength, bool synchronizeZoomingMasterToSlave, bool synchronizeZoomingSlaveToMaster) +{ + synchronizeToMaster(master, sdYAxis, synchronizeAxisLength, synchronizeZoomingMasterToSlave, synchronizeZoomingSlaveToMaster); +} + +void JKQTBasePlotter::resetMasterSynchronization(JKQTBasePlotter::SynchronizationDirection synchronizeDirection) { + synchronizeToMaster(nullptr, synchronizeDirection, false, false, false); } void JKQTBasePlotter::synchronizeXAxis(double newxmin, double newxmax, double /*newymin*/, double /*newymax*/, JKQTBasePlotter * /*sender*/) { + bool oldemitSignals=emitSignals; + emitSignals=false; setX(newxmin, newxmax); + emitSignals=oldemitSignals; } void JKQTBasePlotter::synchronizeYAxis(double /*newxmin*/, double /*newxmax*/, double newymin, double newymax, JKQTBasePlotter * /*sender*/) { + bool oldemitSignals=emitSignals; + emitSignals=false; setY(newymin, newymax); + emitSignals=oldemitSignals; } void JKQTBasePlotter::synchronizeXYAxis(double newxmin, double newxmax, double newymin, double newymax, JKQTBasePlotter * /*sender*/) { + bool oldemitSignals=emitSignals; + emitSignals=false; setXY(newxmin, newxmax, newymin, newymax); + emitSignals=oldemitSignals; } size_t JKQTBasePlotter::addGraph(size_t xColumn, size_t yColumn, const QString& title, JKQTPGraphPlotstyle graphStyle) { @@ -3579,7 +3603,7 @@ void JKQTBasePlotter::plotGraphs(JKQTPEnhancedPainter& painter){ //int leftSpace, rightSpace, topSpace, bottomSpace; JKQTPPlotElement* g=graphs[j]; //qDebug()<<" drawing JKQTPPlotElement"<getTitle()<metaObject()->className(); - if (g->getVisible()) g->draw(painter); + if (g->isVisible()) g->draw(painter); } if (useClipping) { @@ -3589,7 +3613,7 @@ void JKQTBasePlotter::plotGraphs(JKQTPEnhancedPainter& painter){ for (int j=0; jgetVisible()) { + if (g->isVisible()) { g->getOutsideSize(painter, leftSpace, rightSpace, topSpace, bottomSpace); ibTop+=topSpace; ibLeft+=leftSpace; @@ -3634,7 +3658,7 @@ void JKQTBasePlotter::plotKeyContents(JKQTPEnhancedPainter& painter, double x, d #ifdef JKQTBP_AUTOTIMER jkaaot.write(QString("one-col: graph %1: %2").arg(i).arg(g->getTitle())); #endif - if (!g->getTitle().isEmpty() && g->getVisible()) { + if (!g->getTitle().isEmpty() && g->isVisible()) { QSizeF fs=getTextSizeSize(keyFont,keyFontSize*fontSizeMultiplier,g->getTitle(),painter);// mt.getSize(painter); double itheight=qMax(key_item_height*kfm.width('X'), fs.height()); QRectF rect(x, y+1.5*lineWidthMultiplier, key_line_length*kfm.width('X'), itheight-3.0*lineWidthMultiplier); @@ -3657,7 +3681,7 @@ void JKQTBasePlotter::plotKeyContents(JKQTPEnhancedPainter& painter, double x, d #ifdef JKQTBP_AUTOTIMER jkaaot.write(QString("one-row: graph %1: %2").arg(i).arg(g->getTitle())); #endif - if (!g->getTitle().isEmpty() && g->getVisible()) { + if (!g->getTitle().isEmpty() && g->isVisible()) { QSizeF fs=getTextSizeSize(keyFont,keyFontSize*fontSizeMultiplier,g->getTitle(),painter);// mt.getSize(painter); double itheight=qMax(key_item_height*kfm.width('X'), fs.height()); QRectF rect(x, y+1.5*lineWidthMultiplier, key_line_length*kfm.width('X'), itheight-3.0*lineWidthMultiplier); @@ -3691,7 +3715,7 @@ void JKQTBasePlotter::plotKeyContents(JKQTPEnhancedPainter& painter, double x, d #ifdef JKQTBP_AUTOTIMER jkaaot.write(QString("multi-col: graph %1: %2").arg(i).arg(g->getTitle())); #endif - if (!g->getTitle().isEmpty() && g->getVisible()) { + if (!g->getTitle().isEmpty() && g->isVisible()) { //QSizeF fs=getTextSizeSize(keyFont,keyFontSize*fontSizeMultiplier,g->getTitle(),painter);// mt.getSize(painter); double itheight=qMax(key_item_height*kfm.width('X'), key_text_height); QRectF rect(xx, yy+1.5*lineWidthMultiplier, key_line_length*kfm.width('X'), itheight-3.0*lineWidthMultiplier); @@ -3755,7 +3779,7 @@ void JKQTBasePlotter::getKeyExtent(JKQTPEnhancedPainter& painter, double* width, for (int i=0; igetTitle().isEmpty() || !graphs[i]->getVisible()) { + if (graphs[i]->getTitle().isEmpty() || !graphs[i]->isVisible()) { keyHeight--; } else { //mt.parse(graphs[i]->getTitle()); @@ -3786,7 +3810,7 @@ void JKQTBasePlotter::getKeyExtent(JKQTPEnhancedPainter& painter, double* width, for (int i=0; igetTitle().isEmpty() || !graphs[i]->getVisible()) { + if (graphs[i]->getTitle().isEmpty() || !graphs[i]->isVisible()) { keyWidth--; } else { //mt.parse(graphs[i]->getTitle()); @@ -3822,7 +3846,7 @@ void JKQTBasePlotter::getKeyExtent(JKQTPEnhancedPainter& painter, double* width, for (int i=0; igetTitle().isEmpty() || !graphs[i]->getVisible()) { + if (graphs[i]->getTitle().isEmpty() || !graphs[i]->isVisible()) { keyHeight--; } else { //mt.parse(graphs[i]->getTitle()); @@ -3904,7 +3928,7 @@ void JKQTBasePlotter::getGraphsXMinMax(double& minx, double& maxx, double& small maxx=0; smallestGreaterZero=0; for (int i=0; igetVisible()) { + if (graphs[i]->isVisible()) { double gminx=0; double gmaxx=0; double gsmallestGreaterZero=0; @@ -3931,7 +3955,7 @@ void JKQTBasePlotter::getGraphsYMinMax(double& miny, double& maxy, double& small maxy=0; smallestGreaterZero=0; for (int i=0; igetVisible()) { + if (graphs[i]->isVisible()) { double gminy=0; double gmaxy=0; double gsmallestGreaterZero=0; @@ -4288,17 +4312,6 @@ bool JKQTBasePlotter::containsGraph(JKQTPPlotElement* gr) const { return false; }; - -void JKQTBasePlotter::setGraphsDataRange(int datarange_start, int datarange_end) { - for (int i=0; i(graphs[i]); - if (g) { - g->setDatarangeStart(datarange_start); - g->setDatarange_end(datarange_end); - } - } -} - void JKQTBasePlotter::setUserSettigsFilename(const QString &filename, const QString &prefix) { userSettigsFilename=filename; diff --git a/lib/jkqtplotter/jkqtpbaseplotter.h b/lib/jkqtplotter/jkqtpbaseplotter.h index 765d34520c..ec87ffeee4 100644 --- a/lib/jkqtplotter/jkqtpbaseplotter.h +++ b/lib/jkqtplotter/jkqtpbaseplotter.h @@ -17,12 +17,6 @@ along with this program. If not, see . */ - - -/** \file jkqtpbaseplotter.h - * \ingroup jkqtpplotterclasses - */ - #include "jkqtplottertools/jkqtptools.h" #include "jkqtplotter/jkqtpdatastorage.h" #include "jkqtmathtext/jkqtmathtext.h" @@ -63,11 +57,11 @@ class JKQTPPlotElement; // forward /** \brief initialized Qt-ressources necessary for JKQTBasePlotter * \ingroup jkqtpplotterclasses */ -LIB_EXPORT void initJKQTBasePlotterResources(); +JKQTP_LIB_EXPORT void initJKQTBasePlotterResources(); /** \brief virtual base-class for exporter classes that can be used to save data inot a file * \ingroup jkqtpplotterclasses */ -class LIB_EXPORT JKQTPSaveDataAdapter { +class JKQTP_LIB_EXPORT JKQTPSaveDataAdapter { public: virtual ~JKQTPSaveDataAdapter() ; virtual QString getFilter() const=0; @@ -77,7 +71,7 @@ class LIB_EXPORT JKQTPSaveDataAdapter { /** \brief Service from this class to implement a special QPaintDevice as a plugin, that can be registered to JKQTBasePlotter/JKQTPlotter * and then be used to export graphics, use registerPaintDeviceAdapter() to register such a plass * \ingroup jkqtpplotterclasses*/ -class LIB_EXPORT JKQTPPaintDeviceAdapter { +class JKQTP_LIB_EXPORT JKQTPPaintDeviceAdapter { public: virtual ~JKQTPPaintDeviceAdapter() {} virtual QString getFilter() const=0; @@ -111,7 +105,11 @@ class LIB_EXPORT JKQTPPaintDeviceAdapter { * This class is NOT a widget, if you need a plotting widget, use JKQTPlotter. This class may be used to * plot using a JKQTPEnhancedPainter. * - * \see JKQTPlotter + * \see JKQTPlotter a QWidget class that displays a JKQTBasePlotter plot on a Qt Window. + * + * + * \tableofcontents + * * * \section jkqtplotter_base_datastore Data Storage * As already mentioned this class does not provide means to draw graphs, but it contains a basic mechanism to associate @@ -214,16 +212,91 @@ class LIB_EXPORT JKQTPPaintDeviceAdapter { * . * * - * \subsection JKQTBASEPLOTTER_GRIDPRINTING Grid-Printing / Layouting Several Graphs - * As one often want's to combine different graphs, there is a possibility to combine this graph with more other graphs. - * To do so one can think of the graphs to be part of a grid where each graph is contained in one cell. By default this - * mechanism is deactivated. You can activate it by calling setGridPrinting(true). Then you can set the position of the - * current graph by calling setGridPrintingCurrentX() and setGridPrintingCurrentY(). Add additional graphs by calling - * addGridPrintingPlotter(). The position of the current graph is 0,0 by default. Afterwards the save and print routines - * will export/print all graphs, not just the current one. There will be no additional border between the graphs, as the - * class expects the internal graph borders to be sufficient. + * \section JKQTBASEPLOTTER_SYNCMULTIPLOT Synchronizing Several Plots + * + * Often a single plot is not sufficient, but several plots need to be aligned with respect to each other: + * + * \image html test_multiplot.png + * + * This can be achieved by putting several JKQTPlotter instances into a + * Qt Layout. Then you can fill each plot differently and + * set the x-/y-range of each plot by hand. This method works for simple cases, but has several drawbacks: + * - Due to the independent and automatic layouting of each plot, the axes do not need to be aligned properly
+ * \image html jkqtbaseplotter_synchronization_unequalaxes.png + * - When you print the plot, the printing does not know about the layout and the other plots in it. Therefor + * it will only print the plot itself.
+ * \image html jkqtbaseplotter_synchronization_nogridprint.png "Printing with grid-printing-mode deactivated"
+ * \image html jkqtbaseplotter_synchronization_withgridprint.png "Printing with grid-printing-mode activated" + * - when you zoom/pan in one of the plots (e.g. using the mouse), the other plots will not adapt their + * axes to match the new area, but especially in cases as in the image above it would be beneficial, + * that tha x-axis of the plot at the bottom follows the x-axis of the plot above etc.
+ * \image html jkqtbaseplotter_synchronization_nonsyncedxrange.png + * . + * + * + * To overcome these limitations, JKQTPlotter (and JKQTBasePlotter) offer an API with which you can declare relations between + * different plots (one of them is made the master) and you can synchronize the axes of two plots, when + * zooming (also when calling e.g. zoomToFit() or setXY() ). This API is: + * - \ref JKQTBASEPLOTTER_SYNCMULTIPLOT_SYNC + * - \ref JKQTBASEPLOTTER_SYNCMULTIPLOT_GRIDPRINT + * . + * + * \subsection JKQTBASEPLOTTER_SYNCMULTIPLOT_SYNC Synchronizing Axis Range & Plot Width + * + * You can synchronize the plot width and axis range between two JKQTPlotter instaces using: + * - synchronizeToMaster() / JKQTBasePlotter::synchronizeToMaster() synchronizes the parent JKQTPlotter with another JKQTPlotter. With two boolean-parameters + * you can specify the axes to be synchronized. E.g. in the case above, you would call: + * \code + * // synchronize width/x-axis of plotResid to width/x-axis of plotMain + * plotResid->synchronizeToMaster(plotMain, JKQTBasePlotter::sdXAxis, true, true, true); + * + * // synchronize y-axis of width/plotResidHist to y-axis of width/plotResid + * plotResidHist->synchronizeToMaster(plotResid, JKQTBasePlotter::sdYAxis, true, true, true); + * \endcode + * This will synchronize the x-axes of the top (\c plotMain ) and bottom-left plot (\c plotResid ), + * as well as the y-axes of the bottom-left (\c plotResid ) and bottom-right plot (\c plotResidHist ). + * After this call they will have the same size in screen pixels and always span the same range + * in plot coordinates. + * - synchronizeXToMaster() / JKQTBasePlotter::synchronizeXToMaster() like synchronizeToMaster() / JKQTBasePlotter::synchronizeToMaster(), + * but synchronizes only the x-axes + * - synchronizeYToMaster() / JKQTBasePlotter::synchronizeYToMaster() like synchronizeToMaster() / JKQTBasePlotter::synchronizeToMaster(), + * but synchronizes only the y-axes + * - resetMasterSynchronization() / JKQTBasePlotter::resetMasterSynchronization() deletes all synchronizations + * from the JKQTPlotter + * . + * + * \see See \ref JKQTPlotterMultiPlotLayout for an extensive example of the functionality. + * + * + * \subsection JKQTBASEPLOTTER_SYNCMULTIPLOT_GRIDPRINT Grid Printing/Desclaring Relations between Plots + * + * Usually each JKQTPlotter/JKQTBasePlotter prints or exports only itself. But in many cases you might want to + * add several plots that form a grid layout and also want to export them as one image/print them on one page. + * To do this, JKQTPlotter/JKQTBasePlotter offers the "grid printing" mode. In this mode, you can declare + * relations between different JKQTPlotters/JKQTBasePlotters by putting them in a rectangular grid (like in a + * QGridLayout). then any export/print action will draw all (explicitly) + * decalred graphs. + * + * \image html jkqtplotter_gridprint.png + * + * The grid printing API is composed of these functions: + * - setGridPrinting() enables grid printing for this JKQTPlotter. If set to \c true , and you print afterwards, + * the printout (or export) will not only contain the plot itself, but also additional plots that were + * declared using addGridPrintingPlotter() (see below). + * - addGridPrintingPlotter() add a new plotter \a plotterOther for grid printing mode, at location \a x / \a y + * E.g. in the example shown above, you could call: + * \code + * plotMain->setGridPrinting(true); + * plotMain->addGridPrintingPlotter(0,1,plotResid); + * plotMain->addGridPrintingPlotter(1,1,plotResidHist); + * \endcode + * - setGridPrintingCurrentX() / setGridPrintingCurrentY() / setGridPrintingCurrentPos() + * sets the location of the calling plot inside the grid. By default each plot assumes to be at (0,0). + * - clearGridPrintingPlotters() clear all additional plotters for grid printing mode + * . + * + * \see See \ref JKQTPlotterMultiPlotLayout for an extensive example of the functionality. * - * \see \ref JKQTPLOTTER_SYNCMULTIPLOT * * * \section jkqtplotter_base_defaultvalues Default Properties @@ -241,7 +314,7 @@ class LIB_EXPORT JKQTPPaintDeviceAdapter { * These methods MAY (strictly optional and turned off by default) be called by saveSettings() and loadSettings(), if the property userSettigsFilename ( \copybrief userSettigsFilename )is * set (not-empty). In this case the suer settings are stored/loaded also everytime they are changed by the user or programmatically. */ -class LIB_EXPORT JKQTBasePlotter: public QObject { +class JKQTP_LIB_EXPORT JKQTBasePlotter: public QObject { Q_OBJECT public: typedef QMap > > AdditionalActionsMap; @@ -677,11 +750,13 @@ class LIB_EXPORT JKQTBasePlotter: public QObject { QString currentDataFileFormat; QString currentPrinter; - /** \brief the master plotter, this plotter is connected to. */ - JKQTBasePlotter* masterPlotter; - /** \brief synchronize plot width with masterPlotter */ + /** \brief the master plotter for x-dimension, this plotter is connected to. */ + JKQTBasePlotter *masterPlotterX; + /** \brief the master plotter for y-dimension, this plotter is connected to. */ + JKQTBasePlotter *masterPlotterY; + /** \brief synchronize plot width with masterPlotterX */ bool masterSynchronizeWidth; - /** \brief synchronize plot height with masterPlotter */ + /** \brief synchronize plot height with masterPlotterY */ bool masterSynchronizeHeight; @@ -891,9 +966,6 @@ class LIB_EXPORT JKQTBasePlotter: public QObject { zoomIn(1.0/factor); } - /** \brief set the datarange of all current graphs to the given values */ - void setGraphsDataRange(int datarange_start, int datarange_end); - /** \brief en-/disables the maintaining of the data aspect ratio */ void setMaintainAspectRatio(bool value) { maintainAspectRatio=value; @@ -2158,27 +2230,58 @@ class LIB_EXPORT JKQTBasePlotter: public QObject { void getGraphsYMinMax(double& miny, double& maxy, double& smallestGreaterZero); + enum SynchronizationDirection { + sdXAxis, + sdYAxis, + sdXYAxes + }; - /*! \brief synchronize the plot borders with a given plotter + /*! \brief synchronize the plot borders (and zooming) with a given plotter (master --> slave/this) This function allows two plotters to draw a graph with exactly the same height or width as in another graph. For example if you want to have two plotters which are positioned one above the other (and have the same widget widths, which could be guaranteed by a QLayout) you may want to make sure that their plotWidth s are always the same. In this case call - \code plotter2->synchronizeToMaster(plotter1, true, false) \endcode of the lower plotter \c plotter2 . + \code plotter2->synchronizeToMaster(plotter1, sdXAxis, true) \endcode of the lower plotter \c plotter2 . Now whenever the size of plotter1 changes, also plotter2 is redrawn with the changed borders. \param master the plotter widget to synchronize to - \param synchronizeWidth do you want the plot width to be synchronized? - \param synchronizeHeight do you want the plot height to be synchronized? + \param synchronizeDirection direction in which to synchronize + \param synchronizeAxisLength do you want the axis length to be synchronized? \param synchronizeZoomingMasterToSlave if set, also zooming in the master leads to a modification of the linked axes in the slave \param synchronizeZoomingSlaveToMaster if set, also zooming in the slave leads to a modification of the linked axes in the master + + \see synchronizeXToMaster(), synchronizeYToMaster(), \ref JKQTBASEPLOTTER_SYNCMULTIPLOT */ - void synchronizeToMaster(JKQTBasePlotter* master, bool synchronizeWidth, bool synchronizeHeight, bool synchronizeZoomingMasterToSlave=false, bool synchronizeZoomingSlaveToMaster=false); + void synchronizeToMaster(JKQTBasePlotter* master, SynchronizationDirection synchronizeDirection, bool synchronizeAxisLength=true, bool synchronizeZoomingMasterToSlave=true, bool synchronizeZoomingSlaveToMaster=true); + + /*! \brief synchronize the plot x-axis width (and x-zooming) with a given master plotter (master --> slave/this) + + \param master the plotter widget to synchronize to + \param synchronizeAxisLength do you want the axis length to be synchronized? + \param synchronizeZoomingMasterToSlave if set, also zooming in the master leads to a modification of the linked axes in the slave + \param synchronizeZoomingSlaveToMaster if set, also zooming in the slave leads to a modification of the linked axes in the master + + \note This is a short-cut to synchronizeToMaster() with \c synchronizeDirection=csXAxis + \see synchronizeToMaster(), synchronizeYToMaster(), \ref JKQTBASEPLOTTER_SYNCMULTIPLOT + */ + void synchronizeXToMaster(JKQTBasePlotter* master, bool synchronizeAxisLength=true, bool synchronizeZoomingMasterToSlave=true, bool synchronizeZoomingSlaveToMaster=true); + + /*! \brief synchronize the plot y-axis height (and y-zooming) with a given master plotter (master --> slave/this) + + \param master the plotter widget to synchronize to + \param synchronizeAxisLength do you want the axis length to be synchronized? + \param synchronizeZoomingMasterToSlave if set, also zooming in the master leads to a modification of the linked axes in the slave + \param synchronizeZoomingSlaveToMaster if set, also zooming in the slave leads to a modification of the linked axes in the master + + \note This is a short-cut to synchronizeToMaster() with \c synchronizeDirection=csXAxis + \see synchronizeToMaster(), synchronizeXToMaster(), \ref JKQTBASEPLOTTER_SYNCMULTIPLOT + */ + void synchronizeYToMaster(JKQTBasePlotter* master, bool synchronizeAxisLength=true, bool synchronizeZoomingMasterToSlave=true, bool synchronizeZoomingSlaveToMaster=true); /** \brief switches any synchronization off, that has been created by synchronizeToMaster() */ - void resetMasterSynchronization(); + void resetMasterSynchronization(SynchronizationDirection synchronizeDirection=sdXYAxes); @@ -2261,14 +2364,14 @@ class LIB_EXPORT JKQTBasePlotter: public QObject { /** \brief internal tool class for text sizes * \internal */ - struct LIB_EXPORT textSizeData { + struct JKQTP_LIB_EXPORT textSizeData { explicit textSizeData(); double ascent, descent, width, strikeoutPos; }; /** \brief internal tool class for text-sizess in a plot key * \internal */ - struct LIB_EXPORT textSizeKey { + struct JKQTP_LIB_EXPORT textSizeKey { explicit textSizeKey(const QFont& f, const QString& text, QPaintDevice *pd); explicit textSizeKey(const QString& fontName, double fontSize, const QString& text, QPaintDevice *pd); QString text; diff --git a/lib/jkqtplotter/jkqtpdatastorage.cpp b/lib/jkqtplotter/jkqtpdatastorage.cpp index 85e549bfdc..349b5fb528 100644 --- a/lib/jkqtplotter/jkqtpdatastorage.cpp +++ b/lib/jkqtplotter/jkqtpdatastorage.cpp @@ -19,11 +19,6 @@ - -/** \file jkqtpdatastorage.cpp - * \ingroup jkqtpdatastorage - */ - #include "jkqtplotter/jkqtpdatastorage.h" #include #include diff --git a/lib/jkqtplotter/jkqtpdatastorage.h b/lib/jkqtplotter/jkqtpdatastorage.h index f3b87e8503..f2b1afccd6 100644 --- a/lib/jkqtplotter/jkqtpdatastorage.h +++ b/lib/jkqtplotter/jkqtpdatastorage.h @@ -19,10 +19,6 @@ -/** \file jkqtpdatastorage.h - * \ingroup jkqtpdatastorage - */ - #include "jkqtplottertools/jkqtp_imexport.h" #include "jkqtplottertools/jkqtptools.h" #include @@ -128,7 +124,7 @@ enum JKQTPDatastoreItemFormat { * notion of data columns. This class provides a set of interface methods for this list: * */ -class LIB_EXPORT JKQTPDatastore{ +class JKQTP_LIB_EXPORT JKQTPDatastore{ private: /** \brief a std::vector that contains all items managed by this datastore */ QMap items; @@ -596,7 +592,7 @@ class LIB_EXPORT JKQTPDatastore{ * * \see JKQTPDatastore */ -class LIB_EXPORT JKQTPColumn { +class JKQTP_LIB_EXPORT JKQTPColumn { private: /** \brief index of the item in the datastore that contains the data for this column */ size_t datastoreItem; @@ -743,7 +739,7 @@ class LIB_EXPORT JKQTPColumn { * * \see JKQTPDatastore */ -class LIB_EXPORT JKQTPDatastoreItem { +class JKQTP_LIB_EXPORT JKQTPDatastoreItem { private: /** \brief a pointer to the actual data */ double* data; @@ -842,7 +838,7 @@ class LIB_EXPORT JKQTPDatastoreItem { * * \see JKQTPDatastore */ -class LIB_EXPORT JKQTPDatastoreModel: public QAbstractTableModel { +class JKQTP_LIB_EXPORT JKQTPDatastoreModel: public QAbstractTableModel { Q_OBJECT public: JKQTPDatastoreModel(JKQTPDatastore* datastore, QObject* parent=nullptr); diff --git a/lib/jkqtplotter/jkqtpelementsoverlay.h b/lib/jkqtplotter/jkqtpelementsoverlay.h index 1ec07daac2..04978e2d57 100644 --- a/lib/jkqtplotter/jkqtpelementsoverlay.h +++ b/lib/jkqtplotter/jkqtpelementsoverlay.h @@ -18,10 +18,6 @@ */ -/** \file jkqtpelementsoverlay.h - * \ingroup jkqtplotter_overlays - */ - #include #include #include @@ -41,7 +37,7 @@ class JKQTBasePlotter; These simple primitive elements can be used to e.g. display fast changing indicators on the graph ... */ -class LIB_EXPORT JKQTPOverlayElement : public QObject { +class JKQTP_LIB_EXPORT JKQTPOverlayElement : public QObject { Q_OBJECT public: explicit JKQTPOverlayElement(JKQTBasePlotter *parent = 0); @@ -177,7 +173,7 @@ class LIB_EXPORT JKQTPOverlayElement : public QObject { /*! \brief returns the property visible ( \copybrief visible ). \details Description of the parameter visible is:

\copydoc visible
\see visible for more information */ - inline virtual bool getVisible() const + inline virtual bool isVisible() const { return this->visible; } @@ -238,7 +234,7 @@ class LIB_EXPORT JKQTPOverlayElement : public QObject { /*! \brief baseclass for a two-position overlay \ingroup jkqtplotter_overlays */ -class LIB_EXPORT JKQTPOverlayTwoPositionOverlay : public JKQTPOverlayElement { +class JKQTP_LIB_EXPORT JKQTPOverlayTwoPositionOverlay : public JKQTPOverlayElement { Q_OBJECT public: explicit JKQTPOverlayTwoPositionOverlay(double x1, double y1, double x2, double y2, JKQTBasePlotter *parent = 0); @@ -311,7 +307,7 @@ class LIB_EXPORT JKQTPOverlayTwoPositionOverlay : public JKQTPOverlayElement { /*! \brief baseclass for one-coordinate indicator overlays (horizontal/vertical lines \ingroup jkqtplotter_overlays */ -class LIB_EXPORT JKQTPOverlayOneCoordOverlay : public JKQTPOverlayElement { +class JKQTP_LIB_EXPORT JKQTPOverlayOneCoordOverlay : public JKQTPOverlayElement { Q_OBJECT public: explicit JKQTPOverlayOneCoordOverlay(double pos, JKQTBasePlotter *parent = 0); @@ -339,7 +335,7 @@ class LIB_EXPORT JKQTPOverlayOneCoordOverlay : public JKQTPOverlayElement { /*! \brief baseclass for two-coordinate indicator overlays (horizontal/vertical lines \ingroup jkqtplotter_overlays */ -class LIB_EXPORT JKQTPOverlayTwoCoordOverlay : public JKQTPOverlayOneCoordOverlay { +class JKQTP_LIB_EXPORT JKQTPOverlayTwoCoordOverlay : public JKQTPOverlayOneCoordOverlay { Q_OBJECT public: explicit JKQTPOverlayTwoCoordOverlay(double pos, double pos2, JKQTBasePlotter *parent = 0); @@ -370,7 +366,7 @@ class LIB_EXPORT JKQTPOverlayTwoCoordOverlay : public JKQTPOverlayOneCoordOverla These simple primitive elements can be used to e.g. display fast changing indicators on the graph ... */ -class LIB_EXPORT JKQTPOverlayVerticalLine : public JKQTPOverlayOneCoordOverlay { +class JKQTP_LIB_EXPORT JKQTPOverlayVerticalLine : public JKQTPOverlayOneCoordOverlay { Q_OBJECT public: explicit JKQTPOverlayVerticalLine(double pos, JKQTBasePlotter *parent = 0); @@ -387,7 +383,7 @@ class LIB_EXPORT JKQTPOverlayVerticalLine : public JKQTPOverlayOneCoordOverlay { These simple primitive elements can be used to e.g. display fast changing indicators on the graph ... */ -class LIB_EXPORT JKQTPOverlayVerticalRange : public JKQTPOverlayTwoCoordOverlay { +class JKQTP_LIB_EXPORT JKQTPOverlayVerticalRange : public JKQTPOverlayTwoCoordOverlay { Q_OBJECT public: explicit JKQTPOverlayVerticalRange(double pos, double pos2, JKQTBasePlotter *parent = 0); @@ -419,7 +415,7 @@ class LIB_EXPORT JKQTPOverlayVerticalRange : public JKQTPOverlayTwoCoordOverlay \ingroup jkqtplotter_overlays */ -class LIB_EXPORT JKQTPOverlayLine : public JKQTPOverlayTwoPositionOverlay { +class JKQTP_LIB_EXPORT JKQTPOverlayLine : public JKQTPOverlayTwoPositionOverlay { Q_OBJECT public: explicit JKQTPOverlayLine(double x1, double y1, double x2, double y2, JKQTBasePlotter *parent = 0); @@ -450,7 +446,7 @@ class LIB_EXPORT JKQTPOverlayLine : public JKQTPOverlayTwoPositionOverlay { \ingroup jkqtplotter_overlays */ -class LIB_EXPORT JKQTPOverlayRectangle : public JKQTPOverlayTwoPositionOverlay { +class JKQTP_LIB_EXPORT JKQTPOverlayRectangle : public JKQTPOverlayTwoPositionOverlay { Q_OBJECT public: explicit JKQTPOverlayRectangle(double x1, double y1, double x2, double y2, JKQTBasePlotter *parent = 0); diff --git a/lib/jkqtplotter/jkqtpgraphs.cpp b/lib/jkqtplotter/jkqtpgraphs.cpp index 15102e58aa..07e7b0195a 100644 --- a/lib/jkqtplotter/jkqtpgraphs.cpp +++ b/lib/jkqtplotter/jkqtpgraphs.cpp @@ -123,13 +123,7 @@ void JKQTPXYLineGraph::draw(JKQTPEnhancedPainter& painter) { int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } + if (imaxgetDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } + if (imaxgetDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } + if (imaxgetColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } + if (imaxgetColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } + if (imaxgetColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } + if (imaxgetDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } + if (imax #include #include @@ -47,11 +43,11 @@ class JKQTPDatastore; /*! \brief This implements xy line plots. This also alows to draw symbols at the data points. - \ingroup jkqtplotter_linesymbolgraphs + \ingroup jkqtplotter_linesymbolgraphs_simple \image html plot_lineplots.png */ -class LIB_EXPORT JKQTPXYLineGraph: public JKQTPXYGraph { +class JKQTP_LIB_EXPORT JKQTPXYLineGraph: public JKQTPXYGraph { Q_OBJECT public: /** \brief class constructor */ @@ -251,7 +247,7 @@ class LIB_EXPORT JKQTPXYLineGraph: public JKQTPXYGraph { /*! \brief This implements xy scatter plots (like JKQTPXYLineGraph), but the color and size of the symbols may be taken from a column. - \ingroup jkqtplotter_linesymbolgraphs + \ingroup jkqtplotter_linesymbolgraphs_param set the properties sizeColumn and/or colorColumn to change the size and/or color of the symbols according to the values in the column. @@ -262,7 +258,7 @@ class LIB_EXPORT JKQTPXYLineGraph: public JKQTPXYGraph { \see JKQTPXYParametrizedErrorScatterGraph, \ref JKQTPlotterParamScatter , \ref JKQTPlotterParamScatterImage */ -class LIB_EXPORT JKQTPXYParametrizedScatterGraph: public JKQTPXYLineGraph, public JKQTPColorPaletteTools { +class JKQTP_LIB_EXPORT JKQTPXYParametrizedScatterGraph: public JKQTPXYLineGraph, public JKQTPColorPaletteTools { Q_OBJECT public: /** \brief class constructor */ @@ -485,13 +481,13 @@ class LIB_EXPORT JKQTPXYParametrizedScatterGraph: public JKQTPXYLineGraph, publi /*! \brief This implements xy line plots with x and y error indicators. - \ingroup jkqtplotter_linesymbolgraphs + \ingroup jkqtplotter_linesymbolgraphs_simple \image html plot_errorbarlineplots.png \image html plot_errorlinelineplots.png \image html plot_errorpolygonlineplots.png */ -class LIB_EXPORT JKQTPXYLineErrorGraph: public JKQTPXYLineGraph, public JKQTPXYGraphErrors { +class JKQTP_LIB_EXPORT JKQTPXYLineErrorGraph: public JKQTPXYLineGraph, public JKQTPXYGraphErrors { Q_OBJECT public: /** \brief class constructor */ @@ -520,7 +516,7 @@ class LIB_EXPORT JKQTPXYLineErrorGraph: public JKQTPXYLineGraph, public JKQTPXYG /*! \brief This implements xy scatter plots (like JKQTPXYLineGraph), but the color and size of the symbols may be taken from a column. with errorbars - \ingroup jkqtplotter_linesymbolgraphs + \ingroup jkqtplotter_linesymbolgraphs_param set the properties sizeColumn and/or colorColumn to change the size and/or color of the symbols according to the values in the column. @@ -528,7 +524,7 @@ class LIB_EXPORT JKQTPXYLineErrorGraph: public JKQTPXYLineGraph, public JKQTPXYG \see JKQTPXYParametrizedScatterGraph, \ref JKQTPlotterParamScatter */ -class LIB_EXPORT JKQTPXYParametrizedErrorScatterGraph: public JKQTPXYParametrizedScatterGraph, public JKQTPXYGraphErrors { +class JKQTP_LIB_EXPORT JKQTPXYParametrizedErrorScatterGraph: public JKQTPXYParametrizedScatterGraph, public JKQTPXYGraphErrors { Q_OBJECT public: JKQTPXYParametrizedErrorScatterGraph(JKQTBasePlotter* parent=nullptr); @@ -562,13 +558,13 @@ class LIB_EXPORT JKQTPXYParametrizedErrorScatterGraph: public JKQTPXYParametrize /*! \brief This implements a step plot with values \f$ \left(x, f(x) \right) \f$ - \ingroup jkqtplotter_linesymbolgraphs + \ingroup jkqtplotter_linesymbolgraphs_simple \image html jkqtplotter_simpletest_stepplots.png \see JKQTPStepVerticalGraph, \ref JKQTPlotterStepPlot */ -class LIB_EXPORT JKQTPStepHorizontalGraph: public JKQTPXYGraph { +class JKQTP_LIB_EXPORT JKQTPStepHorizontalGraph: public JKQTPXYGraph { Q_OBJECT public: /** \brief class constructor */ @@ -723,13 +719,13 @@ class LIB_EXPORT JKQTPStepHorizontalGraph: public JKQTPXYGraph { /*! \brief This implements a step plot with values \f$ \left(f(y), y \right) \f$ - \ingroup jkqtplotter_linesymbolgraphs + \ingroup jkqtplotter_linesymbolgraphs_simple \image html plot_stepverplot1.png \see JKQTPStepHorizontalGraph, \ref JKQTPlotterStepPlot */ -class LIB_EXPORT JKQTPStepVerticalGraph: public JKQTPStepHorizontalGraph { +class JKQTP_LIB_EXPORT JKQTPStepVerticalGraph: public JKQTPStepHorizontalGraph { Q_OBJECT public: /** \brief class constructor */ @@ -754,7 +750,7 @@ class LIB_EXPORT JKQTPStepVerticalGraph: public JKQTPStepHorizontalGraph { \ingroup jkqtplotter_diverse */ -class LIB_EXPORT JKQTPHorizontalRange: public JKQTPGraph { +class JKQTP_LIB_EXPORT JKQTPHorizontalRange: public JKQTPGraph { Q_OBJECT public: /** \brief class constructor */ @@ -1119,7 +1115,7 @@ class LIB_EXPORT JKQTPHorizontalRange: public JKQTPGraph { \ingroup jkqtplotter_diverse */ -class LIB_EXPORT JKQTPVerticalRange: public JKQTPHorizontalRange { +class JKQTP_LIB_EXPORT JKQTPVerticalRange: public JKQTPHorizontalRange { Q_OBJECT public: /** \brief class constructor */ diff --git a/lib/jkqtplotter/jkqtpgraphsbarchart.cpp b/lib/jkqtplotter/jkqtpgraphsbarchart.cpp index 66171ac5f6..a637f3950a 100644 --- a/lib/jkqtplotter/jkqtpgraphsbarchart.cpp +++ b/lib/jkqtplotter/jkqtpgraphsbarchart.cpp @@ -118,13 +118,7 @@ void JKQTPBarVerticalGraph::draw(JKQTPEnhancedPainter& painter) { int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end+1, static_cast(imax)); - } + if (imaxget(static_cast(xColumn),static_cast(i)); - int sr=datastore->getNextLowerIndex(xColumn, i, datarange_start, datarange_end); - int lr=datastore->getNextHigherIndex(xColumn, i, datarange_start, datarange_end); + int sr=datastore->getNextLowerIndex(xColumn, i); + int lr=datastore->getNextHigherIndex(xColumn, i); double yv=datastore->get(static_cast(yColumn),static_cast(i)); double yv0=y0; if (!qFuzzyIsNull(baseline)) yv0=transformY(baseline); @@ -204,13 +198,6 @@ bool JKQTPBarVerticalGraph::getXMinMax(double& minx, double& maxx, double& small JKQTPDatastore* datastore=parent->getDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxget(static_cast(xColumn),static_cast(i)); - int sr=datastore->getNextLowerIndex(xColumn, i, datarange_start, datarange_end); - int lr=datastore->getNextHigherIndex(xColumn, i, datarange_start, datarange_end); + int sr=datastore->getNextLowerIndex(xColumn, i); + int lr=datastore->getNextHigherIndex(xColumn, i); double delta, deltap, deltam; if (sr<0 && lr<0) { // only one x-value @@ -266,13 +253,6 @@ bool JKQTPBarVerticalGraph::getYMinMax(double& miny, double& maxy, double& small JKQTPDatastore* datastore=parent->getDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end+1, static_cast(imax)); - } if (imaxget(static_cast(xColumn),static_cast(i)); double yv=datastore->get(static_cast(yColumn),static_cast(i)); - int sr=datastore->getNextLowerIndex(yColumn, i, datarange_start, datarange_end); - int lr=datastore->getNextHigherIndex(yColumn, i, datarange_start, datarange_end); + int sr=datastore->getNextLowerIndex(yColumn, i); + int lr=datastore->getNextHigherIndex(yColumn, i); double xv0=x0; if (!qFuzzyIsNull(baseline)) xv0=transformX(baseline); if (hasStackPar) { @@ -477,13 +450,6 @@ bool JKQTPBarHorizontalGraph::getXMinMax(double& minx, double& maxx, double& sma JKQTPDatastore* datastore=parent->getDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(xColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxget(static_cast(yColumn),static_cast(i)); double delta, deltap, deltam; - int sr=datastore->getNextLowerIndex(yColumn, i, datarange_start, datarange_end); - int lr=datastore->getNextHigherIndex(yColumn, i, datarange_start, datarange_end); + int sr=datastore->getNextLowerIndex(yColumn, i); + int lr=datastore->getNextHigherIndex(yColumn, i); if (sr<0 && lr<0) { // only one y-value deltam=0.5; @@ -662,13 +621,6 @@ bool JKQTPBarHorizontalErrorGraph::getXMinMax(double &minx, double &maxx, double JKQTPDatastore* datastore=parent->getDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imax. */ - -/** \file jkqtpgraphsbarchart.h - * \ingroup jkqtplotter_barssticks - */ - #include #include #include @@ -60,7 +55,7 @@ */ -class LIB_EXPORT JKQTPBarVerticalGraph: public JKQTPXYGraph { +class JKQTP_LIB_EXPORT JKQTPBarVerticalGraph: public JKQTPXYGraph { Q_OBJECT public: /** \brief class constructor */ @@ -283,7 +278,7 @@ class LIB_EXPORT JKQTPBarVerticalGraph: public JKQTPXYGraph { * \image html JKQTPBarVerticalGraphStacked.png * */ -class LIB_EXPORT JKQTPBarVerticalStackableGraph: public JKQTPBarVerticalGraph { +class JKQTP_LIB_EXPORT JKQTPBarVerticalStackableGraph: public JKQTPBarVerticalGraph { Q_OBJECT public: /** \brief class constructor */ @@ -322,7 +317,7 @@ class LIB_EXPORT JKQTPBarVerticalStackableGraph: public JKQTPBarVerticalGraph { * \image html plot_bargraphverploterr.png * */ -class LIB_EXPORT JKQTPBarVerticalErrorGraph: public JKQTPBarVerticalGraph, public JKQTPYGraphErrors { +class JKQTP_LIB_EXPORT JKQTPBarVerticalErrorGraph: public JKQTPBarVerticalGraph, public JKQTPYGraphErrors { Q_OBJECT public: /** \brief class constructor */ @@ -353,7 +348,7 @@ class LIB_EXPORT JKQTPBarVerticalErrorGraph: public JKQTPBarVerticalGraph, publi \image html plot_bargraphhorplot.png */ -class LIB_EXPORT JKQTPBarHorizontalGraph: public JKQTPBarVerticalGraph { +class JKQTP_LIB_EXPORT JKQTPBarHorizontalGraph: public JKQTPBarVerticalGraph { Q_OBJECT public: /** \brief class constructor */ @@ -389,7 +384,7 @@ class LIB_EXPORT JKQTPBarHorizontalGraph: public JKQTPBarVerticalGraph { * \image html JKQTPBarHorizontalGraphStacked.png * */ -class LIB_EXPORT JKQTPBarHorizontalStackableGraph: public JKQTPBarHorizontalGraph { +class JKQTP_LIB_EXPORT JKQTPBarHorizontalStackableGraph: public JKQTPBarHorizontalGraph { Q_OBJECT public: /** \brief class constructor */ @@ -428,7 +423,7 @@ class LIB_EXPORT JKQTPBarHorizontalStackableGraph: public JKQTPBarHorizontalGrap * \image html plot_bargraphhorploterr.png * */ -class LIB_EXPORT JKQTPBarHorizontalErrorGraph: public JKQTPBarHorizontalGraph, public JKQTPXGraphErrors { +class JKQTP_LIB_EXPORT JKQTPBarHorizontalErrorGraph: public JKQTPBarHorizontalGraph, public JKQTPXGraphErrors { Q_OBJECT public: /** \brief class constructor */ diff --git a/lib/jkqtplotter/jkqtpgraphsbase.cpp b/lib/jkqtplotter/jkqtpgraphsbase.cpp index a08d607f20..54dfeee532 100644 --- a/lib/jkqtplotter/jkqtpgraphsbase.cpp +++ b/lib/jkqtplotter/jkqtpgraphsbase.cpp @@ -47,23 +47,16 @@ JKQTPPlotElement::JKQTPPlotElement(JKQTPlotter *parent): setParent(parent); } -JKQTPPlotElement::~JKQTPPlotElement() -= default; - JKQTPGraph::JKQTPGraph(JKQTBasePlotter* parent): JKQTPPlotElement(parent) { - datarange_start=datarange_end=-1; } JKQTPGraph::JKQTPGraph(JKQTPlotter *parent): JKQTPPlotElement(parent) { - datarange_start=datarange_end=-1; -} -JKQTPGraph::~JKQTPGraph() -= default; +} QImage JKQTPPlotElement::generateKeyMarker(QSize size) { @@ -81,6 +74,26 @@ QImage JKQTPPlotElement::generateKeyMarker(QSize size) return img; } +void JKQTPPlotElement::setTitle(const QString &__value) +{ + this->title = __value; +} + +QString JKQTPPlotElement::getTitle() const +{ + return this->title; +} + +void JKQTPPlotElement::setVisible(bool __value) +{ + this->visible = __value; +} + +bool JKQTPPlotElement::isVisible() const +{ + return this->visible; +} + @@ -108,12 +121,7 @@ bool JKQTPGraph::getDataMinMax(int column, double &minx, double &maxx, double &s JKQTPDatastore* datastore=parent->getDatastore(); int imin=0; int imax=datastore->getColumn(column).getRows(); - // interpret data ranges - if (imaxgetDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imax0) sortData=Sorted; } @@ -459,13 +453,6 @@ void JKQTPSingleColumnGraph::intSortData() JKQTPDatastore* datastore=parent->getDatastore(); int imin=0; int imax=datastore->getColumn(dataColumn).getRows(); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imax* dataorder) { +void JKQTPGraphErrors::intPlotXYErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, int xErrorColumn, int yErrorColumn, JKQTPErrorPlotstyle xErrorStyle, JKQTPErrorPlotstyle yErrorStyle, int xErrorColumnLower, int yErrorColumnLower, bool xErrorSymmetric, bool yErrorSymmetric, double xrelshift, double yrelshift, const QVector* dataorder) { //std::cout<<"JKQTPGraphErrors::intPlotXYErrorIndicators(p, "<getDatastore(); @@ -545,13 +532,6 @@ void JKQTPGraphErrors::intPlotXYErrorIndicators(JKQTPEnhancedPainter& painter, J if (yColumn>=0) imaxy=datastore->getColumn(static_cast(yColumn)).getRows(); int imax=qMin(imaxx, imaxy); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imax* dataorder) { - intPlotXYErrorIndicators(painter, parent, parentGraph, xColumn, yColumn, xErrorColumn, -1, xErrorStyle, JKQTPNoError, datarange_start, datarange_end, xErrorColumnLower, -1, xErrorSymmetric, true, xrelshift, yrelshift, dataorder); +void JKQTPXGraphErrors::plotErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph *parentGraph, int xColumn, int yColumn, double xrelshift, double yrelshift, const QVector* dataorder) { + intPlotXYErrorIndicators(painter, parent, parentGraph, xColumn, yColumn, xErrorColumn, -1, xErrorStyle, JKQTPNoError, xErrorColumnLower, -1, xErrorSymmetric, true, xrelshift, yrelshift, dataorder); } double JKQTPXGraphErrors::getXErrorU(int i, JKQTPDatastore *ds) const @@ -962,8 +942,8 @@ JKQTPYGraphErrors::JKQTPYGraphErrors(QColor graphColor): yErrorColumnLower=-1; } -void JKQTPYGraphErrors::plotErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, int datarange_start, int datarange_end, double xrelshift, double yrelshift, const QVector* dataorder) { - intPlotXYErrorIndicators(painter, parent, parentGraph, xColumn, yColumn, -1, yErrorColumn, JKQTPNoError, yErrorStyle, datarange_start, datarange_end, -1, yErrorColumnLower, true, yErrorSymmetric, xrelshift, yrelshift, dataorder); +void JKQTPYGraphErrors::plotErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, double xrelshift, double yrelshift, const QVector* dataorder) { + intPlotXYErrorIndicators(painter, parent, parentGraph, xColumn, yColumn, -1, yErrorColumn, JKQTPNoError, yErrorStyle, -1, yErrorColumnLower, true, yErrorSymmetric, xrelshift, yrelshift, dataorder); } double JKQTPYGraphErrors::getYErrorU(int i, JKQTPDatastore *ds) const @@ -1003,8 +983,8 @@ JKQTPXYGraphErrors::JKQTPXYGraphErrors(QColor graphColor): } -void JKQTPXYGraphErrors::plotErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, int datarange_start, int datarange_end, double xrelshift, double yrelshift, const QVector* dataorder) { - this->intPlotXYErrorIndicators(painter, parent, parentGraph, xColumn, yColumn, xErrorColumn, yErrorColumn, xErrorStyle, yErrorStyle, datarange_start, datarange_end, xErrorColumnLower, yErrorColumnLower, xErrorSymmetric, yErrorSymmetric, xrelshift, yrelshift, dataorder); +void JKQTPXYGraphErrors::plotErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, double xrelshift, double yrelshift, const QVector* dataorder) { + this->intPlotXYErrorIndicators(painter, parent, parentGraph, xColumn, yColumn, xErrorColumn, yErrorColumn, xErrorStyle, yErrorStyle, xErrorColumnLower, yErrorColumnLower, xErrorSymmetric, yErrorSymmetric, xrelshift, yrelshift, dataorder); } double JKQTPXYGraphErrors::getXErrorU(int i, JKQTPDatastore *ds) const @@ -1060,13 +1040,6 @@ void JKQTPXYGraph::intSortData() JKQTPDatastore* datastore=parent->getDatastore(); int imin=0; int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imax #include #include @@ -47,18 +43,22 @@ class JKQTPDatastore; * - void draw(JKQTPEnhancedPainter& painter); * - void drawKeyMarker(JKQTPEnhancedPainter& painter, QRectF& rect); * - bool getXMinMax(double& minx, double& maxx, double& smallestGreaterZero); - * - void getGraphsYMinMax(double& miny, double& maxy); + * - bool getYMinMax(double& miny, double& maxy, double& smallestGreaterZero); * - QColor getKeyLabelColor()=0; - * - bool usesColumn(int column) const; - * . + * . * * Optionally you may also overwrite these functions to draw elements outside the actual plot area (like e.g. colorbars): * - void getOutsideSize(JKQTPEnhancedPainter& painter, int& leftSpace, int& rightSpace, int& topSpace, int& bottomSpace); * - void drawOutside(JKQTPEnhancedPainter& painter, QRect leftSpace, QRect rightSpace, QRect topSpace, QRect bottomSpace); * . * + * In addition this class provudes protected + * functions that do coordinate transforms based on the current coordinate system, of the paren + * JKQTPlotter (i.e. using the axes JKQTPLott:xAxis and JKQTPlotter::yAxis as basis for the plotting). + * + * \see \ref jkqtplotter_graphsgroup_classstructure */ -class LIB_EXPORT JKQTPPlotElement: public QObject { +class JKQTP_LIB_EXPORT JKQTPPlotElement: public QObject { Q_OBJECT public: /** \brief class constructor */ @@ -67,7 +67,7 @@ class LIB_EXPORT JKQTPPlotElement: public QObject { explicit JKQTPPlotElement(JKQTPlotter* parent); /** \brief default wirtual destructor */ - virtual ~JKQTPPlotElement() ; + virtual ~JKQTPPlotElement() = default; /** \brief plots the graph to the plotter object specified as parent */ virtual void draw(JKQTPEnhancedPainter& painter)=0; @@ -91,34 +91,16 @@ class LIB_EXPORT JKQTPPlotElement: public QObject { /** \brief returns the color to be used for the key label */ virtual QColor getKeyLabelColor()=0; - /*! \brief sets the property title ( \copybrief title ) to the specified \a __value. - \details Description of the parameter title is:
\copydoc title
- \see title for more information */ - inline virtual void setTitle(const QString & __value) - { - this->title = __value; - } - /*! \brief returns the property title ( \copybrief title ). - \details Description of the parameter title is:
\copydoc title
- \see title for more information */ - inline virtual QString getTitle() const - { - return this->title; - } - /*! \brief sets the property visible ( \copybrief visible ) to the specified \a __value. - \details Description of the parameter visible is:
\copydoc visible
- \see visible for more information */ - inline virtual void setVisible(bool __value) - { - this->visible = __value; - } - /*! \brief returns the property visible ( \copybrief visible ). - \details Description of the parameter visible is:
\copydoc visible
- \see visible for more information */ - inline virtual bool getVisible() const - { - return this->visible; - } + /** \brief sets the title of the plot (for display in key!). + * + * \note If no title is supplied, no key entry is drawn. */ + virtual void setTitle(const QString & __value); + /*! \brief returns the the title of the plot */ + virtual QString getTitle() const; + /*! \brief sets whether the graph is visible in the plot */ + void virtual setVisible(bool __value); + /*! \brief returns whether the graph is visible in the plot */ + bool virtual isVisible() const; /** \brief returns the parent painter class */ inline JKQTBasePlotter* getParent() { return parent; } @@ -142,6 +124,53 @@ class LIB_EXPORT JKQTPPlotElement: public QObject { virtual void drawOutside(JKQTPEnhancedPainter& painter, QRect leftSpace, QRect rightSpace, QRect topSpace, QRect bottomSpace); protected: + + + + /** \brief tool routine that transforms an x-coordinate (plot coordinate --> pixels) for this plot element */ + virtual double transformX(double x) const; + + /** \brief tool routine that transforms a y-coordinate (plot coordinate --> pixels) for this plot element */ + virtual double transformY(double y) const; + + /** \brief tool routine that backtransforms an x-coordinate (pixels --> plot coordinate) for this plot element */ + virtual double backtransformX(double x) const; + + /** \brief tool routine that backtransforms a y-coordinate (pixels --> plot coordinate) for this plot element */ + virtual double backtransformY(double y) const; + + + /** \brief tool routine that transforms a QPointF according to the parent's transformation rules (plot coordinate --> pixels) */ + inline QPointF transform(const QPointF& x) { + return QPointF(transformX(x.x()), transformY(x.y())); + } + + /** \brief tool routine that back-transforms a QPointF according to the parent's transformation rules (pixels --> plot coordinate) */ + inline QPointF backTransform(const QPointF& x) { + return QPointF(backtransformX(x.x()), backtransformY(x.y())); + } + + /** \brief tool routine that transforms a QPointF according to the parent's transformation rules (plot coordinate --> pixels) */ + inline QPointF transform(double x, double y) { + return transform(QPointF(x,y)); + } + /** \brief tool routine that back-transforms a QPointF according to the parent's transformation rules (pixels --> plot coordinate) */ + inline QPointF backTransform(double x, double y) { + return backTransform(QPointF(x,y)); + } + /** \brief tool routine that transforms a QVector according to the parent's transformation rules (plot coordinate --> pixels) */ + QVector transform(const QVector& x); + + /** \brief tool routine that transforms a QVector according to the parent's transformation rules + * and returns a (non-closed) path consisting of lines (plot coordinate --> pixels) */ + QPainterPath transformToLinePath(const QVector& x); + + /** \brief tool routine that transforms a QVector according to the parent's transformation rules + * and returns a polygon (plot coordinate --> pixels) */ + inline QPolygonF transformToPolygon(const QVector& x) { + return QPolygonF(transform(x)); + } + /** \brief the plotter object this object belongs to */ JKQTBasePlotter* parent; @@ -150,52 +179,6 @@ class LIB_EXPORT JKQTPPlotElement: public QObject { /** \brief indicates whether the graph is visible in the plot */ bool visible; - - - - /** \brief tool routine that transforms an x-coordinate for this plot element */ - virtual double transformX(double x) const; - - /** \brief tool routine that transforms a y-coordinate for this plot element */ - virtual double transformY(double y) const; - - /** \brief tool routine that backtransforms an x-coordinate for this plot element */ - virtual double backtransformX(double x) const; - - /** \brief tool routine that backtransforms a y-coordinate for this plot element */ - virtual double backtransformY(double y) const; - - - /** \brief tool routine that transforms a QPointF according to the parent's transformation rules */ - inline QPointF transform(const QPointF& x) { - return QPointF(transformX(x.x()), transformY(x.y())); - } - - /** \brief tool routine that back-transforms a QPointF according to the parent's transformation rules */ - inline QPointF backTransform(const QPointF& x) { - return QPointF(backtransformX(x.x()), backtransformY(x.y())); - } - - /** \brief tool routine that transforms a QPointF according to the parent's transformation rules */ - inline QPointF transform(double x, double y) { - return transform(QPointF(x,y)); - } - /** \brief tool routine that back-transforms a QPointF according to the parent's transformation rules */ - inline QPointF backTransform(double x, double y) { - return backTransform(QPointF(x,y)); - } - /** \brief tool routine that transforms a QVector according to the parent's transformation rules */ - QVector transform(const QVector& x); - - /** \brief tool routine that transforms a QVector according to the parent's transformation rules - * and returns a (non-closed) path consisting of lines */ - QPainterPath transformToLinePath(const QVector& x); - - /** \brief tool routine that transforms a QVector according to the parent's transformation rules - * and returns a polygon */ - inline QPolygonF transformToPolygon(const QVector& x) { - return QPolygonF(transform(x)); - } }; /** \brief this virtual base class of the (data-column based) graphs, @@ -204,16 +187,19 @@ class LIB_EXPORT JKQTPPlotElement: public QObject { * as basis for the graphs * \ingroup jkqtplotter_basegraphs * - * This class adds several features to work with data columns. In addition this class adds protected - * functions that do coordinate transforms based on the current coordinate system, of the paren - * JKQTPlotter (i.e. using the axes JKQTPLott:xAxis and JKQTPlotter::yAxis as basis for the plotting). + * This class adds features to work with data columns. + * - There are two properties datarange_start and datarange_end. By default they are -1 and therefore ignored. + * if they are != -1 the plotter only displays the datapoints with the indexes [datarange_start .. datarange_end] + * although there might be more data points available (range [0 .. maxDataPoints]). The datarange is cut at the + * full range, i.e. if datarange_end>maxDataPoints the plotter displays [datarange_start .. maxDataPoints]. + * - Also there is a virtual function usesColumn() which checks whether a given column is used by this graph. + * Override this function in your derived graphs to indicate to JKQTPlotter / JKQTBasePlotter , which columns + * from the internal JKQTPDatastore are actually used. This information can be used e.g. for graph-specific data-export. + * . * - * There are two properties datarange_start and datarange_end. By default they are -1 and therefore ignored. - * if they are != -1 the plotter only displays the datapoints with the indexes [datarange_start .. datarange_end] - * although there might be more data points available (range [0 .. maxDataPoints]). The datarange is cut at the - * full range, i.e. if datarange_end>maxDataPoints the plotter displays [datarange_start .. maxDataPoints]. + * \see \ref jkqtplotter_graphsgroup_classstructure */ -class LIB_EXPORT JKQTPGraph: public JKQTPPlotElement { +class JKQTP_LIB_EXPORT JKQTPGraph: public JKQTPPlotElement { Q_OBJECT public: /** \brief class constructor */ @@ -222,39 +208,15 @@ class LIB_EXPORT JKQTPGraph: public JKQTPPlotElement { explicit JKQTPGraph(JKQTPlotter* parent); /** \brief default wirtual destructor */ - virtual ~JKQTPGraph() ; + virtual ~JKQTPGraph() = default ; - /*! \brief sets the property datarange_start ( \copybrief datarange_start ) to the specified \a __value. - \details Description of the parameter datarange_start is:
\copydoc datarange_start
- \see datarange_start for more information */ - inline virtual void setDatarangeStart(int __value) - { - this->datarange_start = __value; - } - /*! \brief returns the property datarange_start ( \copybrief datarange_start ). - \details Description of the parameter datarange_start is:
\copydoc datarange_start
- \see datarange_start for more information */ - inline virtual int getDatarangeStart() const - { - return this->datarange_start; - } - /*! \brief sets the property datarange_end ( \copybrief datarange_end ) to the specified \a __value. - \details Description of the parameter datarange_end is:
\copydoc datarange_end
- \see datarange_end for more information */ - inline virtual void setDatarange_end(int __value) - { - this->datarange_end = __value; - } - /*! \brief returns the property datarange_end ( \copybrief datarange_end ). - \details Description of the parameter datarange_end is:
\copydoc datarange_end
- \see datarange_end for more information */ - inline virtual int getDatarange_end() const - { - return this->datarange_end; - } - - /** \brief returns \c true if the given column is used by the graph */ + /** \brief returns \c true if the given column is used by the graph + * + * This virtual function indicates whether a given column is used by this graph. + * Override this function in your derived graphs to indicate to JKQTPlotter / JKQTBasePlotter , which columns + * from the internal JKQTPDatastore are actually used. This information can be used e.g. for graph-specific data-export. + */ virtual bool usesColumn(int column) const; protected: @@ -271,21 +233,17 @@ class LIB_EXPORT JKQTPGraph: public JKQTPPlotElement { */ virtual void drawErrorsAfter(JKQTPEnhancedPainter& /*painter*/); - - - - - /** \brief start of the range of plot data. -1 switches the lower data range border off. */ - int datarange_start; - /** \brief end of the range of plot data. -1 switches the upper data range border off. */ - int datarange_end; - /** \brief get the maximum and minimum value of the given column * * The result is given in the two parameters which are call-by-reference parameters! */ bool getDataMinMax(int column, double& minx, double& maxx, double& smallestGreaterZero); + + + protected: + + friend class JKQTPGraphErrors; }; @@ -297,8 +255,10 @@ class LIB_EXPORT JKQTPGraph: public JKQTPPlotElement { * coordinate systems * \ingroup jkqtplotter_basegraphs * + * \see \ref jkqtplotter_graphsgroup_classstructure + * */ -class LIB_EXPORT JKQTPPlotObject: public JKQTPPlotElement { +class JKQTP_LIB_EXPORT JKQTPPlotObject: public JKQTPPlotElement { Q_OBJECT public: /** \brief class constructor */ @@ -321,19 +281,32 @@ class LIB_EXPORT JKQTPPlotObject: public JKQTPPlotElement { that specify x and y coordinates for the single plot points. \ingroup jkqtplotter_basegraphs - This class implements basic management facilities for the data columns and implements the function - - bool getXMinMax(double& minx, double& maxx, double& smallestGreaterZero); - - bool getYMinMax(double& miny, double& maxy, double& smallestGreaterZero); + This class implements basic management facilities for the data columns: + - setXColumn(), setYColumn() to set the columns to be used for the graph data + - setDataSortOrder() to specify whether and how the data should be sorted before drawing + \image html jkqtplotter_unsorted.png "Unsorted Data" + \image html jkqtplotter_sortedx.png "Data sorted along x-axis (DataSortOrder::SortedX)" + . + ... and overrides/implements the functions: + - getXMinMax() + - getYMinMax() + - usesColumn() . */ -class LIB_EXPORT JKQTPXYGraph: public JKQTPGraph { +class JKQTP_LIB_EXPORT JKQTPXYGraph: public JKQTPGraph { Q_OBJECT public: + /** \brief specifies how to sort the data in a JKQTPXYGraph before drawing + * + * \image html jkqtplotter_unsorted.png "Unsorted Data" + * + * \image html jkqtplotter_sortedx.png "Data sorted along x-axis (DataSortOrder::SortedX)" + */ enum DataSortOrder { - Unsorted=0, - SortedX=1, - SortedY=2 + Unsorted=0, /*!< \brief the data for a JKQTPXYGraph is not sorted before drawing */ + SortedX=1, /*!< \brief the data for a JKQTPXYGraph is sorted so the x-values appear in ascending before drawing */ + SortedY=2 /*!< \brief the data for a JKQTPXYGraph is sorted so the y-values appear in ascending before drawing */ }; @@ -395,19 +368,19 @@ class LIB_EXPORT JKQTPXYGraph: public JKQTPGraph { /*! \brief sets the property sortData ( \copybrief sortData ) to the specified \a __value. \details Description of the parameter sortData is:
\copydoc sortData
\see sortData for more information */ - inline virtual void setSortData(const DataSortOrder & __value) + inline virtual void setDataSortOrder(const DataSortOrder & __value) { this->sortData = __value; } /*! \brief returns the property sortData ( \copybrief sortData ). \details Description of the parameter sortData is:
\copydoc sortData
\see sortData for more information */ - inline virtual DataSortOrder getSortData() const + inline virtual DataSortOrder getDataSortOrder() const { return this->sortData; } /*! \brief sets the property sortData ( \copybrief sortData ) to the specified \a __value. \details Description of the parameter sortData is:
\copydoc sortData
\see sortData for more information */ - void setSortData(int __value); + void setDataSortOrder(int __value); protected: @@ -425,8 +398,10 @@ class LIB_EXPORT JKQTPXYGraph: public JKQTPGraph { * * This function can beu used to get the correct datapoint after sorting the datapoints, * As sorting is done by sorting an index and not reordering the data in the columns themselves. + * + * \see setDataSortOrder(), getDataSortOrder() * */ - inline int getDataIndex(int i) { + inline int getDataIndex(int i) { if (sortData==Unsorted) return i; return sortedIndices.value(i,i); } @@ -438,18 +413,27 @@ class LIB_EXPORT JKQTPXYGraph: public JKQTPGraph { \ingroup jkqtplotter_basegraphs + \see \ref jkqtplotter_graphsgroup_classstructure + */ -class LIB_EXPORT JKQTPSingleColumnGraph: public JKQTPGraph { +class JKQTP_LIB_EXPORT JKQTPSingleColumnGraph: public JKQTPGraph { Q_OBJECT public: + /** \brief specifies how to sort the data for a JKQTPSingleColumnGraph before drawing + * + * \image html jkqtplotter_unsorted.png "Unsorted Data" + * + * \image html jkqtplotter_sortedx.png "Data sorted along x-axis (DataSortOrder::SortedX)" + */ enum DataSortOrder { - Unsorted=0, - Sorted=1 + Unsorted=0, /*!< \brief the data for a JKQTPSingleColumnGraph is not sorted before drawing */ + Sorted=1 /*!< \brief the data for a JKQTPSingleColumnGraph is sorted (in ascending order) before drawing */ }; + /** \brief specifies whether the data for a JKQTPSingleColumnGraph represent x-axis or y-axis values */ enum class DataDirection { - X, - Y + X, /*!< \brief the data for a JKQTPSingleColumnGraph is data belonging to the x-axis of the plot */ + Y /*!< \brief the data for a JKQTPSingleColumnGraph is data belonging to the y-axis of the plot */ }; /** \brief class constructor */ @@ -462,7 +446,7 @@ class LIB_EXPORT JKQTPSingleColumnGraph: public JKQTPGraph { JKQTPSingleColumnGraph(int dataColumn, QColor color, Qt::PenStyle style, JKQTPlotter* parent); JKQTPSingleColumnGraph(int dataColumn, QColor color, JKQTPlotter* parent); /** \brief returns the color to be used for the key label */ - virtual QColor getKeyLabelColor(); + virtual QColor getKeyLabelColor() override ; /*! \brief sets the property dataColumn ( \copybrief dataColumn ) to the specified \a __value. \details Description of the parameter dataColumn is:
\copydoc dataColumn
@@ -527,19 +511,19 @@ class LIB_EXPORT JKQTPSingleColumnGraph: public JKQTPGraph { /*! \brief sets the property sortData ( \copybrief sortData ) to the specified \a __value. \details Description of the parameter sortData is:
\copydoc sortData
\see sortData for more information */ - inline virtual void setSortData(const DataSortOrder & __value) + inline virtual void setDataSortOrder(const DataSortOrder & __value) { this->sortData = __value; } /*! \brief returns the property sortData ( \copybrief sortData ). \details Description of the parameter sortData is:
\copydoc sortData
\see sortData for more information */ - inline virtual DataSortOrder getSortData() const + inline virtual DataSortOrder getDataSortOrder() const { return this->sortData; } /*! \brief sets the property sortData ( \copybrief sortData ) to the specified \a __value. \details Description of the parameter sortData is:
\copydoc sortData
\see sortData for more information */ - void setSortData(int __value); + void setDataSortOrder(int __value); /** \copydoc JKQTPGraph::usesColumn() */ virtual bool usesColumn(int c) const override; @@ -592,8 +576,13 @@ class LIB_EXPORT JKQTPSingleColumnGraph: public JKQTPGraph { will add some public datamemebers and methods to your class that allow to specify the properties of the error indicators (plot properties: color, width, ... and columns for the data). + \image html jkqtplotter_simpletest_errorbarstyles.png "line-graphs with different types of error indicators" + + + \see \ref jkqtplotter_graphsgroup_classstructure_mixins + */ -class LIB_EXPORT JKQTPGraphErrors { +class JKQTP_LIB_EXPORT JKQTPGraphErrors { public: /** \brief class contructor */ JKQTPGraphErrors(QColor graphColor=QColor("black")); @@ -705,11 +694,11 @@ class LIB_EXPORT JKQTPGraphErrors { /** \brief draw error indicators with the parameters defined in this class. The position of the datapoints is * given by the \a xColumn and \a yColumn. It is also possible to specify a datarange. This method is called by * the JKQTPGraph descendents */ - virtual void plotErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, int datarange_start=-1, int datarange_end=-1, double xrelshift=0, double yrelshift=0.0, const QVector* dataorder=nullptr)=0; + virtual void plotErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, double xrelshift=0, double yrelshift=0.0, const QVector* dataorder=nullptr)=0; /** \brief draw error indicators with the parameters defined in this class. The position of the datapoints is * given by the \a xColumn and \a yColumn. It is also possible to specify a datarange. */ - void intPlotXYErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, int xErrorColumn, int yErrorColumn, JKQTPErrorPlotstyle xErrorStyle, JKQTPErrorPlotstyle yErrorStyle, int datarange_start=-1, int datarange_end=-1, int xErrorColumnLower=-1, int yErrorColumnLower=-1, bool xErrorSymmetric=true, bool yErrorSymmetric=true, double xrelshift=0, double yrelshift=0.0, const QVector *dataorder=nullptr); + void intPlotXYErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, int xErrorColumn, int yErrorColumn, JKQTPErrorPlotstyle xErrorStyle, JKQTPErrorPlotstyle yErrorStyle, int xErrorColumnLower=-1, int yErrorColumnLower=-1, bool xErrorSymmetric=true, bool yErrorSymmetric=true, double xrelshift=0, double yrelshift=0.0, const QVector *dataorder=nullptr); /** \brief this function can be used to set the color of the error indicators automatically * @@ -729,9 +718,9 @@ class LIB_EXPORT JKQTPGraphErrors { /*! \brief This class adds data fields for error indicators in x direction to a JKQTPGraph descendent. \ingroup jkqtplotter_basegraphserrors - \see JKQTPGraphErrors + \see JKQTPGraphErrors, \ref jkqtplotter_graphsgroup_classstructure_mixins */ -class LIB_EXPORT JKQTPXGraphErrors: public JKQTPGraphErrors { +class JKQTP_LIB_EXPORT JKQTPXGraphErrors: public JKQTPGraphErrors { public: /** \brief class contructor */ JKQTPXGraphErrors(QColor graphColor=QColor("black")); @@ -788,7 +777,7 @@ class LIB_EXPORT JKQTPXGraphErrors: public JKQTPGraphErrors { /** \brief draw error indicators with the parameters defined in this class. The position of the datapoints is * given by the \a xColumn and \a yColumn. It is also possible to specify a datarange. */ - virtual void plotErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, int datarange_start=-1, int datarange_end=-1, double xrelshift=0, double yrelshift=0.0, const QVector *dataorder=nullptr) override; + virtual void plotErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, double xrelshift=0, double yrelshift=0.0, const QVector *dataorder=nullptr) override; virtual double getXErrorU(int i, JKQTPDatastore* ds) const override; virtual double getXErrorL(int i, JKQTPDatastore* ds) const override; @@ -798,10 +787,10 @@ class LIB_EXPORT JKQTPXGraphErrors: public JKQTPGraphErrors { /*! \brief This class adds data fields for error indicators in y direction to a class. \ingroup jkqtplotter_basegraphserrors - \see JKQTPGraphErrors + \see JKQTPGraphErrors, \ref jkqtplotter_graphsgroup_classstructure_mixins */ -class LIB_EXPORT JKQTPYGraphErrors: public JKQTPGraphErrors { +class JKQTP_LIB_EXPORT JKQTPYGraphErrors: public JKQTPGraphErrors { public: /** \brief class contructor */ JKQTPYGraphErrors(QColor graphColor=QColor("black")); @@ -857,7 +846,7 @@ class LIB_EXPORT JKQTPYGraphErrors: public JKQTPGraphErrors { /** \brief draw error indicators with the parameters defined in this class. The position of the datapoints is * given by the \a xColumn and \a yColumn. It is also possible to specify a datarange. */ - virtual void plotErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, int datarange_start=-1, int datarange_end=-1, double xrelshift=0, double yrelshift=0.0, const QVector *dataorder=nullptr) override; + virtual void plotErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, double xrelshift=0, double yrelshift=0.0, const QVector *dataorder=nullptr) override; virtual double getYErrorU(int i, JKQTPDatastore* ds) const override; virtual double getYErrorL(int i, JKQTPDatastore* ds) const override; @@ -866,10 +855,10 @@ class LIB_EXPORT JKQTPYGraphErrors: public JKQTPGraphErrors { /*! \brief This class adds data fields for error indicators in x and y direction to a class. \ingroup jkqtplotter_basegraphserrors - \see JKQTPGraphErrors + \see JKQTPGraphErrors, \ref jkqtplotter_graphsgroup_classstructure_mixins */ -class LIB_EXPORT JKQTPXYGraphErrors: public JKQTPGraphErrors { +class JKQTP_LIB_EXPORT JKQTPXYGraphErrors: public JKQTPGraphErrors { public: /** \brief class contructor */ JKQTPXYGraphErrors(QColor graphColor=QColor("black")); @@ -977,7 +966,7 @@ class LIB_EXPORT JKQTPXYGraphErrors: public JKQTPGraphErrors { /** \brief draw error indicators with the parameters defined in this class. The position of the datapoints is * given by the \a xColumn and \a yColumn. It is also possible to specify a datarange. */ - virtual void plotErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, int datarange_start=-1, int datarange_end=-1, double xrelshift=0, double yrelshift=0.0, const QVector *dataorder=nullptr) override; + virtual void plotErrorIndicators(JKQTPEnhancedPainter& painter, JKQTBasePlotter* parent, JKQTPGraph* parentGraph, int xColumn, int yColumn, double xrelshift=0, double yrelshift=0.0, const QVector *dataorder=nullptr) override; virtual double getXErrorU(int i, JKQTPDatastore* ds) const override; virtual double getXErrorL(int i, JKQTPDatastore* ds) const override; diff --git a/lib/jkqtplotter/jkqtpgraphsboxplot.cpp b/lib/jkqtplotter/jkqtpgraphsboxplot.cpp index 6d06af63cc..1a23d08b31 100644 --- a/lib/jkqtplotter/jkqtpgraphsboxplot.cpp +++ b/lib/jkqtplotter/jkqtpgraphsboxplot.cpp @@ -126,13 +126,6 @@ void JKQTPBoxplotVerticalGraph::draw(JKQTPEnhancedPainter& painter) { int imax=datastore->getColumn(posColumn).getRows(); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetDatastore(); int imin=0; int imax=datastore->getColumn(posColumn).getRows(); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetDatastore(); int imin=0; int imax=datastore->getColumn(medianColumn).getRows(); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imax0) sortData=Sorted; } @@ -467,13 +446,6 @@ bool JKQTPBoxplotHorizontalGraph::getXMinMax(double& miny, double& maxy, double& JKQTPDatastore* datastore=parent->getDatastore(); int imin=0; int imax=datastore->getColumn(medianColumn).getRows(); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetDatastore(); int imin=0; int imax=datastore->getColumn(posColumn).getRows(); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetColumn(posColumn).getRows(); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetDatastore(); int imin=0; int imax=datastore->getColumn(posColumn).getRows(); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imax #include #include @@ -89,7 +85,7 @@ \see \ref JKQTPlotterBoxplotsGraphs */ -class LIB_EXPORT JKQTPBoxplotVerticalGraph: public JKQTPGraph { +class JKQTP_LIB_EXPORT JKQTPBoxplotVerticalGraph: public JKQTPGraph { Q_OBJECT public: @@ -110,7 +106,7 @@ class LIB_EXPORT JKQTPBoxplotVerticalGraph: public JKQTPGraph { /** \brief plots a key marker inside the specified rectangle \a rect */ virtual void drawKeyMarker(JKQTPEnhancedPainter& painter, QRectF& rect); /** \brief returns the color to be used for the key label */ - virtual QColor getKeyLabelColor(); + virtual QColor getKeyLabelColor() override; /** \brief get the maximum and minimum x-value of the graph @@ -130,19 +126,19 @@ class LIB_EXPORT JKQTPBoxplotVerticalGraph: public JKQTPGraph { /*! \brief sets the property sortData ( \copybrief sortData ) to the specified \a __value. \details Description of the parameter sortData is:
\copydoc sortData
\see sortData for more information */ - inline virtual void setSortData(const DataSortOrder & __value) + inline virtual void setDataSortOrder(const DataSortOrder & __value) { this->sortData = __value; } /*! \brief returns the property sortData ( \copybrief sortData ). \details Description of the parameter sortData is:
\copydoc sortData
\see sortData for more information */ - inline virtual DataSortOrder getSortData() const + inline virtual DataSortOrder getDataSortOrder() const { return this->sortData; } /*! \brief sets the property sortData ( \copybrief sortData ) to the specified \a __value. \details Description of the parameter sortData is:
\copydoc sortData
\see sortData for more information */ - void setSortData(int __value); + void setDataSortOrder(int __value); /*! \brief sets the property posColumn ( \copybrief posColumn ) to the specified \a __value. \details Description of the parameter posColumn is:
\copydoc posColumn
\see posColumn for more information */ @@ -463,7 +459,7 @@ class LIB_EXPORT JKQTPBoxplotVerticalGraph: public JKQTPGraph { \see JKQTPBoxplotVerticalGraph \ref JKQTPlotterBoxplotsGraphs */ -class LIB_EXPORT JKQTPBoxplotHorizontalGraph: public JKQTPBoxplotVerticalGraph { +class JKQTP_LIB_EXPORT JKQTPBoxplotHorizontalGraph: public JKQTPBoxplotVerticalGraph { Q_OBJECT public: /** \brief class constructor */ @@ -510,7 +506,7 @@ class LIB_EXPORT JKQTPBoxplotHorizontalGraph: public JKQTPBoxplotVerticalGraph { \image html boxplots.png */ -class LIB_EXPORT JKQTPBoxplotVerticalElement: public JKQTPPlotObject { +class JKQTP_LIB_EXPORT JKQTPBoxplotVerticalElement: public JKQTPPlotObject { Q_OBJECT public: /** \brief class constructor */ @@ -866,7 +862,7 @@ class LIB_EXPORT JKQTPBoxplotVerticalElement: public JKQTPPlotObject { \see JKQTPBoxplotVerticalElement */ -class LIB_EXPORT JKQTPBoxplotHorizontalElement: public JKQTPBoxplotVerticalElement { +class JKQTP_LIB_EXPORT JKQTPBoxplotHorizontalElement: public JKQTPBoxplotVerticalElement { Q_OBJECT public: /** \brief class constructor */ diff --git a/lib/jkqtplotter/jkqtpgraphsevaluatedfunction.h b/lib/jkqtplotter/jkqtpgraphsevaluatedfunction.h index 6611e62fa4..85e9695d6c 100644 --- a/lib/jkqtplotter/jkqtpgraphsevaluatedfunction.h +++ b/lib/jkqtplotter/jkqtpgraphsevaluatedfunction.h @@ -19,10 +19,6 @@ -/** \file jkqtpgraphsevaluatedfunction.h - * \ingroup jkqtplotter_functiongraphs - */ - #include #include #include @@ -69,7 +65,7 @@ typedef std::function jkqtpSimplePlotFunctionType; the following image \image html plot_functionplots.png */ -class LIB_EXPORT JKQTPXFunctionLineGraph: public JKQTPGraph { +class JKQTP_LIB_EXPORT JKQTPXFunctionLineGraph: public JKQTPGraph { Q_OBJECT public: @@ -624,7 +620,7 @@ class LIB_EXPORT JKQTPXFunctionLineGraph: public JKQTPGraph { \ingroup jkqtplotter_functiongraphs */ -class LIB_EXPORT JKQTPYFunctionLineGraph: public JKQTPXFunctionLineGraph { +class JKQTP_LIB_EXPORT JKQTPYFunctionLineGraph: public JKQTPXFunctionLineGraph { Q_OBJECT public: /** \brief class constructor */ diff --git a/lib/jkqtplotter/jkqtpgraphsfilledcurve.cpp b/lib/jkqtplotter/jkqtpgraphsfilledcurve.cpp index 6711bd7f4f..b898b6e5ed 100644 --- a/lib/jkqtplotter/jkqtpgraphsfilledcurve.cpp +++ b/lib/jkqtplotter/jkqtpgraphsfilledcurve.cpp @@ -108,13 +108,6 @@ void JKQTPFilledCurveXGraph::draw(JKQTPEnhancedPainter& painter) { int imax=static_cast(qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows())); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imax(qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows())); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetDatastore(); int imin=0; int imax=static_cast(qMin(qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()), datastore->getColumn(static_cast(yColumn2)).getRows())); - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imax(qMin(qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()), datastore->getColumn(static_cast(yColumn2)).getRows())); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imax #include #include @@ -40,7 +35,7 @@ \ingroup jkqtplotter_geoplots */ -class LIB_EXPORT JKQTPGeoBaseLine: public JKQTPPlotObject { +class JKQTP_LIB_EXPORT JKQTPGeoBaseLine: public JKQTPPlotObject { Q_OBJECT public: /*! \brief class contructor @@ -128,7 +123,7 @@ class LIB_EXPORT JKQTPGeoBaseLine: public JKQTPPlotObject { \ingroup jkqtplotter_geoplots */ -class LIB_EXPORT JKQTPGeoBaseFilled: public JKQTPGeoBaseLine { +class JKQTP_LIB_EXPORT JKQTPGeoBaseFilled: public JKQTPGeoBaseLine { Q_OBJECT public: /*! \brief class contructor @@ -224,7 +219,7 @@ class LIB_EXPORT JKQTPGeoBaseFilled: public JKQTPGeoBaseLine { \ingroup jkqtplotter_geoplots */ -class LIB_EXPORT JKQTPGeoSymbol: public JKQTPPlotObject { +class JKQTP_LIB_EXPORT JKQTPGeoSymbol: public JKQTPPlotObject { Q_OBJECT public: /*! \brief class contructor @@ -360,7 +355,7 @@ class LIB_EXPORT JKQTPGeoSymbol: public JKQTPPlotObject { /** \brief plots a key marker inside the specified rectangle \a rect */ virtual void drawKeyMarker(JKQTPEnhancedPainter& painter, QRectF& rect); /** \brief returns the color to be used for the key label */ - virtual QColor getKeyLabelColor(); + virtual QColor getKeyLabelColor() override; protected: double x,y; @@ -384,7 +379,7 @@ class LIB_EXPORT JKQTPGeoSymbol: public JKQTPPlotObject { \ingroup jkqtplotter_geoplots */ -class LIB_EXPORT JKQTPGeoText: public JKQTPPlotObject { +class JKQTP_LIB_EXPORT JKQTPGeoText: public JKQTPPlotObject { Q_OBJECT public: /*! \brief class contructor @@ -512,7 +507,7 @@ class LIB_EXPORT JKQTPGeoText: public JKQTPPlotObject { \image html plot_geoline.png */ -class LIB_EXPORT JKQTPGeoLine: public JKQTPGeoBaseLine { +class JKQTP_LIB_EXPORT JKQTPGeoLine: public JKQTPGeoBaseLine { Q_OBJECT public: /*! \brief class constructor @@ -620,7 +615,7 @@ class LIB_EXPORT JKQTPGeoLine: public JKQTPGeoBaseLine { \image html plot_geoinfiniteline.png */ -class LIB_EXPORT JKQTPGeoInfiniteLine: public JKQTPGeoBaseLine { +class JKQTP_LIB_EXPORT JKQTPGeoInfiniteLine: public JKQTPGeoBaseLine { Q_OBJECT public: /*! \brief class constructor @@ -741,7 +736,7 @@ class LIB_EXPORT JKQTPGeoInfiniteLine: public JKQTPGeoBaseLine { \image html plot_geolines.png */ -class LIB_EXPORT JKQTPGeoPolyLines: public JKQTPGeoBaseLine { +class JKQTP_LIB_EXPORT JKQTPGeoPolyLines: public JKQTPGeoBaseLine { Q_OBJECT public: /*! \brief class constructor @@ -823,7 +818,7 @@ class LIB_EXPORT JKQTPGeoPolyLines: public JKQTPGeoBaseLine { \image html plot_georectangle.png */ -class LIB_EXPORT JKQTPGeoRectangle: public JKQTPGeoBaseFilled { +class JKQTP_LIB_EXPORT JKQTPGeoRectangle: public JKQTPGeoBaseFilled { Q_OBJECT public: /*! \brief class constructor @@ -1008,7 +1003,7 @@ protected: \image html plot_geopolygon.png */ -class LIB_EXPORT JKQTPGeoPolygon: public JKQTPGeoBaseFilled { +class JKQTP_LIB_EXPORT JKQTPGeoPolygon: public JKQTPGeoBaseFilled { Q_OBJECT public: /*! \brief class constructor @@ -1103,7 +1098,7 @@ class LIB_EXPORT JKQTPGeoPolygon: public JKQTPGeoBaseFilled { \see http://www.codeguru.com/cpp/g-m/gdi/article.php/c131 and http://en.wikipedia.org/wiki/Ellipse#General_parametric_form */ -class LIB_EXPORT JKQTPGeoEllipse: public JKQTPGeoRectangle { +class JKQTP_LIB_EXPORT JKQTPGeoEllipse: public JKQTPGeoRectangle { Q_OBJECT public: /*! \brief class constructor @@ -1219,7 +1214,7 @@ class LIB_EXPORT JKQTPGeoEllipse: public JKQTPGeoRectangle { \image html plot_geoarc.png */ -class LIB_EXPORT JKQTPGeoArc: public JKQTPGeoBaseLine { +class JKQTP_LIB_EXPORT JKQTPGeoArc: public JKQTPGeoBaseLine { Q_OBJECT public: /*! \brief class constructor @@ -1399,7 +1394,7 @@ class LIB_EXPORT JKQTPGeoArc: public JKQTPGeoBaseLine { \image html plot_geopie.png */ -class LIB_EXPORT JKQTPGeoPie: public JKQTPGeoEllipse { +class JKQTP_LIB_EXPORT JKQTPGeoPie: public JKQTPGeoEllipse { Q_OBJECT public: /*! \brief class constructor @@ -1484,7 +1479,7 @@ class LIB_EXPORT JKQTPGeoPie: public JKQTPGeoEllipse { \image html plot_geochord.png */ -class LIB_EXPORT JKQTPGeoChord: public JKQTPGeoPie { +class JKQTP_LIB_EXPORT JKQTPGeoChord: public JKQTPGeoPie { Q_OBJECT public: /*! \brief class constructor diff --git a/lib/jkqtplotter/jkqtpgraphsimage.h b/lib/jkqtplotter/jkqtpgraphsimage.h index 37c84afb65..236d50e1a3 100644 --- a/lib/jkqtplotter/jkqtpgraphsimage.h +++ b/lib/jkqtplotter/jkqtpgraphsimage.h @@ -22,11 +22,6 @@ #define jkqtpgraphsimage_H - -/** \file jkqtpgraphsimage.h - * \ingroup jkqtplotter_imagelots_elements - */ - #include #include #include @@ -42,7 +37,7 @@ /*! \brief base class for plotting an image \ingroup jkqtplotter_imagelots_elements */ -class LIB_EXPORT JKQTPImageBase: public JKQTPGraph { +class JKQTP_LIB_EXPORT JKQTPImageBase: public JKQTPGraph { Q_OBJECT public: /** \brief class constructor */ @@ -153,7 +148,7 @@ class LIB_EXPORT JKQTPImageBase: public JKQTPGraph { \image html jkqtplotter_simpletest_imageplot.png */ -class LIB_EXPORT JKQTPMathImageBase: public JKQTPImageBase { +class JKQTP_LIB_EXPORT JKQTPMathImageBase: public JKQTPImageBase { Q_OBJECT public: /** \brief possible datatypes of the data array, plotted by this class. */ @@ -349,7 +344,7 @@ class LIB_EXPORT JKQTPMathImageBase: public JKQTPImageBase { \image html jkqtplotter_simpletest_rgbimageplot_qt.png */ -class LIB_EXPORT JKQTPImage: public JKQTPImageBase { +class JKQTP_LIB_EXPORT JKQTPImage: public JKQTPImageBase { Q_OBJECT public: @@ -415,7 +410,7 @@ class LIB_EXPORT JKQTPImage: public JKQTPImageBase { \image html jkqtplotter_simpletest_imageplot_modifier.png \image html jkqtplotter_simpletest_imageplot__smallscaletransparent.png */ -class LIB_EXPORT JKQTPMathImage: public JKQTPMathImageBase { +class JKQTP_LIB_EXPORT JKQTPMathImage: public JKQTPMathImageBase { Q_OBJECT public: @@ -903,7 +898,7 @@ class LIB_EXPORT JKQTPMathImage: public JKQTPMathImageBase { \image html jkqtplotter_simpletest_rgbimageplot_opencv.png */ -class LIB_EXPORT JKQTPRGBMathImage: public JKQTPMathImageBase { +class JKQTP_LIB_EXPORT JKQTPRGBMathImage: public JKQTPMathImageBase { Q_OBJECT public: using JKQTPMathImageBase::setData; @@ -1421,7 +1416,7 @@ class LIB_EXPORT JKQTPRGBMathImage: public JKQTPMathImageBase { \image html jkqtplotter_simpletest_imageplot__smallscaletransparent.png */ -class LIB_EXPORT JKQTPColumnMathImage: public JKQTPMathImage { +class JKQTP_LIB_EXPORT JKQTPColumnMathImage: public JKQTPMathImage { Q_OBJECT public: @@ -1485,7 +1480,7 @@ class LIB_EXPORT JKQTPColumnMathImage: public JKQTPMathImage { \image html jkqtplotter_simpletest_rgbimageplot_opencv.png */ -class LIB_EXPORT JKQTPColumnRGBMathImage: public JKQTPRGBMathImage { +class JKQTP_LIB_EXPORT JKQTPColumnRGBMathImage: public JKQTPRGBMathImage { Q_OBJECT public: @@ -1579,7 +1574,7 @@ class LIB_EXPORT JKQTPColumnRGBMathImage: public JKQTPRGBMathImage { \ingroup jkqtplotter_imagelots_elements */ -class LIB_EXPORT JKQTPOverlayImage: public JKQTPImageBase { +class JKQTP_LIB_EXPORT JKQTPOverlayImage: public JKQTPImageBase { Q_OBJECT public: @@ -1711,7 +1706,7 @@ class LIB_EXPORT JKQTPOverlayImage: public JKQTPImageBase { Also it is possible to draw other types of markers (cross, circles, ...) */ -class LIB_EXPORT JKQTPOverlayImageEnhanced: public JKQTPOverlayImage { +class JKQTP_LIB_EXPORT JKQTPOverlayImageEnhanced: public JKQTPOverlayImage { Q_OBJECT public: /** \brief class constructor */ @@ -1824,7 +1819,7 @@ class LIB_EXPORT JKQTPOverlayImageEnhanced: public JKQTPOverlayImage { Also it is possible to draw other types of markers (cross, circles, ...) */ -class LIB_EXPORT JKQTPColumnOverlayImageEnhanced: public JKQTPOverlayImageEnhanced { +class JKQTP_LIB_EXPORT JKQTPColumnOverlayImageEnhanced: public JKQTPOverlayImageEnhanced { Q_OBJECT public: JKQTPColumnOverlayImageEnhanced(JKQTBasePlotter* parent=nullptr); @@ -1876,7 +1871,7 @@ class LIB_EXPORT JKQTPColumnOverlayImageEnhanced: public JKQTPOverlayImageEnhanc * * \image html JKQTPContour.png */ -class LIB_EXPORT JKQTPContour: public JKQTPMathImage { +class JKQTP_LIB_EXPORT JKQTPContour: public JKQTPMathImage { Q_OBJECT public: /** \brief class constructor */ diff --git a/lib/jkqtplotter/jkqtpgraphsimpulses.cpp b/lib/jkqtplotter/jkqtpgraphsimpulses.cpp index 7b009c362b..2938e920cf 100644 --- a/lib/jkqtplotter/jkqtpgraphsimpulses.cpp +++ b/lib/jkqtplotter/jkqtpgraphsimpulses.cpp @@ -81,13 +81,6 @@ void JKQTPImpulsesHorizontalGraph::draw(JKQTPEnhancedPainter& painter) { int imax=qMin(datastore->getColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imaxgetColumn(static_cast(xColumn)).getRows(), datastore->getColumn(static_cast(yColumn)).getRows()); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imax(datastore->getColumn(static_cast(dataColumn)).getRows()); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imax #include @@ -45,7 +42,7 @@ class JKQTPDatastore; \image html JKQTPPeakStreamGraphY.png "yPeaks=true" \image html JKQTPPeakStreamGraphX.png "yPeaks=false" */ -class LIB_EXPORT JKQTPPeakStreamGraph: public JKQTPSingleColumnGraph { +class JKQTP_LIB_EXPORT JKQTPPeakStreamGraph: public JKQTPSingleColumnGraph { Q_OBJECT public: /** \brief class constructor */ diff --git a/lib/jkqtplotter/jkqtpgraphssinglecolumnsymbols.cpp b/lib/jkqtplotter/jkqtpgraphssinglecolumnsymbols.cpp index 85397dc1a6..d2915ea0cc 100644 --- a/lib/jkqtplotter/jkqtpgraphssinglecolumnsymbols.cpp +++ b/lib/jkqtplotter/jkqtpgraphssinglecolumnsymbols.cpp @@ -114,13 +114,6 @@ void JKQTPSingleColumnSymbolsGraph::draw(JKQTPEnhancedPainter &painter) int imax=static_cast(datastore->getColumn(static_cast(dataColumn)).getRows()); int imin=0; - // interpret data ranges - if (datarange_start>-1) { - imin=qMin(datarange_start, static_cast(imax)); - } - if (datarange_end>-1) { - imax=qMin(datarange_end, static_cast(imax)); - } if (imax #include @@ -51,7 +48,7 @@ \see \ref JKQTPlotterDistributionPlot */ -class LIB_EXPORT JKQTPSingleColumnSymbolsGraph: public JKQTPSingleColumnGraph { +class JKQTP_LIB_EXPORT JKQTPSingleColumnSymbolsGraph: public JKQTPSingleColumnGraph { Q_OBJECT public: /** \brief describes how data from dataColumn of a JKQTPSingleColumnSymbolsGraph positioned at position */ diff --git a/lib/jkqtplotter/jkqtplotter.cpp b/lib/jkqtplotter/jkqtplotter.cpp index e751e5feae..96e2c2557b 100644 --- a/lib/jkqtplotter/jkqtplotter.cpp +++ b/lib/jkqtplotter/jkqtplotter.cpp @@ -20,11 +20,6 @@ -/** \file jkqtplotter.cpp - * \ingroup jkqtpplotterclasses - */ - - #include #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) #include @@ -635,7 +630,7 @@ void JKQTPlotter::initContextMenu() if (tit.isEmpty()) tit=tr("Graph %1").arg(static_cast(i)); QAction* act=new QAction(tit, menVisibleGroup); act->setCheckable(true); - act->setChecked(getPlotter()->getGraph(i)->getVisible()); + act->setChecked(getPlotter()->getGraph(i)->isVisible()); act->setIcon(QIcon(QPixmap::fromImage(getPlotter()->getGraph(i)->generateKeyMarker(QSize(16,16))))); act->setData(static_cast(i)); connect(act, SIGNAL(toggled(bool)), this, SLOT(reactGraphVisible(bool))); @@ -882,29 +877,42 @@ QSize JKQTPlotter::sizeHint() const { return QWidget::sizeHint(); } +void JKQTPlotter::synchronizeToMaster(JKQTPlotter *master, JKQTBasePlotter::SynchronizationDirection synchronizeDirection, bool synchronizeAxisLength, bool synchronizeZoomingMasterToSlave, bool synchronizeZoomingSlaveToMaster) +{ + if (masterPlotterX) disconnect(masterPlotterX->getPlotter(), SIGNAL(plotScalingRecalculated()), this, SLOT(masterPlotScalingRecalculated())); + if (masterPlotterY) disconnect(masterPlotterY->getPlotter(), SIGNAL(plotScalingRecalculated()), this, SLOT(masterPlotScalingRecalculated())); + plotter->synchronizeToMaster(master->getPlotter(), synchronizeDirection, synchronizeAxisLength, synchronizeZoomingMasterToSlave, synchronizeZoomingSlaveToMaster); -void JKQTPlotter::masterPlotScalingRecalculated() { - if (masterPlotter) { - if (plotter->getMasterSynchronizeHeight()||plotter->getMasterSynchronizeWidth()) { - redrawPlot(); - } + if (synchronizeDirection==JKQTBasePlotter::sdXAxis || synchronizeDirection==JKQTBasePlotter::sdXYAxes) { + masterPlotterX=master; + if (masterPlotterX) connect(masterPlotterX->getPlotter(), SIGNAL(plotScalingRecalculated()), this, SLOT(masterPlotScalingRecalculated())); } -} - -void JKQTPlotter::synchronizeToMaster(JKQTPlotter* master, bool synchronizeWidth, bool synchronizeHeight, bool synchronizeZoomingMasterToSlave, bool synchronizeZoomingSlaveToMaster) { - if (!master) { - resetMasterSynchronization(); + if (synchronizeDirection==JKQTBasePlotter::sdYAxis || synchronizeDirection==JKQTBasePlotter::sdXYAxes) { + masterPlotterY=master; + if (masterPlotterY) connect(masterPlotterY->getPlotter(), SIGNAL(plotScalingRecalculated()), this, SLOT(masterPlotScalingRecalculated())); } - plotter->synchronizeToMaster(master->getPlotter(), synchronizeWidth, synchronizeHeight, synchronizeZoomingMasterToSlave, synchronizeZoomingSlaveToMaster); - masterPlotter=master; - if (masterPlotter) connect(masterPlotter->getPlotter(), SIGNAL(plotScalingRecalculated()), this, SLOT(masterPlotScalingRecalculated())); + redrawPlot(); } -void JKQTPlotter::resetMasterSynchronization() { - if (masterPlotter) disconnect(masterPlotter->getPlotter(), SIGNAL(plotScalingRecalculated()), this, SLOT(masterPlotScalingRecalculated())); - plotter->resetMasterSynchronization(); +void JKQTPlotter::synchronizeXToMaster(JKQTPlotter *master, bool synchronizeAxisLength, bool synchronizeZoomingMasterToSlave, bool synchronizeZoomingSlaveToMaster) +{ + synchronizeToMaster(master, JKQTBasePlotter::sdXAxis, synchronizeAxisLength, synchronizeZoomingMasterToSlave, synchronizeZoomingSlaveToMaster); +} + +void JKQTPlotter::synchronizeYToMaster(JKQTPlotter *master, bool synchronizeAxisLength, bool synchronizeZoomingMasterToSlave, bool synchronizeZoomingSlaveToMaster) +{ + synchronizeToMaster(master, JKQTBasePlotter::sdYAxis, synchronizeAxisLength, synchronizeZoomingMasterToSlave, synchronizeZoomingSlaveToMaster); +} + +void JKQTPlotter::resetMasterSynchronization(JKQTBasePlotter::SynchronizationDirection synchronizeDirection) +{ + synchronizeToMaster(nullptr, synchronizeDirection, false, false, false); +} + +void JKQTPlotter::masterPlotScalingRecalculated() { + //qDebug()<<"this="< masterPlotScalingRecalculated()"; redrawPlot(); } diff --git a/lib/jkqtplotter/jkqtplotter.h b/lib/jkqtplotter/jkqtplotter.h index d034235d7e..b11a9fbfc8 100644 --- a/lib/jkqtplotter/jkqtplotter.h +++ b/lib/jkqtplotter/jkqtplotter.h @@ -18,12 +18,6 @@ */ - -/** \file jkqtplotter.h - * \ingroup jkqtpplotterclasses - * - * A Qt based plotter for 2D scientific graphs. - */ #include #include #include @@ -56,7 +50,7 @@ /** \brief initialized Qt-ressources necessary for JKQTPlotter * \ingroup jkqtpplotterclasses */ -LIB_EXPORT void initJKQTPlotterResources(); +JKQTP_LIB_EXPORT void initJKQTPlotterResources(); /** \brief plotter widget for scientific plots (uses JKQTBasePlotter to do the actual drawing) @@ -80,58 +74,26 @@ LIB_EXPORT void initJKQTPlotterResources(); * * \image html test_multiplot.png * - * This can be achieved by putting several JKQTPlotter instances into a - * Qt Layout. Then you can fill each plot differently and - * set the x-/y-range of each plot by hand. This method works for simple cases, but has several drawbacks: - * - Due to the independent and automatic layouting of each plot, the axes do not need to be aligned properly - * - When you print the plot, the printing does not know about the layout and will only print one of the - * several plots in your layout. - * - when you zoom/pan in one of the plots (e.g. using the mouse), the other plots will not adapt their - * axes to match the new area, but especially in cases as in the image above it would be beneficial, - * that tha x-axis of the plot at the bottom follows the x-axis of the plot above etc. - * . + * In the Qt Window this is achieved by placing several JKQTPlotter objects into a QGridLayout. + * In order to support this alignment, also when exporting/printing a plot, and when the user interactions with the plot (e.g. zooming), + * JKQTPlotter offers an API which allows to : + *
    + *
  • declare (grid-like) relations between plots for export/printing + * \see setGridPrinting(), addGridPrintingPlotter(), clearGridPrintingPlotters(), setGridPrintingCurrentPos() and \ref JKQTBASEPLOTTER_SYNCMULTIPLOT_SYNC
  • + *
  • synchronize axes/plots + * \see synchronizeXToMaster(), synchronizeYToMaster(), resetMasterSynchronization() and \ref JKQTBASEPLOTTER_SYNCMULTIPLOT_GRIDPRINT
  • + *
* - * To overcome these limitations, JKQTPlotter offers an API with which you can declare relations between - * different plots (one of them is made the master) and you can synchronize the axes of two plots, when - * zooming (also when calling e.g. zoomToFit() or setXY() ). This API is: - * - Declaring the Relations (forwarding to JKQTBasePlotter !): - * - synchronizeToMaster() / JKQTBasePlotter::synchronizeToMaster() synchronizes the parent JKQTPlotter with another JKQTPlotter. With two boolean-parameters - * you can specify the axes to be synchronized. E.g. in the case above, you would call: - * \code - * // synchronize width/x-axis of plotResid to width/x-axis of plotMain - * plotResid->synchronizeToMaster(plotMain, true, false, true, true); * - * // synchronize y-axis of width/plotResidHist to y-axis of width/plotResid - * plotResidHist->synchronizeToMaster(plotResid, false, true, true, true); - * \endcode - * This will synchronize the x-axes of the top (\c plotMain ) and bottom-left plot (\c plotResid ), - * as well as the y-axes of the bottom-left (\c plotResid ) and bottom-right plot (\c plotResidHist ). - * After this call they will have the same size in screen pixels and always span the same range - * in plot coordinates. - * - resetMasterSynchronization() / JKQTBasePlotter::resetMasterSynchronization() deletes all synchronizations - * from the JKQTPlotter - * . - * - Synchronizing Axes (forwarding to JKQTBasePlotter !): - * - setGridPrinting() enables grid printing for this JKQTPlotter. If set to \c true , and you print afterwards, - * the printout (or export) will not only contain the plot itself, but also additional plots that were - * declared using addGridPrintingPlotter() (see below). - * - addGridPrintingPlotter() add a new plotter \a plotterOther for grid printing mode, at location \a x / \a y - * E.g. in the example shown above, you could call: - * \code - * plotMain->setGridPrinting(true); - * plotMain->addGridPrintingPlotter(0,1,plotResid); - * plotMain->addGridPrintingPlotter(1,1,plotResidHist); - * \endcode - * - clearGridPrintingPlotters() clear all additional plotters for grid printing mode - * . - * These two functionalities are kept separate, so you can use them independently. + * \note This API adopts and extends the possibilities of JKQTBasePlotter. Please see the documentation there for details: + *
    + *
  • \ref JKQTBASEPLOTTER_SYNCMULTIPLOT + *
      + *
    • \ref JKQTBASEPLOTTER_SYNCMULTIPLOT_SYNC
    • + *
    • \ref JKQTBASEPLOTTER_SYNCMULTIPLOT_GRIDPRINT
    • + *
    + *
* - * \note Note that the grid printing mode only allows to put plots to the right (positive x-values in addGridPrintingPlotter() ) - * and to the bottom (positive y-values in addGridPrintingPlotter() ) of the current plot. Therefore the master plot - * needs to be the top-left plot of your grid and all plots need to be aligned in a grid (i.e. using - * QGridLayout) - * - * \see See \ref JKQTPlotterMultiPlotLayout for an extensive example of the functionality. * * * \section JKQTPLOTTER_USERINTERACTION User-Interactions/GUI Features @@ -327,7 +289,7 @@ LIB_EXPORT void initJKQTPlotterResources(); * \see \ref JKQTPlotterQtCreator * */ -class LIB_EXPORT JKQTPlotter: public QWidget { +class JKQTP_LIB_EXPORT JKQTPlotter: public QWidget { Q_OBJECT public: /** \brief Availble action this JKQtPlotter can perform when mouse events occur. @@ -437,73 +399,104 @@ class LIB_EXPORT JKQTPlotter: public QWidget { /** \brief returns the size of the widget */ QSize sizeHint() const; - /*! \brief synchronize the plot borders with a given plotter + + + + + /*! \brief synchronize the plot borders (and zooming) with a given plotter (master --> slave/this) This function allows two plotters to draw a graph with exactly the same height or width as in another graph. For example if you want to have two plotters which are positioned one above the other (and have the same widget widths, which could be guaranteed by a QLayout) you may want to make sure that their plotWidth s are always the same. In this case call - \code plotter2->synchronizeToMaster(plotter1, true, false) \endcode of the lower plotter \c plotter2 . + \code plotter2->synchronizeToMaster(plotter1, sdXAxis, true) \endcode of the lower plotter \c plotter2 . Now whenever the size of plotter1 changes, also plotter2 is redrawn with the changed borders. + \image html jkqtbaseplotter_synchronization.png "Different Synchronization Settings for synchronizeDirection=sdXAxis" + \param master the plotter widget to synchronize to - \param synchronizeWidth do you want the plot width to be synchronized? - \param synchronizeHeight do you want the plot height to be synchronized? + \param synchronizeDirection direction in which to synchronize + \param synchronizeAxisLength do you want the axis length to be synchronized? \param synchronizeZoomingMasterToSlave if set, also zooming in the master leads to a modification of the linked axes in the slave \param synchronizeZoomingSlaveToMaster if set, also zooming in the slave leads to a modification of the linked axes in the master + \see synchronizeXToMaster(), synchronizeYToMaster(), resetMasterSynchronization(), \ref JKQTBASEPLOTTER_SYNCMULTIPLOT + */ + void synchronizeToMaster(JKQTPlotter* master, JKQTBasePlotter::SynchronizationDirection synchronizeDirection, bool synchronizeAxisLength=true, bool synchronizeZoomingMasterToSlave=true, bool synchronizeZoomingSlaveToMaster=true); + /*! \brief synchronize the plot x-axis width (and x-zooming) with a given master plotter (master --> slave/this) + + \param master the plotter widget to synchronize to + \param synchronizeAxisLength do you want the axis length to be synchronized? + \param synchronizeZoomingMasterToSlave if set, also zooming in the master leads to a modification of the linked axes in the slave + \param synchronizeZoomingSlaveToMaster if set, also zooming in the slave leads to a modification of the linked axes in the master + + \image html jkqtbaseplotter_synchronization.png "Different Synchronization Settings for synchronizeDirection=sdXAxis" + + \note This is a short-cut to synchronizeToMaster() with \c synchronizeDirection=csXAxis + \see synchronizeToMaster(), synchronizeYToMaster(), resetMasterSynchronization(), \ref JKQTBASEPLOTTER_SYNCMULTIPLOT + */ + void synchronizeXToMaster(JKQTPlotter* master, bool synchronizeAxisLength=true, bool synchronizeZoomingMasterToSlave=true, bool synchronizeZoomingSlaveToMaster=true); + + /*! \brief synchronize the plot y-axis height (and y-zooming) with a given master plotter (master --> slave/this) + + \param master the plotter widget to synchronize to + \param synchronizeAxisLength do you want the axis length to be synchronized? + \param synchronizeZoomingMasterToSlave if set, also zooming in the master leads to a modification of the linked axes in the slave + \param synchronizeZoomingSlaveToMaster if set, also zooming in the slave leads to a modification of the linked axes in the master \note This function internally calls JKQTBasePlotter::synchronizeToMaster() - \see synchronizeToMaster(), resetMasterSynchronization(), \ref JKQTPLOTTER_SYNCMULTIPLOT - */ - void synchronizeToMaster(JKQTBasePlotter* master, bool synchronizeWidth, bool synchronizeHeight, bool synchronizeZoomingMasterToSlave=false, bool synchronizeZoomingSlaveToMaster=false); + \note This is a short-cut to synchronizeToMaster() with \c synchronizeDirection=csXAxis + \see synchronizeToMaster(), synchronizeXToMaster(), resetMasterSynchronization(), \ref JKQTBASEPLOTTER_SYNCMULTIPLOT + */ + void synchronizeYToMaster(JKQTPlotter* master, bool synchronizeAxisLength=true, bool synchronizeZoomingMasterToSlave=true, bool synchronizeZoomingSlaveToMaster=true); /** \brief switches any synchronization off, that has been created by synchronizeToMaster() * - * \note This function internally calls JKQTBasePlotter::resetMasterSynchronization() - * \see synchronizeToMaster(), resetMasterSynchronization(), \ref JKQTPLOTTER_SYNCMULTIPLOT + * \note This function internally calls JKQTBasePlotter::synchronizeToMaster() + \see synchronizeToMaster(), synchronizeXToMaster(), resetMasterSynchronization(), \ref JKQTBASEPLOTTER_SYNCMULTIPLOT */ - void resetMasterSynchronization(); + void resetMasterSynchronization(JKQTBasePlotter::SynchronizationDirection synchronizeDirection=JKQTBasePlotter::sdXYAxes); + /*! \brief enables grid-printing for this plot * * \note This function call forwards to JKQTBasePlotter::setGridPrinting() - * \see setGridPrinting(), addGridPrintingPlotter(), clearGridPrintingPlotters(), setGridPrintingCurrentPos(), \ref JKQTPLOTTER_SYNCMULTIPLOT + * \see setGridPrinting(), addGridPrintingPlotter(), clearGridPrintingPlotters(), setGridPrintingCurrentPos(), \ref JKQTBASEPLOTTER_SYNCMULTIPLOT */ void setGridPrinting(bool enabled); /** \brief add a new plotter \a plotterOther for grid printing mode, at location \a x / \a y * * \note This function call forwards to JKQTBasePlotter::addGridPrintingPlotter() - * \see setGridPrinting(), addGridPrintingPlotter(), clearGridPrintingPlotters(), setGridPrintingCurrentPos(), \ref JKQTPLOTTER_SYNCMULTIPLOT + * \see setGridPrinting(), addGridPrintingPlotter(), clearGridPrintingPlotters(), setGridPrintingCurrentPos(), \ref JKQTBASEPLOTTER_SYNCMULTIPLOT */ void addGridPrintingPlotter(size_t x, size_t y, JKQTPlotter* plotterOther) ; /** \brief clear all additional plotters for grid printing mode * * \note This function call forwards to JKQTBasePlotter::clearGridPrintingPlotters() - * \see setGridPrinting(), addGridPrintingPlotter(), clearGridPrintingPlotters(), setGridPrintingCurrentPos(), \ref JKQTPLOTTER_SYNCMULTIPLOT + * \see setGridPrinting(), addGridPrintingPlotter(), clearGridPrintingPlotters(), setGridPrintingCurrentPos(), \ref JKQTBASEPLOTTER_SYNCMULTIPLOT */ void clearGridPrintingPlotters() ; /** \brief set the x-position of this JKQTPlotter in the grid-printing grid * * \note This function call forwards to JKQTBasePlotter::setGridPrintingCurrentX() - * \see setGridPrinting(), addGridPrintingPlotter(), clearGridPrintingPlotters(), setGridPrintingCurrentPos(), setGridPrintingCurrentY(), \ref JKQTPLOTTER_SYNCMULTIPLOT + * \see setGridPrinting(), addGridPrintingPlotter(), clearGridPrintingPlotters(), setGridPrintingCurrentPos(), setGridPrintingCurrentY(), \ref JKQTBASEPLOTTER_SYNCMULTIPLOT */ void setGridPrintingCurrentX(size_t x); /** \brief set the y-position of this JKQTPlotter in the grid-printing grid * * \note This function call forwards to JKQTBasePlotter::setGridPrintingCurrentY() - * \see setGridPrinting(), addGridPrintingPlotter(), clearGridPrintingPlotters(), setGridPrintingCurrentPos(), setGridPrintingCurrentX(), \ref JKQTPLOTTER_SYNCMULTIPLOT + * \see setGridPrinting(), addGridPrintingPlotter(), clearGridPrintingPlotters(), setGridPrintingCurrentPos(), setGridPrintingCurrentX(), \ref JKQTBASEPLOTTER_SYNCMULTIPLOT */ void setGridPrintingCurrentY(size_t y); /** \brief set the x- and y-positions of this JKQTPlotter in the grid-printing grid * * \note This function call forwards to JKQTBasePlotter::setGridPrintingCurrentPos() - * \see setGridPrinting(), addGridPrintingPlotter(), clearGridPrintingPlotters(), setGridPrintingCurrentX(), setGridPrintingCurrentY() \ref JKQTPLOTTER_SYNCMULTIPLOT + * \see setGridPrinting(), addGridPrintingPlotter(), clearGridPrintingPlotters(), setGridPrintingCurrentX(), setGridPrintingCurrentY() \ref JKQTBASEPLOTTER_SYNCMULTIPLOT */ void setGridPrintingCurrentPos(size_t x, size_t y); @@ -603,7 +596,7 @@ class LIB_EXPORT JKQTPlotter: public QWidget { /** \brief returns the coordinate axis object for the y-axis as a const pointer */ inline const JKQTPVerticalAxis* getYAxis() const { return plotter->getYAxis(); } - /** \brief returns description of i'th graph */ + /** \brief returns the \a i -th graph (of type JKQTPPlotElement) in this plotter instance */ inline JKQTPPlotElement* getGraph(size_t i) { return plotter->getGraph(i); } /** \brief returns the number of graphs */ @@ -624,13 +617,26 @@ class LIB_EXPORT JKQTPlotter: public QWidget { */ inline void clearGraphs(bool deleteGraphs=true) { plotter->clearGraphs(deleteGraphs); } - /** \brief add a new graph, returns it's position in the graphs list */ + /** \brief add a new graph, returns it's position in the graphs list + * + * \param gr graph object (of type JKQTPPlotElement) to be added. \b Note: The JKQTPlotter takes ownership of graph \a gr . + * \return ID of the added graph object \a gr in the internal list of graphs + * + */ inline size_t addGraph(JKQTPPlotElement* gr) { return plotter->addGraph(gr); } - /** \brief move the given graph to the top, or add it, if it is not yet contained */ + /** \brief move the given graph to the top, or add it, if it is not yet contained + * + * \param gr graph object (of type JKQTPPlotElement) to be moved (needs to be containing to the JKQTPlotter already!) + * \return ID of the added graph object \a gr in the internal list of graphs + */ inline size_t moveGraphTop(JKQTPPlotElement* gr) { return plotter->moveGraphTop(gr); } - /** \brief move the given graph to the top, or add it, if it is not yet contained */ + /** \brief move the given graph to the top, or add it, if it is not yet contained + * + * \param gr graph object (of type JKQTPPlotElement) to be moved (needs to be containing to the JKQTPlotter already!) + * \return ID of the added graph object \a gr in the internal list of graphs + */ inline size_t moveGraphBottom(JKQTPPlotElement* gr) { return plotter->moveGraphBottom(gr); } /** \brief add a new graphs from a QVector, QList, std::vector ... or any standard-iterateable container with JKQTPPlotElement*-items */ @@ -791,11 +797,11 @@ class LIB_EXPORT JKQTPlotter: public QWidget { /** \brief sets the mode if the standard context menu \see ContextMenuModes, \ref JKQTPLOTTER_USERMOUSEINTERACTION */ void setContextMenuMode(ContextMenuModes mode); - /** \brief may be connected to zoomChangedLocally() of a different plot and synchronizes the local x-axis to the other x-axis \see \ref JKQTPLOTTER_SYNCMULTIPLOT */ + /** \brief may be connected to zoomChangedLocally() of a different plot and synchronizes the local x-axis to the other x-axis \see \ref JKQTBASEPLOTTER_SYNCMULTIPLOT */ void synchronizeXAxis(double newxmin, double newxmax, double newymin, double newymax, JKQTPlotter* sender); - /** \brief may be connected to zoomChangedLocally() of a different plot and synchronizes the local y-axis to the other y-axis \see \ref JKQTPLOTTER_SYNCMULTIPLOT */ + /** \brief may be connected to zoomChangedLocally() of a different plot and synchronizes the local y-axis to the other y-axis \see \ref JKQTBASEPLOTTER_SYNCMULTIPLOT */ void synchronizeYAxis(double newxmin, double newxmax, double newymin, double newymax, JKQTPlotter* sender); - /** \brief may be connected to zoomChangedLocally() of a different plot and synchronizes the local x- and y-axis to the other x- and y-axis \see \ref JKQTPLOTTER_SYNCMULTIPLOT */ + /** \brief may be connected to zoomChangedLocally() of a different plot and synchronizes the local x- and y-axis to the other x- and y-axis \see \ref JKQTBASEPLOTTER_SYNCMULTIPLOT */ void synchronizeXYAxis(double newxmin, double newxmax, double newymin, double newymax, JKQTPlotter* sender); @@ -965,7 +971,7 @@ class LIB_EXPORT JKQTPlotter: public QWidget { /** \brief ties a MouseActionMode to a mouse-button and a keyboard-modifier * \internal */ - struct LIB_EXPORT MouseDragAction { + struct JKQTP_LIB_EXPORT MouseDragAction { /** \brief constructs an invalid object */ MouseDragAction(); MouseDragAction(Qt::MouseButton _mouseButton, Qt::KeyboardModifier _modifier, MouseDragActions _mode); @@ -1182,8 +1188,10 @@ class LIB_EXPORT JKQTPlotter: public QWidget { /*! \brief default value for property property mousePositionTemplate. \see mousePositionTemplate for more information */ QString default_mousePositionTemplate; - /** \brief the master plotter, this plotter is connected to. */ - QPointer masterPlotter; + /** \brief the master plotter, this plotter is connected to in x-direction. */ + QPointer masterPlotterX; + /** \brief the master plotter, this plotter is connected to in y-direction. */ + QPointer masterPlotterY; /** \brief calculate the y-axis shift of the plot, so there is space for the potentially displayed mouse position label */ int getPlotYOffset(); diff --git a/lib/jkqtplottergui/jkqtpcomboboxes.cpp b/lib/jkqtplottergui/jkqtpcomboboxes.cpp index a109358f77..7dd0db4ba3 100644 --- a/lib/jkqtplottergui/jkqtpcomboboxes.cpp +++ b/lib/jkqtplottergui/jkqtpcomboboxes.cpp @@ -19,10 +19,6 @@ -/** \file jkqtpcomboboxes.cpp - * \ingroup jkqtpcomboboxes - */ - #include "jkqtplottergui/jkqtpcomboboxes.h" #include "jkqtplotter/jkqtpbaseplotter.h" #include "jkqtplottertools/jkqtptools.h" diff --git a/lib/jkqtplottergui/jkqtpcomboboxes.h b/lib/jkqtplottergui/jkqtpcomboboxes.h index a124c903bc..60c3ade8c5 100644 --- a/lib/jkqtplottergui/jkqtpcomboboxes.h +++ b/lib/jkqtplottergui/jkqtpcomboboxes.h @@ -19,10 +19,6 @@ -/** \file jkqtpcomboboxes.h - * \ingroup jkqtpcomboboxes - */ - #ifndef JKQTPCOMBOBOXES_H #define JKQTPCOMBOBOXES_H @@ -40,7 +36,7 @@ \image html JKQTPMathImageColorPaletteComboBox.png */ -class LIB_EXPORT JKQTPMathImageColorPaletteComboBox: public QComboBox { +class JKQTP_LIB_EXPORT JKQTPMathImageColorPaletteComboBox: public QComboBox { Q_OBJECT public: JKQTPMathImageColorPaletteComboBox(QWidget* parent=nullptr); @@ -61,7 +57,7 @@ class LIB_EXPORT JKQTPMathImageColorPaletteComboBox: public QComboBox { /*! \brief a QComboBox which shows JKQTPCADrawMode \ingroup jkqtpcomboboxes */ -class LIB_EXPORT JKQTPCADrawModeComboBox: public QComboBox { +class JKQTP_LIB_EXPORT JKQTPCADrawModeComboBox: public QComboBox { Q_OBJECT public: JKQTPCADrawModeComboBox(QWidget* parent=nullptr); @@ -77,7 +73,7 @@ class LIB_EXPORT JKQTPCADrawModeComboBox: public QComboBox { /*! \brief a QComboBox which shows JKQTPCALabelType \ingroup jkqtpcomboboxes */ -class LIB_EXPORT JKQTPCALabelTypeComboBox: public QComboBox { +class JKQTP_LIB_EXPORT JKQTPCALabelTypeComboBox: public QComboBox { Q_OBJECT public: JKQTPCALabelTypeComboBox(QWidget* parent=nullptr); @@ -92,7 +88,7 @@ class LIB_EXPORT JKQTPCALabelTypeComboBox: public QComboBox { /*! \brief a QComboBox which shows JKQTPLabelPosition \ingroup jkqtpcomboboxes */ -class LIB_EXPORT JKQTPLabelPositionComboBox: public QComboBox { +class JKQTP_LIB_EXPORT JKQTPLabelPositionComboBox: public QComboBox { Q_OBJECT public: JKQTPLabelPositionComboBox(QWidget* parent=nullptr); @@ -110,7 +106,7 @@ class LIB_EXPORT JKQTPLabelPositionComboBox: public QComboBox { \image html JKQTPKeyPositionComboBox.png */ -class LIB_EXPORT JKQTPKeyPositionComboBox: public QComboBox { +class JKQTP_LIB_EXPORT JKQTPKeyPositionComboBox: public QComboBox { Q_OBJECT public: JKQTPKeyPositionComboBox(QWidget* parent=nullptr); @@ -132,7 +128,7 @@ class LIB_EXPORT JKQTPKeyPositionComboBox: public QComboBox { \image html JKQTPKeyLayoutComboBox.png */ -class LIB_EXPORT JKQTPKeyLayoutComboBox: public QComboBox { +class JKQTP_LIB_EXPORT JKQTPKeyLayoutComboBox: public QComboBox { Q_OBJECT public: JKQTPKeyLayoutComboBox(QWidget* parent=nullptr); @@ -153,7 +149,7 @@ class LIB_EXPORT JKQTPKeyLayoutComboBox: public QComboBox { \image html JKQTPErrorPlotstyleComboBox.png */ -class LIB_EXPORT JKQTPErrorPlotstyleComboBox: public QComboBox { +class JKQTP_LIB_EXPORT JKQTPErrorPlotstyleComboBox: public QComboBox { Q_OBJECT public: JKQTPErrorPlotstyleComboBox(QWidget* parent=nullptr); @@ -172,7 +168,7 @@ class LIB_EXPORT JKQTPErrorPlotstyleComboBox: public QComboBox { \image html JKQTPSymbolComboBox.png */ -class LIB_EXPORT JKQTPSymbolComboBox: public QComboBox { +class JKQTP_LIB_EXPORT JKQTPSymbolComboBox: public QComboBox { Q_OBJECT public: JKQTPSymbolComboBox(QWidget* parent=nullptr); @@ -188,7 +184,7 @@ class LIB_EXPORT JKQTPSymbolComboBox: public QComboBox { /*! \brief a QComboBox to select whether a line, symbols or both should be displayed \ingroup jkqtpcomboboxes */ -class LIB_EXPORT JKQTPLinePlotStyleComboBox: public QComboBox { +class JKQTP_LIB_EXPORT JKQTPLinePlotStyleComboBox: public QComboBox { Q_OBJECT public: JKQTPLinePlotStyleComboBox(QWidget* parent=nullptr); @@ -209,7 +205,7 @@ class LIB_EXPORT JKQTPLinePlotStyleComboBox: public QComboBox { /*! \brief a QComboBox to select whether a line, symbols or both should be displayed, in addition to JKQTPLinePlotStyleComboBox this may also have different symbol sizes! \ingroup jkqtpcomboboxes */ -class LIB_EXPORT JKQTPLinePlotStyleWithSymbolSizeComboBox: public QComboBox { +class JKQTP_LIB_EXPORT JKQTPLinePlotStyleWithSymbolSizeComboBox: public QComboBox { Q_OBJECT public: JKQTPLinePlotStyleWithSymbolSizeComboBox(QWidget* parent=nullptr); @@ -241,7 +237,7 @@ class LIB_EXPORT JKQTPLinePlotStyleWithSymbolSizeComboBox: public QComboBox { \see JKQTPStepType */ -class LIB_EXPORT JKQTPStepTypeComboBox: public QComboBox { +class JKQTP_LIB_EXPORT JKQTPStepTypeComboBox: public QComboBox { Q_OBJECT public: JKQTPStepTypeComboBox(QWidget* parent=nullptr); @@ -259,7 +255,7 @@ class LIB_EXPORT JKQTPStepTypeComboBox: public QComboBox { \see JKQTPMathImageBase::ModifierMode */ -class LIB_EXPORT JKQTPImageModifierModeComboBox: public QComboBox { +class JKQTP_LIB_EXPORT JKQTPImageModifierModeComboBox: public QComboBox { Q_OBJECT public: JKQTPImageModifierModeComboBox(QWidget* parent=nullptr); diff --git a/lib/jkqtplottergui/jkqtpenhancedspinboxes.cpp b/lib/jkqtplottergui/jkqtpenhancedspinboxes.cpp index 145fc1bae1..673fa481b2 100644 --- a/lib/jkqtplottergui/jkqtpenhancedspinboxes.cpp +++ b/lib/jkqtplottergui/jkqtpenhancedspinboxes.cpp @@ -21,12 +21,6 @@ Copyright (c) 2008-2019 Jan W. Krieger () - - -/** \file jkqtpenhancedspinboxes.cpp - * \ingroup jkqtptools - */ - #include "jkqtplottergui/jkqtpenhancedspinboxes.h" diff --git a/lib/jkqtplottergui/jkqtpenhancedspinboxes.h b/lib/jkqtplottergui/jkqtpenhancedspinboxes.h index 6fe28980b2..cdfb7f2e00 100644 --- a/lib/jkqtplottergui/jkqtpenhancedspinboxes.h +++ b/lib/jkqtplottergui/jkqtpenhancedspinboxes.h @@ -18,11 +18,6 @@ */ -/** \file jkqtpenhancedspinboxes.h - * \ingroup jkqtptools_qtwidgets - */ - - #ifndef jkqtpenhancedspinboxes_H_INCLUDED #define jkqtpenhancedspinboxes_H_INCLUDED #include "jkqtplottertools/jkqtp_imexport.h" @@ -35,7 +30,7 @@ This class adds an event editingFinished() to QDoubleSpinBox. */ -class LIB_EXPORT JKQTPEnhancedDoubleSpinBox : public QDoubleSpinBox { +class JKQTP_LIB_EXPORT JKQTPEnhancedDoubleSpinBox : public QDoubleSpinBox { Q_OBJECT public: JKQTPEnhancedDoubleSpinBox(QWidget* parent=nullptr); @@ -53,7 +48,7 @@ class LIB_EXPORT JKQTPEnhancedDoubleSpinBox : public QDoubleSpinBox { This class adds an event editingFinished() to QDoubleSpinBox. */ -class LIB_EXPORT JKQTPEnhancedSpinBox : public QSpinBox { +class JKQTP_LIB_EXPORT JKQTPEnhancedSpinBox : public QSpinBox { Q_OBJECT public: JKQTPEnhancedSpinBox(QWidget* parent=nullptr); diff --git a/lib/jkqtplottergui/jkqtpenhancedtableview.cpp b/lib/jkqtplottergui/jkqtpenhancedtableview.cpp index bc33e045df..c8537adc3b 100644 --- a/lib/jkqtplottergui/jkqtpenhancedtableview.cpp +++ b/lib/jkqtplottergui/jkqtpenhancedtableview.cpp @@ -22,11 +22,6 @@ Copyright (c) 2008-2019 Jan W. Krieger () - -/** \file JKQTPEnhancedTableView.cpp - * \ingroup jkqtptools - */ - #include "jkqtplottergui/jkqtpenhancedtableview.h" #include #include diff --git a/lib/jkqtplottergui/jkqtpenhancedtableview.h b/lib/jkqtplottergui/jkqtpenhancedtableview.h index b130fe411b..4f325ae860 100644 --- a/lib/jkqtplottergui/jkqtpenhancedtableview.h +++ b/lib/jkqtplottergui/jkqtpenhancedtableview.h @@ -18,11 +18,6 @@ */ -/** \file jkqtpenhancedtableview.h - * \ingroup jkqtptools_qtwidgets - */ - - #ifndef JKQTPEnhancedTableView_H_INCLUDED #define JKQTPEnhancedTableView_H_INCLUDED #include "jkqtplottertools/jkqtp_imexport.h" @@ -43,7 +38,7 @@ \image html JKQTPEnhancedTableView.png */ -class LIB_EXPORT JKQTPEnhancedTableView : public QTableView { +class JKQTP_LIB_EXPORT JKQTPEnhancedTableView : public QTableView { Q_OBJECT public: JKQTPEnhancedTableView(QWidget* parent=nullptr); diff --git a/lib/jkqtplottergui/jkqtpgraphsmodel.cpp b/lib/jkqtplottergui/jkqtpgraphsmodel.cpp index 6192bdb7a1..683fef4a48 100644 --- a/lib/jkqtplottergui/jkqtpgraphsmodel.cpp +++ b/lib/jkqtplottergui/jkqtpgraphsmodel.cpp @@ -19,10 +19,6 @@ -/** \file jkqtpgraphsmodel.cpp - * \ingroup jkqtpgraphsmodel - */ - #include "jkqtplottergui/jkqtpgraphsmodel.h" #include "jkqtplotter/jkqtpbaseplotter.h" #include "jkqtplottertools/jkqtptools.h" @@ -52,7 +48,7 @@ QVariant JKQTPGraphsModel::data(const QModelIndex &index, int role) const if (role == Qt::DisplayRole) { if (index.row()(m_plotter->getGraphCount())) return m_plotter->getGraph(static_cast(index.row()))->getTitle(); } else if (role == Qt::CheckStateRole) { - if (index.row()(m_plotter->getGraphCount())) return m_plotter->getGraph(static_cast(index.row()))->getVisible()?Qt::Checked:Qt::Unchecked; + if (index.row()(m_plotter->getGraphCount())) return m_plotter->getGraph(static_cast(index.row()))->isVisible()?Qt::Checked:Qt::Unchecked; } else if (role == Qt::DecorationRole) { if (index.row()(m_plotter->getGraphCount())) { return m_plotter->getGraph(static_cast(index.row()))->generateKeyMarker(QSize(16,16)); diff --git a/lib/jkqtplottergui/jkqtpgraphsmodel.h b/lib/jkqtplottergui/jkqtpgraphsmodel.h index e9fc4e3665..9445ef5dc4 100644 --- a/lib/jkqtplottergui/jkqtpgraphsmodel.h +++ b/lib/jkqtplottergui/jkqtpgraphsmodel.h @@ -19,10 +19,6 @@ -/** \file jkqtpgraphsmodel.h - * \ingroup jkqtpgraphsmodel - */ - #ifndef jkqtpgraphsmodel_H #define jkqtpgraphsmodel_H diff --git a/lib/jkqtplottergui/jkvanishqtoolbar.cpp b/lib/jkqtplottergui/jkvanishqtoolbar.cpp index 0d2c8902b2..e2a82a62a0 100644 --- a/lib/jkqtplottergui/jkvanishqtoolbar.cpp +++ b/lib/jkqtplottergui/jkvanishqtoolbar.cpp @@ -19,10 +19,6 @@ -/** \file jkvanishqtoolbar.cpp - * \ingroup jkqtptools_qtwidgets - */ - #include "jkqtplottergui/jkvanishqtoolbar.h" JKVanishQToolBar::JKVanishQToolBar(const QString &title, QWidget *parent): QToolBar(title, parent) { diff --git a/lib/jkqtplottergui/jkvanishqtoolbar.h b/lib/jkqtplottergui/jkvanishqtoolbar.h index 1b9eef36cb..aecb49035f 100644 --- a/lib/jkqtplottergui/jkvanishqtoolbar.h +++ b/lib/jkqtplottergui/jkvanishqtoolbar.h @@ -19,23 +19,19 @@ -/** \file jkvanishqtoolbar.h - * \ingroup jkqtptools_qtwidgets - */ - #ifndef jkvanishqtoolbar_H #define jkvanishqtoolbar_H #include "jkqtplottertools/jkqtp_imexport.h" #include "jkqtplottertools/jkqtptools.h" #include -/** \brief a modified QToolBar which vanishes when the mouse leaves the toolbar. +/** \brief a modified QToolBar which vanishes when the mouse leaves the toolbar. * \ingroup jkqtptools_qtwidgets * * \image html jkqtplotter_toolbar_hidden.png "Hidden Toolbar" * \image html jkqtplotter_toolbar_shown.png "Shown Toolbar" */ -class LIB_EXPORT JKVanishQToolBar: public QToolBar { +class JKQTP_LIB_EXPORT JKVanishQToolBar: public QToolBar { Q_OBJECT public: /** \brief class constructor */ diff --git a/lib/jkqtplottertools/jkqtp_imexport.h b/lib/jkqtplottertools/jkqtp_imexport.h index dffb58a804..85bb70467e 100644 --- a/lib/jkqtplottertools/jkqtp_imexport.h +++ b/lib/jkqtplottertools/jkqtp_imexport.h @@ -32,15 +32,15 @@ \code #include "jkqtplottertools/jkqtp_imexport.h" - class LIB_EXPORT exportedClassName { + class JKQTP_LIB_EXPORT exportedClassName { ... }; - LIB_EXPORT void exportedFunctionName(); + JKQTP_LIB_EXPORT void exportedFunctionName(); \endcode - Then when compiling define the preprocessor symbol \c LIB_IN_DLL when exporting AND using the classes/functions. - When compiling the classes for export, also define the preprocessor symbol \c LIB_EXPORT_LIBRARY . + Then when compiling define the preprocessor symbol \c JKQTP_LIB_IN_DLL when exporting AND using the classes/functions. + When compiling the classes for export, also define the preprocessor symbol \c JKQTP_LIB_EXPORT_LIBRARY . */ @@ -52,17 +52,17 @@ # endif #ifdef __WINDOWS__ -# ifdef LIB_IN_DLL -# if defined(LIB_EXPORT_LIBRARY) -# define LIB_EXPORT __declspec(dllexport) +# ifdef JKQTP_LIB_IN_DLL +# if defined(JKQTP_LIB_EXPORT_LIBRARY) +# define JKQTP_LIB_EXPORT __declspec(dllexport) # else -# define LIB_EXPORT __declspec(dllimport) +# define JKQTP_LIB_EXPORT __declspec(dllimport) # endif # else -# define LIB_EXPORT +# define JKQTP_LIB_EXPORT # endif #else -# define LIB_EXPORT +# define JKQTP_LIB_EXPORT #endif diff --git a/lib/jkqtplottertools/jkqtpdrawingtools.cpp b/lib/jkqtplottertools/jkqtpdrawingtools.cpp index 7e0d9ede8e..52e76f327c 100644 --- a/lib/jkqtplottertools/jkqtpdrawingtools.cpp +++ b/lib/jkqtplottertools/jkqtpdrawingtools.cpp @@ -23,10 +23,6 @@ Copyright (c) 2008-2019 Jan W. Krieger () -/** \file jkqtpdrawingtools.cpp - * \ingroup jkqtptools - */ - #include "jkqtplottertools/jkqtpdrawingtools.h" #include "jkqtplottertools/jkqtpenhancedpainter.h" diff --git a/lib/jkqtplottertools/jkqtpdrawingtools.h b/lib/jkqtplottertools/jkqtpdrawingtools.h index f5ef119370..d3957f6edd 100644 --- a/lib/jkqtplottertools/jkqtpdrawingtools.h +++ b/lib/jkqtplottertools/jkqtpdrawingtools.h @@ -18,11 +18,6 @@ */ -/** \file jkqtpdrawingtools.h - * \ingroup jkqtptools_drawing - */ - - #ifndef JKQTPDRAWINGTOOLS_H_INCLUDED #define JKQTPDRAWINGTOOLS_H_INCLUDED #include "jkqtplottertools/jkqtp_imexport.h" @@ -43,7 +38,7 @@ class JKQTPEnhancedPainter; // forward \param color color of the symbol lines \param fillColor color of the symbol filling */ -LIB_EXPORT void JKQTPPlotSymbol(JKQTPEnhancedPainter& painter, double x, double y, JKQTPGraphSymbols symbol, double size, double symbolLineWidth, QColor color, QColor fillColor); +JKQTP_LIB_EXPORT void JKQTPPlotSymbol(JKQTPEnhancedPainter& painter, double x, double y, JKQTPGraphSymbols symbol, double size, double symbolLineWidth, QColor color, QColor fillColor); /*! \brief plot the specified symbol at pixel position x,y \ingroup jkqtptools_drawing @@ -57,7 +52,7 @@ LIB_EXPORT void JKQTPPlotSymbol(JKQTPEnhancedPainter& painter, double x, double \param color color of the symbol lines \param fillColor color of the symbol filling */ -LIB_EXPORT void JKQTPPlotSymbol(QPaintDevice& paintDevice, double x, double y, JKQTPGraphSymbols symbol, double size, double symbolLineWidth, QColor color, QColor fillColor); +JKQTP_LIB_EXPORT void JKQTPPlotSymbol(QPaintDevice& paintDevice, double x, double y, JKQTPGraphSymbols symbol, double size, double symbolLineWidth, QColor color, QColor fillColor); /*! \brief plot an arrow between positions (x1,y1) and (x2,y2) @@ -74,7 +69,7 @@ LIB_EXPORT void JKQTPPlotSymbol(QPaintDevice& paintDevice, double x, double y, J \param color color of the symbol lines \param fillColor color of the symbol filling */ -//LIB_EXPORT void JKQTPPlotArrow(JKQTPEnhancedPainter& painter, int x, int y, JKQTPGraphSymbols symbol, double size, double symbolLineWidth, QColor color, QColor fillColor); +//JKQTP_LIB_EXPORT void JKQTPPlotArrow(JKQTPEnhancedPainter& painter, int x, int y, JKQTPGraphSymbols symbol, double size, double symbolLineWidth, QColor color, QColor fillColor); /*! \brief draw an ellipse without setting pen or brush, or saving the painter! @@ -94,7 +89,7 @@ LIB_EXPORT void JKQTPPlotSymbol(QPaintDevice& paintDevice, double x, double y, J \note all angles are given in degrees [0..360] */ -LIB_EXPORT QVector JKQTPDrawEllipse(double x, double y, double a, double b, double angle_start=0, double angle_end=360, double alpha=0, int controlPoints=180, QPointF* x_start=nullptr, QPointF* x_end=nullptr); +JKQTP_LIB_EXPORT QVector JKQTPDrawEllipse(double x, double y, double a, double b, double angle_start=0, double angle_end=360, double alpha=0, int controlPoints=180, QPointF* x_start=nullptr, QPointF* x_end=nullptr); #endif // JKQTPDRAWINGTOOLS_H_INCLUDED diff --git a/lib/jkqtplottertools/jkqtpenhancedpainter.cpp b/lib/jkqtplottertools/jkqtpenhancedpainter.cpp index 00111edd47..78e0586623 100644 --- a/lib/jkqtplottertools/jkqtpenhancedpainter.cpp +++ b/lib/jkqtplottertools/jkqtpenhancedpainter.cpp @@ -22,11 +22,6 @@ Copyright (c) 2008-2019 Jan W. Krieger () - -/** \file jkqtptools.cpp - * \ingroup jkqtptools - */ - #include "jkqtplottertools/jkqtpenhancedpainter.h" diff --git a/lib/jkqtplottertools/jkqtpenhancedpainter.h b/lib/jkqtplottertools/jkqtpenhancedpainter.h index f404c55b2d..44fcf07250 100644 --- a/lib/jkqtplottertools/jkqtpenhancedpainter.h +++ b/lib/jkqtplottertools/jkqtpenhancedpainter.h @@ -17,10 +17,6 @@ along with this program. If not, see . */ -/** \file jkqtpenhancedpainter.h - * \ingroup jkqtptools_drawing - */ - #ifndef JKQTPENHANCED_PAINTERS_H #define JKQTPENHANCED_PAINTERS_H @@ -34,7 +30,7 @@ */ -class LIB_EXPORT JKQTPEnhancedPainter : public QPainter { +class JKQTP_LIB_EXPORT JKQTPEnhancedPainter : public QPainter { Q_GADGET public: JKQTPEnhancedPainter(QPaintDevice* device); diff --git a/lib/jkqtplottertools/jkqtphighrestimer.h b/lib/jkqtplottertools/jkqtphighrestimer.h index 7a429c59db..76a2a56f65 100644 --- a/lib/jkqtplottertools/jkqtphighrestimer.h +++ b/lib/jkqtplottertools/jkqtphighrestimer.h @@ -19,10 +19,6 @@ -/** \file jkqtphighrestimer.h - * \ingroup jkqtptools_debugging - */ - #include #include #include diff --git a/lib/jkqtplottertools/jkqtpimagetools.h b/lib/jkqtplottertools/jkqtpimagetools.h index 3ee55c5f6d..23aa83d324 100644 --- a/lib/jkqtplottertools/jkqtpimagetools.h +++ b/lib/jkqtplottertools/jkqtpimagetools.h @@ -540,7 +540,7 @@ inline QList JKQTPImagePlot_makeQList(const T& defaultVal, int N=1) { \a lut needs to have \c lut_size) entries */ -void LIB_EXPORT JKQTPImagePlot_buildDefinedPaletteLinInterpolate(int* lut, QList > items, int lut_size=JKQTPImagePlot_LUTSIZE); +void JKQTP_LIB_EXPORT JKQTPImagePlot_buildDefinedPaletteLinInterpolate(int* lut, QList > items, int lut_size=JKQTPImagePlot_LUTSIZE); /*! \brief build a linearly interpolated palette in \a lut with \a N entries that are provided as (double, QRgb) value pairss in the variable arguments \ingroup jkqtplotter_imagelots_tools @@ -550,7 +550,7 @@ void LIB_EXPORT JKQTPImagePlot_buildDefinedPaletteLinInterpolate(int* lut, QList \a lut needs to have \c lut_size) entries */ -void LIB_EXPORT JKQTPImagePlot_buildDefinedPaletteLinInterpolate(int* lut, int N, ...); +void JKQTP_LIB_EXPORT JKQTPImagePlot_buildDefinedPaletteLinInterpolate(int* lut, int N, ...); /*! \brief build a palette in \a lut with \a N entries that are provided in \a items \ingroup jkqtplotter_imagelots_tools @@ -560,16 +560,16 @@ void LIB_EXPORT JKQTPImagePlot_buildDefinedPaletteLinInterpolate(int* lut, int N \a lut needs to have \c JKQTPImagePlot_LUTSIZE) entries */ -void LIB_EXPORT JKQTPImagePlot_buildDefinedPalette(int* lut, QList > items); +void JKQTP_LIB_EXPORT JKQTPImagePlot_buildDefinedPalette(int* lut, QList > items); /*! \brief build a palette in \a lut with \a N entries that are provided as as (double, QRgb) value pairss in the variable arguments \ingroup jkqtplotter_imagelots_tools */ -void LIB_EXPORT JKQTPImagePlot_buildDefinedPalette(int* lut, int N, ...); +void JKQTP_LIB_EXPORT JKQTPImagePlot_buildDefinedPalette(int* lut, int N, ...); /*! \brief return a list of all globally available LUTs \ingroup jkqtplotter_imagelots_tools */ -QStringList LIB_EXPORT JKQTPImagePlot_getPredefinedPalettes(); +QStringList JKQTP_LIB_EXPORT JKQTPImagePlot_getPredefinedPalettes(); @@ -577,19 +577,19 @@ QStringList LIB_EXPORT JKQTPImagePlot_getPredefinedPalettes(); \ingroup jkqtplotter_imagelots_tools \internal */ -LIB_EXPORT int* JKQTPImagePlot_getCreateLUT(QList &lutstore, JKQTPMathImageColorPalette palette); +JKQTP_LIB_EXPORT int* JKQTPImagePlot_getCreateLUT(QList &lutstore, JKQTPMathImageColorPalette palette); /*! \brief frees a list of LUTs \ingroup jkqtplotter_imagelots_tools \internal */ -void LIB_EXPORT JKQTPImagePlot_freeLUTs(QList &lutstore); +void JKQTP_LIB_EXPORT JKQTPImagePlot_freeLUTs(QList &lutstore); /*! \brief internal global storage object for lookup-tables \ingroup jkqtplotter_imagelots_tools \internal */ -extern LIB_EXPORT QList global_jkqtpimagetools_lutstore; +extern JKQTP_LIB_EXPORT QList global_jkqtpimagetools_lutstore; /*! \brief convert a 2D image (as 1D array) into a QImage with given palette (see JKQTFPColorPalette) \ingroup jkqtplotter_imagelots_tools @@ -752,31 +752,31 @@ inline void JKQTPImagePlot_array2image(const T* dbl_in, int width, int height, Q /*! \brief generates a QImage with width \a width and height 1 for the i-th color palette (\a i is based on the list returned by JKQTPImagePlot_getPredefinedPalettes() ) \ingroup jkqtplotter_imagelots_tools */ -QImage LIB_EXPORT JKQTPMathImageGetPaletteImage(int i, int width); +QImage JKQTP_LIB_EXPORT JKQTPMathImageGetPaletteImage(int i, int width); /*! \brief generates a QImage with width \a width and height \a height for the i-th color palette (\a i is based on the list returned by JKQTPImagePlot_getPredefinedPalettes() ) \ingroup jkqtplotter_imagelots_tools */ -QImage LIB_EXPORT JKQTPMathImageGetPaletteImage(int i, int width, int height); +QImage JKQTP_LIB_EXPORT JKQTPMathImageGetPaletteImage(int i, int width, int height); /*! \brief generates a QImage with width \a width and height 1 for a specific JKQTPMathImageColorPalette \ingroup jkqtplotter_imagelots_tools */ -QImage LIB_EXPORT JKQTPMathImageGetPaletteImage(JKQTPMathImageColorPalette palette, int width); +QImage JKQTP_LIB_EXPORT JKQTPMathImageGetPaletteImage(JKQTPMathImageColorPalette palette, int width); /*! \brief generates a QImage with width \a width and height \a height for a specific JKQTPMathImageColorPalette \ingroup jkqtplotter_imagelots_tools */ -QImage LIB_EXPORT JKQTPMathImageGetPaletteImage(JKQTPMathImageColorPalette palette, int width, int height); +QImage JKQTP_LIB_EXPORT JKQTPMathImageGetPaletteImage(JKQTPMathImageColorPalette palette, int width, int height); /*! \brief generates a QImage with width \a width and height 1 for a lookup-table \a lut with \a lut_size entries \ingroup jkqtplotter_imagelots_tools */ -QImage LIB_EXPORT JKQTPMathImageGetPaletteImage(int* lut, int lut_size, int width); +QImage JKQTP_LIB_EXPORT JKQTPMathImageGetPaletteImage(int* lut, int lut_size, int width); /*! \brief generates a QImage with width \a width and height \a height for a lookup-table \a lut with \a lut_size entries \ingroup jkqtplotter_imagelots_tools */ -QImage LIB_EXPORT JKQTPMathImageGetAlphaPaletteImage(int* lut, int lut_size, int width, int height); +QImage JKQTP_LIB_EXPORT JKQTPMathImageGetAlphaPaletteImage(int* lut, int lut_size, int width, int height); /*! \brief generates a QIcon for the i-th color palette (\a i is based on the list returned by JKQTPImagePlot_getPredefinedPalettes() ) \ingroup jkqtplotter_imagelots_tools */ -QIcon LIB_EXPORT JKQTPMathImageGetPaletteIcon(int i) ; +QIcon JKQTP_LIB_EXPORT JKQTPMathImageGetPaletteIcon(int i) ; /*! \brief generates a QIcon for a specific JKQTPMathImageColorPalette \ingroup jkqtplotter_imagelots_tools */ -QIcon LIB_EXPORT JKQTPMathImageGetPaletteIcon(JKQTPMathImageColorPalette palette) ; +QIcon JKQTP_LIB_EXPORT JKQTPMathImageGetPaletteIcon(JKQTPMathImageColorPalette palette) ; @@ -785,7 +785,7 @@ QIcon LIB_EXPORT JKQTPMathImageGetPaletteIcon(JKQTPMathImageColorPalette palette /*! \brief if a class is derived from this class, it may use color bars \ingroup jkqtplotter_imagelots_tools */ -class LIB_EXPORT JKQTPColorPaletteTools { +class JKQTP_LIB_EXPORT JKQTPColorPaletteTools { public: JKQTPColorPaletteTools(JKQTBasePlotter *parent); diff --git a/lib/jkqtplottertools/jkqtpmathparser.cpp b/lib/jkqtplottertools/jkqtpmathparser.cpp index be882937e4..8afdbe3d20 100644 --- a/lib/jkqtplottertools/jkqtpmathparser.cpp +++ b/lib/jkqtplottertools/jkqtpmathparser.cpp @@ -19,10 +19,6 @@ -/** \file jkqtpmathparser.cpp - * \ingroup jkmp - */ - #define COMPILING_THIS_JKMATHPARSER #include "jkqtplottertools/jkqtpmathparser.h" // class's header file #include diff --git a/lib/jkqtplottertools/jkqtpmathparser.h b/lib/jkqtplottertools/jkqtpmathparser.h index 4e4c40acdf..0b922fe1e0 100644 --- a/lib/jkqtplottertools/jkqtpmathparser.h +++ b/lib/jkqtplottertools/jkqtpmathparser.h @@ -38,15 +38,11 @@ * \ingroup jkmp */ - /** +/** * \defgroup jkmpErrorhandling error handling * \ingroup jkmp */ -/** \file jkqtpmathparser.h - * \ingroup jkmp - */ - #include #include #include diff --git a/lib/jkqtplottertools/jkqtptools.cpp b/lib/jkqtplottertools/jkqtptools.cpp index 7c0114cdfe..d3c0edf268 100644 --- a/lib/jkqtplottertools/jkqtptools.cpp +++ b/lib/jkqtplottertools/jkqtptools.cpp @@ -21,12 +21,6 @@ Copyright (c) 2008-2019 Jan W. Krieger () - - -/** \file jkqtptools.cpp - * \ingroup jkqtptools - */ - #include "jkqtplottertools/jkqtptools.h" #include "jkqtplottertools/jkqtpenhancedpainter.h" #include diff --git a/lib/jkqtplottertools/jkqtptools.h b/lib/jkqtplottertools/jkqtptools.h index 0d7fd71e5f..51d24e3e0b 100644 --- a/lib/jkqtplottertools/jkqtptools.h +++ b/lib/jkqtplottertools/jkqtptools.h @@ -18,10 +18,6 @@ */ -/** \file jkqtptools.h - * \ingroup jkqtptools - */ - #ifndef JKQTPTOOLS_H_INCLUDED #define JKQTPTOOLS_H_INCLUDED @@ -96,21 +92,21 @@ inline bool JKQTPIsOKFloat(T v) { /** \brief converts a QT::PenStyle into a string * \ingroup jkqtptools */ -LIB_EXPORT QString jkqtp_QPenStyle2String(Qt::PenStyle style); +JKQTP_LIB_EXPORT QString jkqtp_QPenStyle2String(Qt::PenStyle style); /** \brief converts a QString into a Qt::PenStyle * \ingroup jkqtptools */ -LIB_EXPORT Qt::PenStyle jkqtp_String2QPenStyle(const QString& style); +JKQTP_LIB_EXPORT Qt::PenStyle jkqtp_String2QPenStyle(const QString& style); /** \brief converts a QT::BrushStyle into a string * \ingroup jkqtptools */ -LIB_EXPORT QString jkqtp_QBrushStyle2String(Qt::BrushStyle style); +JKQTP_LIB_EXPORT QString jkqtp_QBrushStyle2String(Qt::BrushStyle style); /** \brief converts a QString into a Qt::BrushStyle * \ingroup jkqtptools */ -LIB_EXPORT Qt::BrushStyle jkqtp_String2QBrushStyle(const QString& style); +JKQTP_LIB_EXPORT Qt::BrushStyle jkqtp_String2QBrushStyle(const QString& style); @@ -128,12 +124,12 @@ enum JKQTPCADrawMode { /** \brief converts a JKQTPCADrawMode variable into a human-readable string * \ingroup jkqtptools */ -LIB_EXPORT QString JKQTPCADrawMode2String(JKQTPCADrawMode pos); +JKQTP_LIB_EXPORT QString JKQTPCADrawMode2String(JKQTPCADrawMode pos); /** \brief converts a string into a JKQTPCADrawMode * \ingroup jkqtptools */ -LIB_EXPORT JKQTPCADrawMode String2JKQTPCADrawMode(const QString& pos); +JKQTP_LIB_EXPORT JKQTPCADrawMode String2JKQTPCADrawMode(const QString& pos); /** \brief display mode for the axis labels @@ -160,23 +156,23 @@ enum JKQTPLabelTickMode { /** \brief converts a JKQTPLabelTickMode variable into a human-readable string * \ingroup jkqtptools */ -LIB_EXPORT QString JKQTPLabelTickMode2String(JKQTPLabelTickMode pos); +JKQTP_LIB_EXPORT QString JKQTPLabelTickMode2String(JKQTPLabelTickMode pos); /** \brief converts a string into a JKQTPLabelTickMode * \ingroup jkqtptools */ -LIB_EXPORT JKQTPLabelTickMode String2JKQTPLabelTickMode(const QString& pos); +JKQTP_LIB_EXPORT JKQTPLabelTickMode String2JKQTPLabelTickMode(const QString& pos); /** \brief converts a JKQTPCALabelType variable into a human-readable string * \ingroup jkqtptools */ -LIB_EXPORT QString JKQTPCALabelType2String(JKQTPCALabelType pos); +JKQTP_LIB_EXPORT QString JKQTPCALabelType2String(JKQTPCALabelType pos); /** \brief converts a string into a JKQTPCALabelType * \ingroup jkqtptools */ -LIB_EXPORT JKQTPCALabelType String2JKQTPCALabelType(const QString& pos); +JKQTP_LIB_EXPORT JKQTPCALabelType String2JKQTPCALabelType(const QString& pos); /** \brief position of the axis labels * \ingroup jkqtptools @@ -191,12 +187,12 @@ enum JKQTPLabelPosition { /** \brief converts a JKQTPLabelPosition variable into a human-readable string * \ingroup jkqtptools */ -LIB_EXPORT QString JKQTPLabelPosition2String(JKQTPLabelPosition pos); +JKQTP_LIB_EXPORT QString JKQTPLabelPosition2String(JKQTPLabelPosition pos); /** \brief converts a string into a JKQTPLabelPosition * \ingroup jkqtptools */ -LIB_EXPORT JKQTPLabelPosition String2JKQTPLabelPosition(const QString& pos); +JKQTP_LIB_EXPORT JKQTPLabelPosition String2JKQTPLabelPosition(const QString& pos); /** \brief position of the key * \ingroup jkqtptools @@ -220,12 +216,12 @@ enum JKQTPKeyPosition { /** \brief converts a JKQTPLabelPosition variable into a human-readable string * \ingroup jkqtptools */ -LIB_EXPORT QString JKQTPKeyPosition2String(JKQTPKeyPosition pos); +JKQTP_LIB_EXPORT QString JKQTPKeyPosition2String(JKQTPKeyPosition pos); /** \brief converts a string into a JKQTPLabelPosition * \ingroup jkqtptools */ -LIB_EXPORT JKQTPKeyPosition String2JKQTPKeyPosition(const QString& pos); +JKQTP_LIB_EXPORT JKQTPKeyPosition String2JKQTPKeyPosition(const QString& pos); /** \brief layout of the key * \ingroup jkqtptools @@ -240,12 +236,12 @@ enum JKQTPKeyLayout { /** \brief converts a JKQTPKeyLayout variable into a human-readable string * \ingroup jkqtptools */ -LIB_EXPORT QString JKQTPKeyLayout2String(JKQTPKeyLayout pos); +JKQTP_LIB_EXPORT QString JKQTPKeyLayout2String(JKQTPKeyLayout pos); /** \brief converts a String into a JKQTPKeyLayout * \ingroup jkqtptools */ -LIB_EXPORT JKQTPKeyLayout String2JKQTPKeyLayout(const QString& pos); +JKQTP_LIB_EXPORT JKQTPKeyLayout String2JKQTPKeyLayout(const QString& pos); @@ -300,12 +296,12 @@ enum JKQTPErrorPlotstyle { /** \brief converts a JKQTPErrorPlotstyle variable into a human-readable string * \ingroup jkqtptools */ -LIB_EXPORT QString JKQTPErrorPlotstyle2String(JKQTPErrorPlotstyle pos); +JKQTP_LIB_EXPORT QString JKQTPErrorPlotstyle2String(JKQTPErrorPlotstyle pos); /** \brief converts a String into a JKQTPErrorPlotstyle * \ingroup jkqtptools */ -LIB_EXPORT JKQTPErrorPlotstyle String2JKQTPErrorPlotstyle(const QString& pos); +JKQTP_LIB_EXPORT JKQTPErrorPlotstyle String2JKQTPErrorPlotstyle(const QString& pos); /** \brief plot styles for a graph * \ingroup jkqtptools @@ -356,16 +352,16 @@ enum JKQTPGraphSymbols { /** \brief converts a JKQTPGraphSymbols variable into a identifier string * \ingroup jkqtptools */ -LIB_EXPORT QString JKQTPGraphSymbols2String(JKQTPGraphSymbols pos); +JKQTP_LIB_EXPORT QString JKQTPGraphSymbols2String(JKQTPGraphSymbols pos); /** \brief converts a JKQTPGraphSymbols variable into a human-readable string * \ingroup jkqtptools */ -LIB_EXPORT QString JKQTPGraphSymbols2NameString(JKQTPGraphSymbols pos); +JKQTP_LIB_EXPORT QString JKQTPGraphSymbols2NameString(JKQTPGraphSymbols pos); /** \brief converts a String into a JKQTPGraphSymbols * \ingroup jkqtptools */ -LIB_EXPORT JKQTPGraphSymbols String2JKQTPGraphSymbols(const QString& pos); +JKQTP_LIB_EXPORT JKQTPGraphSymbols String2JKQTPGraphSymbols(const QString& pos); /** \brief convert a double to a string, using the loacle "C" @@ -395,7 +391,7 @@ inline QString JKQTPDoubleToQString(double value, int prec = 10, char f = 'g', Q /** \brief rotate a rectangle by given angle (rotates all points around the center of the rectangle and returns it as a QPolygonF) * \ingroup jkqtptools */ -LIB_EXPORT QPolygonF jkqtpRotateRect(QRectF r, double angle); +JKQTP_LIB_EXPORT QPolygonF jkqtpRotateRect(QRectF r, double angle); @@ -500,7 +496,7 @@ inline void jkqtpSort(T* input, T2* input2, int N, T* output=nullptr, T2* output /** \brief RAII construct that times its lifetime, outputting properly indented qDebug()-message * \ingroup jkqtptools_debugging */ -class LIB_EXPORT JKQTPAutoOutputTimer : public QElapsedTimer +class JKQTP_LIB_EXPORT JKQTPAutoOutputTimer : public QElapsedTimer { public: explicit JKQTPAutoOutputTimer(const QString& message); @@ -516,61 +512,61 @@ class LIB_EXPORT JKQTPAutoOutputTimer : public QElapsedTimer /** \brief convert a string to lower-case characters * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_tolower(const std::string& s); +JKQTP_LIB_EXPORT std::string jkqtp_tolower(const std::string& s); /** \brief convert a string to a boolean * \ingroup jkqtptools_string */ -LIB_EXPORT bool jkqtp_strtobool(const std::string& data); +JKQTP_LIB_EXPORT bool jkqtp_strtobool(const std::string& data); /** \brief convert a string to upper-case * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_toupper(const std::string& s); +JKQTP_LIB_EXPORT std::string jkqtp_toupper(const std::string& s); /** \brief std::string wrapper around sprintf() * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_format(const std::string& templ, ...); +JKQTP_LIB_EXPORT std::string jkqtp_format(const std::string& templ, ...); /** \brief convert a number of bytes to a string, formatting e.g. 1024 as 1kB, ... * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_bytestostr(double bytes); +JKQTP_LIB_EXPORT std::string jkqtp_bytestostr(double bytes); /** \brief convert an integer to a string * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_inttostr(long data); +JKQTP_LIB_EXPORT std::string jkqtp_inttostr(long data); /** \brief convert an integer to a hex string * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_inttohex(long data); +JKQTP_LIB_EXPORT std::string jkqtp_inttohex(long data); /** \brief convert an unsigned int to a string * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_uinttostr(unsigned long data); +JKQTP_LIB_EXPORT std::string jkqtp_uinttostr(unsigned long data); /** \brief convert a double to a string * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_floattostr(double data, int past_comma=-1, bool remove_trail0=false, double belowIsZero=1e-16); +JKQTP_LIB_EXPORT std::string jkqtp_floattostr(double data, int past_comma=-1, bool remove_trail0=false, double belowIsZero=1e-16); /** \brief convert a double to a string, encoding powers of ten as characters, e.g. \c jkqtp_floattounitstr(1000,"g") will result in "1kg" * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_floattounitstr(double dataa, const std::string& unitname); +JKQTP_LIB_EXPORT std::string jkqtp_floattounitstr(double dataa, const std::string& unitname); /** \brief convert a boolean to a string * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_booltostr(bool data); +JKQTP_LIB_EXPORT std::string jkqtp_booltostr(bool data); /** \brief converts a RGBA color into a string * \ingroup jkqtptools_string * * This returns a QString which contains the name of named colors and the RGBA values in a QT readable form othertwise. */ -LIB_EXPORT std::string jkqtp_rgbtostring(unsigned char r, unsigned char g, unsigned char b, unsigned char a=255); +JKQTP_LIB_EXPORT std::string jkqtp_rgbtostring(unsigned char r, unsigned char g, unsigned char b, unsigned char a=255); /** \brief converts a QColor into a string using the jkqtp_rgbtostring() method. * \ingroup jkqtptools_string @@ -584,24 +580,24 @@ inline QString jkqtp_QColor2String(QColor color) { /** \brief clean a string to be usable as a variable name, e.g. in an expression parser, or a C++-expression * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_to_valid_variable_name(const std::string& input); +JKQTP_LIB_EXPORT std::string jkqtp_to_valid_variable_name(const std::string& input); /** \brief convert a double to a string, encoding powers of ten as characters, e.g. \c jkqtp_floattounitstr(1000) will result in "1k" * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_floattounitstr(double data, int past_comma=5, bool remove_trail0=false); +JKQTP_LIB_EXPORT std::string jkqtp_floattounitstr(double data, int past_comma=5, bool remove_trail0=false); /** \brief convert a double to a string, encoding powers of ten as exponent in LaTeX notation (e.g. -1.23\cdot 10^{-5}) * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_floattolatexstr(double data, int past_comma=5, bool remove_trail0=false, double belowIsZero=1e-16, double minNoExponent=1e-3, double maxNoExponent=1e4); +JKQTP_LIB_EXPORT std::string jkqtp_floattolatexstr(double data, int past_comma=5, bool remove_trail0=false, double belowIsZero=1e-16, double minNoExponent=1e-3, double maxNoExponent=1e4); /** \brief convert a double to a string, encoding powers of ten as exponent with HTML tags * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_floattohtmlstr(double data, int past_comma=5, bool remove_trail0=false, double belowIsZero=1e-16, double minNoExponent=1e-3, double maxNoExponent=1e4); +JKQTP_LIB_EXPORT std::string jkqtp_floattohtmlstr(double data, int past_comma=5, bool remove_trail0=false, double belowIsZero=1e-16, double minNoExponent=1e-3, double maxNoExponent=1e4); /** \brief convert a character to a string * \ingroup jkqtptools_string */ -LIB_EXPORT std::string jkqtp_chartostr(char data); +JKQTP_LIB_EXPORT std::string jkqtp_chartostr(char data); /** \brief wandelt einen Datentyp in einen double um, wird von JKQTPDatastore zur Wandlung benutzt * \ingroup jkqtptools @@ -640,11 +636,11 @@ enum JKQTPStepType { /** \brief converts a JKQTPStepType variable into a human-readable string * \ingroup jkqtptools */ -LIB_EXPORT QString JKQTPStepType2String(JKQTPStepType pos); +JKQTP_LIB_EXPORT QString JKQTPStepType2String(JKQTPStepType pos); /** \brief converts a String into a JKQTPStepType * \ingroup jkqtptools */ -LIB_EXPORT JKQTPStepType String2JKQTPStepType(const QString& pos); +JKQTP_LIB_EXPORT JKQTPStepType String2JKQTPStepType(const QString& pos); #endif // JKQTPTOOLS_H_INCLUDED diff --git a/lib/jkqtplottertools/jkqttools.cpp b/lib/jkqtplottertools/jkqttools.cpp index c8af5faea0..32c1954d21 100644 --- a/lib/jkqtplottertools/jkqttools.cpp +++ b/lib/jkqtplottertools/jkqttools.cpp @@ -97,7 +97,7 @@ QString jkVariantListToString(const QList& data, const QString& separa return r; } -LIB_EXPORT QString jkqtp_filenameize(const QString& data) { +JKQTP_LIB_EXPORT QString jkqtp_filenameize(const QString& data) { QString r; QString data1=data.simplified(); for (int i=0; i to a string \ingroup jkqtpjkqtptools_qt */ -LIB_EXPORT QString jkVariantListToString(const QList& data, const QString& separator=QString(", ")); +JKQTP_LIB_EXPORT QString jkVariantListToString(const QList& data, const QString& separator=QString(", ")); /*! \brief filename-ize a string, i.e. replace every non-number and non-character (and also not _ -) character to \c _ \ingroup tools */ -LIB_EXPORT QString jkqtp_filenameize(const QString& data); +JKQTP_LIB_EXPORT QString jkqtp_filenameize(const QString& data); /** \brief create a valid variable name from the string, i.e. a string with only characters and digits and \c '_'. ALso the first character has to be a charcter. \ingroup tools */ -LIB_EXPORT QString jkqtp_toValidVariableName(const QString& input); +JKQTP_LIB_EXPORT QString jkqtp_toValidVariableName(const QString& input); #endif // JKQTTOOLS_H diff --git a/screenshots/test_multiplot_controlwindow.png b/screenshots/test_multiplot_controlwindow.png new file mode 100644 index 0000000000000000000000000000000000000000..75c6fe3f56f38973dd66244c1a76a3410c573fe2 GIT binary patch literal 78825 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

jRk}STW5QoK(KSKD1k-#@*V= z{TJZ3w6r)+tfuUO6u#3`!RI0gH7WMzQa9q84Z ziKAb4OG;MUo&M+uE%$KqMZk@u>!x-`6eAFi^0?X@)y$W5m&z~P4zM~T+ftl+(IxO* zr0_3h3nB;}KDg&Ga4O&#f=IIj&b~TG-68?A0xBw-vm+RAK0F!vlrGA9?3xfK?Ba3( zNQbvT;QM>0wv7aj*1X%GUd8YXSJJknbh*3n^mL*P*68!NgSGEw{IDNpTHojsX>8mx zqRE!(J{tN%M%D=9F!ip#5Dq$&@29U~=QCuKbbeT<=0>_>YlXIthX?{=RaWX6^1W$& zZ^*_-Qt%X#-C-4Qml>O>V{L0uF?IABq>+)l1jw5<>1;?|Oumaa+adUX2s2-{Eu7+6l!Ma-U3>KdwRXk>tP#}kCOsJtuW0mg0Hyz&$h zM-G%pCN=#u1@ISKc7E#GsUCFc<@FgQFktU4*!O~%fKR;85Q{#+ToRgvIscV|m}l;l zmRK)$(?u8-YgMh9mns1$*CMG66qahzY_=&|51M3-+ ze!UdiXtO?zVoDN^;}_o5k?(;Kp7M6%r zYcIHgfdO_Scq@MQ%j0NT)htCaULpo^a&my5xmtM4ay2pUYW+nEXWXst$@q{af^^IZqdTbE zcK1^)fv#acCoxDTO<^LbgiG;qlZ_}fovCjDqPGRvd->sIQ`3vk?2()ZiF0s7oQ(J~ zfRF=VOdi~D08$;OtrwVW!^uUT$R|_+yRW*_Lttwy2Siq90#I)D#j~w7oXzUiydief zhDY@A@e#PYJ_0T|l{gMtI7*2R=fH}wg9iibH=bxd{j-E3c<@N*575xEU5GRawGP@a z1c85f`2i5m5hKMxK^veK6!obq^d@dPUkoiX`Zftc7{~hQ3H0RbeXypEt3B}m*7;k4 zTG>W`IabpE>s<`+r#Kjg+BCjmf`BUxzAY8p$@ou z`uVZdmo1?UDrbgfGtPe4cmKE&&Orm2F*-QSH7k|D4~CsAG{E^lezh+hy+#ha+Et;p9>S%u{;?%`R*Y)TqDF5q#6y*gnEJ|SF5xr&OC0eSg6 zAje%|Vzg7GT{mznQ`g&4$zAaJHP7Z0$B^Skk06EPhgyTUebyeIaK-+bJwIa0Vq*%v z#wMf6>ju|iuu~(hr-H9?bJGH;u~aJxL-fGQ#*(f%GY&;gEw#}IA4)Lj?G`(4JYn_$Lw2+lLO%@vmK$sre7dnw5hSdv ztlqpSwv_a00D>WO5iX`^Qax(~tJ-`wp4Y`z8h^+w@FL=`@DsaX>ZoYM;nQ8Y0-1gQa)_>lv zX7c=*rbFj^8%Bjii0+)B@H8BDhXOCR|HZy2gif}yv16faRt@kXNf}{@1;w9s#L<7@ zK4-I;+C&K-d&hn@;=8WypuXXBjL#bzI+q#y^2H8xMM*y<%ibYew0czCP;NR4Y2a5_ z6UjrsYMfOvyuhk=g{2*to_=AVD9F1H4?y;1=NI(~@L{Nep_@4Wc{sIXB?GMIHYRgQ z2(H1pfu(>91gadbpq^%=8Xp#G_J|UL)7#EYft+Ujx+;=^)2<4lS{-8yHbIxbkV$W zOzLNj@g8hn`a8$!%lpeiz8HgN1}n?^bOm3EzT6$(VwTO+95=qP=hU_8C#$BS zdc02Wqp5}utqyqXV*$fxV&d-!PKX_8eFdvys`cCeGSJUebNjA#!Pyx&@DHE!DQ?jx zJ^c>CMl=GuVCZD!M{~>(*&ZIte?;r;l}{Lr9gSTLxa3Jzm>Qf$m{L`ZY{4*oiF3h8 z&5d%Mv2>o}`1$xaN)*`Rq0`?FjkBE^LwE7K;$4?JJY{Xnz>Sl(GYlH69UwffNE8B2 zXO@+fhIMHEOr+&E7i4IIvDa&C(t}a*?xE{a_7F3pC1a+3n31999Cbm_*GK`xyJeRh zNR!cSUAK&J#GEeOK2Yw1F*gRh8M2@;p

#}5G2M95 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 z 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 literal 0 HcmV?d00001 diff --git a/sharedlib/jkqtfastplotterlib_sharedlib.pro b/sharedlib/jkqtfastplotterlib_sharedlib.pro index bdaed56870..8362a2626f 100644 --- a/sharedlib/jkqtfastplotterlib_sharedlib.pro +++ b/sharedlib/jkqtfastplotterlib_sharedlib.pro @@ -6,8 +6,8 @@ CONFIG+=dll CONFIG += create_prl win32 { - DEFINES += LIB_IN_DLL - DEFINES += LIB_EXPORT_LIBRARY + DEFINES += JKQTP_LIB_IN_DLL + DEFINES += JKQTP_LIB_EXPORT_LIBRARY } include(../lib/jkqtfastplotter.pri) diff --git a/sharedlib/jkqtmathtextlib_sharedlib.pro b/sharedlib/jkqtmathtextlib_sharedlib.pro index 5d21df135c..07e75339cb 100644 --- a/sharedlib/jkqtmathtextlib_sharedlib.pro +++ b/sharedlib/jkqtmathtextlib_sharedlib.pro @@ -6,8 +6,8 @@ CONFIG+=dll CONFIG += create_prl win32 { - DEFINES += LIB_IN_DLL - DEFINES += LIB_EXPORT_LIBRARY + DEFINES += JKQTP_LIB_IN_DLL + DEFINES += JKQTP_LIB_EXPORT_LIBRARY } include(../lib/jkqtmathtext.pri) diff --git a/sharedlib/jkqtplotterlib_sharedlib.pro b/sharedlib/jkqtplotterlib_sharedlib.pro index 809d3b3d4b..46f7111e8e 100644 --- a/sharedlib/jkqtplotterlib_sharedlib.pro +++ b/sharedlib/jkqtplotterlib_sharedlib.pro @@ -6,8 +6,8 @@ CONFIG += dll CONFIG += create_prl win32 { - DEFINES += LIB_IN_DLL - DEFINES += LIB_EXPORT_LIBRARY + DEFINES += JKQTP_LIB_IN_DLL + DEFINES += JKQTP_LIB_EXPORT_LIBRARY } include(../lib/jkqtplotter.pri)