Commit Graph

361 Commits

Author SHA1 Message Date
jkriege2
1cbba3f5d1 FIXED: implemented missing JKQTPGeoArrow constructors 2023-07-21 19:32:47 +02:00
jkriege2
b188d95c01 implemented complex syntax in JKQTPColorDerivationMode::fromString() 2023-07-21 19:30:56 +02:00
jkriege2
ed8b23d7cf FIXED: JKQTPGeoEllipse is now correctly drawn with a nonzero angle 2023-07-21 19:27:57 +02:00
jkriege2
7eca9f7c8b - corrected size of internal image buffer --> fixes strange rendering with distortions (especially in text!)
- added missing override declarations
- JKQTPlotter::jkqtp_RESIZE_DELAY is thread-safe now (atomic)
2023-07-21 19:19:50 +02:00
jkriege2
4c1668e50d fixed String2JKQTPMouseDragActions(): some wrong strings 2023-07-04 19:38:39 +02:00
jkriege2
aee3b23696 UPDATED included styles INI-files + automatic generation of style.ini documentations 2023-07-02 23:01:56 +02:00
jkriege2
dfa29b7b81 fixed compile issues 2023-07-01 23:33:57 +02:00
jkriege2
a492b75724 updated default style parameters (more modern) 2023-07-01 23:23:35 +02:00
jkriege2
d23ea0a79e fix issue #96: JKQTPlotter::saveAsPixelImage() does not add a border around the image any longer (can be reacivated by a new optional function parameter) 2023-07-01 22:27:00 +02:00
jkriege2
a1408ccbd0 JKQTMathText: Update several layouting nodes (especially braces) 2023-07-01 15:57:57 +02:00
jkriege2
3b136c7320 fixed some compile errors in static initialization 2023-07-01 14:44:46 +02:00
jkriege2
3fc8951851 made more STATIC data members thread_local or secured them by a std::mutex. This was at least JKQTMathText and JKQTBasePlotter should be usable in several threads 2023-06-30 13:52:17 +02:00
jkriege2
cd77d38a5b IMPROVED handling of JKQTPMouseWheelActions::jkqtpmwaZoomByWheelAndTrackpadPan: now consecutive pan-actions are recognizes as such, even if the pan-delta is larger than the predefined limit ... as long as the events were generated close in time to each other! 2023-06-18 15:13:24 +02:00
jkriege2
9762b44b7d IMPROVED/REWORKED: zomm/pan by mouse-wheel: now there are modes that support zoomin AND panning by trakpad and mouse-wheel simultaneously! 2023-06-16 13:41:47 +02:00
jkriege2
5240cf8681 removed unneeded #include 2023-06-11 16:39:13 +02:00
jkriege2
d1e493fc73 fixed issue #98: Signal JKQTPlotter::plotMouseWheelOperated() was called with wrong x/y-position-coordinates 2023-06-11 16:32:10 +02:00
jkriege2
ebd1a29e1d BREAKING: Implement better/more access functions to the graphs (inlcuding sorting, moving up/down, appending/prepending, graphs-iterators ...), solves issue #97 2023-05-27 23:46:45 +02:00
jkriege2
fc642b6cac bugfixed QSet-initialization 2023-03-23 14:53:23 +01:00
jkriege2
f61b46b96b NEW: secondary axes: added functionality to manage additional secondary axes in a JKQTPBasePlotter and to select which x-/y-Axis to use for drawing a JKQTPPlotElement, see also issue #87 2023-03-23 13:55:18 +01:00
jkriege2
8b482a191c renamed sub-library JKQTCommonMathAndStatistics to JKATMath. This results in shorter filenames 2023-03-15 14:59:34 +01:00
doug1234
2bc76761a0 Fixed the one VS warning I found (warning level 4) 2023-01-28 10:55:17 -05:00
jkriege2
3132eb0102 refactorings, code improvements, no functional changes 2022-11-03 15:48:48 +01:00
jkriege2
8c36ce2196 NEW: barcharts and impulse graphs may now draw their baseline as stylable line (default: off) 2022-10-31 20:34:01 +01:00
jkriege2
3736747173 docfix 2022-10-30 22:01:06 +01:00
jkriege2
972bc6c1e0 NEW: you can provide a custom draw functor to barcharts to completely customize their look 2022-10-28 21:48:42 +02:00
jkriege2
d59f5e6692 docfix 2022-10-22 21:07:14 +02:00
jkriege2
c6ac8a8cc4 NEW: barcharts can be colored by a user-specified functor 2022-10-22 16:40:44 +02:00
jkriege2
c2e2ca1af7 BUGFIX: JKQTPCALTslashfrac didn't work 2022-10-09 12:27:01 +02:00
jkriege2
ddcc9ea462 BUGFIX: Error for PDBs when building STATIC libs on MSVC
BUGFIX: a variable in the ...Config.cmake-files was not set correctly
2022-10-06 11:54:18 +02:00
jkriege2
62f27ce9c1 NEW: When using a MSVC compiler, the generated PDB files are installed to CMAKE_INSTALL_PREFIX/bin/ 2022-10-05 21:52:19 +02:00
jkriege2
7b715541e7 bugfixed parantheses for JKQTPCALTintslashfrac labels + some Codiga-Violations 2022-09-28 01:46:19 +02:00
jkriege2
ce3f25e044 added new JKQTPCALabelType element JKQTPCALTformat for general formatting with a std::format-format string (available for C++>=20 only!!!) 2022-09-28 00:59:57 +02:00
jkriege2
71314496a0 minor bugfixes 2022-09-27 01:55:37 +02:00
jkriege2
2da8553e5d NEW: barcharts may hav rounded corners now, via JKQTPBarGraphBase::setRectRadius() 2022-09-27 01:42:54 +02:00
jkriege2
153c80d64b docfix 2022-09-26 23:16:28 +02:00
jkriege2
3de1df2b94 updated impulse plots & doc 2022-09-26 02:08:01 +02:00
jkriege2
465583b48d bugfixed length of zero line 2022-09-25 21:22:29 +02:00
jkriege2
8855891eea NEW: added option to draw a zero axis to JKQTPCoordinateAxis, which draws an axis at the origin of the coordinate system 2022-09-25 15:34:05 +02:00
jkriege2
e2fba9957e added several setter variants for colors that have the alpha transparency value as separate parameter 2022-09-25 15:23:52 +02:00
jkriege2
1c0d0cb262 updated documentation (better structure & more info) 2022-09-24 20:18:08 +02:00
jkriege2
630b4d02f6 added missing include 2022-09-24 02:10:14 +02:00
jkriege2
efa0db1bbe NEW: added possibility to scale the axis ticks by a factor (e.g. pi) to generate axes with ticks 0pi, 1pi, 2pi ... 2022-09-24 02:06:42 +02:00
jkriege2
bf4aa7ebdb JKQTPCALTprintf for general axis tick formatting with a printf-format string 2022-09-24 00:16:57 +02:00
jkriege2
b536d79aeb bugfix for older Qt versions 2022-09-23 21:45:30 +02:00
jkriege2
d2c2185f9c IMPROVED/REWORKED: reworked JKQTPCADrawMode and coordinate axis drawing so the draw mide can be specified as ORed combination of flags from JKQTPCADrawModeElements, added flags to draw arrows at the end of the axis line
IMPROVED/REWORKED: coordinate axis code was refactored
NEW: all elements of a coordinate axis may have their own color now
2022-09-23 20:43:53 +02:00
jkriege2
a769437ae3 docfix 2022-09-22 01:43:46 +02:00
jkriege2
60a4656dd8 NEW: Added new JKQTPCALabelType elements (JKQTPCALTfrac...), so axis label ticks can be displayed as fractions 1/2 instead of 0.5
NEW: Added new JKQTPCALabelType element JKQTPCALTscientific, so axis label ticks can be displayed as numbers in scientific notation like 1.2E-34
auto-generate JKQTPCALabelType documentation
2022-09-22 00:44:54 +02:00
jkriege2
75db7cff42 dox update/fix 2022-09-19 21:55:12 +02:00
jkriege2
3c22130902 JKQTPlotter: IMPROVED/REWORKED: reworked JKQTPErrorPlotstyle and error indicator plotting so error-inidcators can be specified as ORed combination of flags from JKQTPErrorPlotstyleElements, added additional error indicator styles (half-bars, arrows...) 2022-09-14 22:03:46 +02:00
jkriege2
16df80c8c7 JKQTPlotter: NEW: Added signals JKQTBasePlotter::beforeExporting()/JKQTBasePlotter::afterExporting() and JKQTBasePlotterJKQTBasePlotter:beforePrinting()/JKQTBasePlotter::afterPrinting() which allow to modify the plot just before and just after an export/print 2022-09-12 00:35:45 +02:00
jkriege2
1fb0c540d9 JKQTPlotter:
- FIXED plot-size calculation for filled graphs
  - added example for filled graphs with error indicators
2022-09-11 00:06:47 +02:00
jkriege2
6cc08c2041 JKQTPlotter: NEW: added new error indicator styles JKQTPErrorHalfBarsOutwards, JKQTPErrorHalfBarsInwards, JKQTPErrorHalfBarsAbove, JKQTPErrorHalfBarsBelow which are especially useful for barcharts
JKQTPlotter: added example for barcharts with errorbars
2022-09-11 00:03:31 +02:00
jkriege2
40748de442 JKQTPlotter: NEW: barcharts (derived from JKQTPBarGraphBase) can be configured to use different fill styles above and below the baseline 2022-09-10 14:35:16 +02:00
jkriege2
f11a98779e JKQTPlotter: NEW: added JKQTPXYGraph::setKeyColumn()/JKQTPXYGraph::getKeyColumn() and JKQTPXYGraph::setValueColumn()/JKQTPXYGraph::getValueColumn() and corresponding functions in other classes. 2022-09-10 13:38:29 +02:00
jkriege2
7846bbecf0 JKQTPlotter: added property drawLineInForeground to JKQTPXYLineGraph and JKQTPXYParametrizedScatterGraph 2022-09-07 21:12:26 +02:00
jkriege2
4f73fbbaed JKQTPlottter: added the option to draw a character from a font as symbol (JKQTPCharacterSymbol+QChar('').unicode()) 2022-09-02 14:19:47 +02:00
jkriege2
9f87652b56 updated style.inis 2022-09-01 22:25:28 +02:00
jkriege2
7f206882c1 JKQTPlotter: useNonvisibleLineCompression is off by default 2022-09-01 22:21:24 +02:00
jkriege2
9b5549b8b5 JKQTPlotter: generate High-DPI Icons, where necessary/appropriate 2022-09-01 21:37:50 +02:00
jkriege2
6ebd8743ca JKQTMathText:
- NEW: Added the Fira Math fonts as sans-serif symbol font to the library (as a ressource) and added JKQTMathText::useFiraMath()
  - NEW: Added JKQTMathText::useGuiFonts()</li>
JKQTPlotter:
  - NEW: Using JKQTMathText::useGuiFonts() for FONT rendering by default
2022-09-01 14:36:34 +02:00
jkriege2
4ef29635ea JKQTPlotter: improved plotting speed for line-graphs by drawing a series of single lines instead of a polyline in some cases 2022-08-30 22:24:24 +02:00
jkriege2
eeff6e0036 fixed issue #73: Symbol thickness differs in actual plot and legend 2022-08-30 09:44:40 +02:00
jkriege2
e729ebbc78 docfix 2022-08-29 21:46:38 +02:00
jkriege2
6eba8acbf2 updated many documentation images to auto-generated ones 2022-08-28 22:48:14 +02:00
jkriege2
2aa6c8e3b6 JKQTPlotter: made resize-timer status accessible from outside via JKQTPlotter::isResizeTimerRunning()
made it's delay a global static variable that can be set and red with JKQTPlotter::setGlobalResizeDelay() and JKQTPlotter::getGlobalResizeDelay()
2022-08-28 22:47:46 +02:00
jkriege2
a1604e1eeb added more auto-generated screenshots 2022-08-26 22:32:48 +02:00
jkriege2
b156fc7e40 NEW: added scatter graph JKQTPXYScatterGraph and JKQTPXYScatterErrorGraph 2022-08-26 12:41:42 +02:00
jkriege2
7030475568 NEW: added JKQTBasePlotter::grabPixelImage() and JKQTPlotter::grabPixelImage(), which grab the plotter into a QImage
NEW: added option to not display the preview dialog to JKQTBasePlotter::copyPixelImage() and JKQTPlotter::copyPixelImage()
2022-08-26 12:28:06 +02:00
jkriege2
fdb8ce2d75 JKQTPlotter: REORGANIZED: separated line-graphs from jkqtpscatter.h/.cpp into jkqtplines.h/.cpp 2022-08-25 22:41:41 +02:00
jkriege2
a90cbecd9d added optimized line-drawing to JKQTPSpecialLineGraphBase 2022-08-25 22:33:07 +02:00
jkriege2
064f01d0b0 bugfixed optimized line-drawing 2022-08-25 22:32:34 +02:00
jkriege2
c3afee2c1f replaced QVector<QPointF> by QPolygonfF, as Qt changes from QVector to QList with Qt5->Qt6 2022-08-25 17:46:57 +02:00
jkriege2
586548c7d6 change parent-chld relationships of scatter graphs 2022-08-25 17:34:12 +02:00
jkriege2
f4c4a693e4 bugfix+docfix 2022-08-25 17:25:23 +02:00
jkriege2
c2338c07b1 bugfix 2022-08-25 16:53:44 +02:00
jkriege2
69adb3adfb bugfix 2022-08-25 15:30:39 +02:00
jkriege2
03031e3762 JKQTPlotter:
- NEW: improved plotting speed for line-graphs by a compression algorithm (see JKQTPGraphLinesCompressionMixin) that removes overlaying lines (e.g. in JKQTPXYLineGraph)
    - NEW: improved plotting speed for line-graphs by a clipping algorithm (applies to JKQTPXYLineGraph, JKQTPGraphErrorStyleMixin, JKQTPSpecialLineHorizontalGraph, JKQTPSpecialLineVerticalGraph and others)
    - NEW: improved plotting speed for scatter-graphs by not calling draw functions for symbols outside the plot window (e.g. in JKQTPXYLineGraph)
2022-08-25 15:17:50 +02:00
jkriege2
17b93ab580 improved speed example with more options 2022-08-23 22:12:53 +02:00
jkriege2
676b97a3ca fixed several CMakeLists.txt issues 2022-08-22 20:35:24 +02:00
jkriege2
8993b5ad8d CMake-System bugfix (in exports): added missing find_package(JKQTCommonStatisticsAndMath) 2022-08-22 16:38:30 +02:00
jkriege2
f83a3468b1 JKQTMathText:
- new options interface for JKQTMathText::parse()
  - breaking: removed JKQTMathtext::unparsedNode
  - several minor improvements
2022-08-13 19:43:39 +02:00
jkriege2
7d686f0c9a JKQTMathText:
- BREAKING/REWORKED: The \\verb!...!-command now works the same as in LaTeX
  - NEW: added support for \\begin{verbatim}...\\end{verbatim}, \\begin{verbatim*}...\\end{verbatim*}
2022-08-03 16:12:19 +02:00
jkriege2
f01a198b7b fixed several doxygen errors 2022-07-24 14:50:28 +02:00
jkriege2
c399959774 fixed several (pedantic) compiler warnings
fixed CMake problems
2022-07-23 16:05:13 +02:00
jkriege2
8558896f9b split jkqtcommon into basic tools and jkqtcommon_statistics_and_math for advanced math tools not used by all libs 2022-07-23 15:31:56 +02:00
jkriege2
e923a9de7b improved CMake scripts: better output, less warnings 2022-07-23 13:59:23 +02:00
jkriege2
ae3d3b479d better way to reuse PCH in examples, added CMake-Option to (de)activate PCH-usage 2022-07-22 21:44:16 +02:00
jkriege2
671e25b33b removed some compiler warnings and fixed construction problems 2022-07-22 16:24:24 +02:00
jkriege2
8b6e420c56 bugfix: added #define _USE_MATH_DEFINES needed for msvc to use M_PI, M_LN2... 2022-07-21 12:06:22 +02:00
jkriege2
25c55391ab NEW: Using precompiled headers in CMake-build to speed up build times 2022-07-20 22:31:42 +02:00
jkriege2
c2ddf8af37 improved documentation 2022-07-19 14:44:12 +02:00
jkriege2
74c2e3edf1 improved CMAKE Library Export script 2022-07-19 14:42:41 +02:00
jkriege2
5087970c79 updated copyright notice 2022-07-19 13:40:43 +02:00
jkriege2
ece49f2d2b FIXED issue #80: "Bug with multiple inheritance with Q_GDAGET with CLANG", thanks to user:igormironchik, caused by QTBUG-104874 2022-07-19 10:24:52 +02:00
jkriege2
d8c1524f61 partly solve issue #81 by making print-support optional. In addition it can be switched off with the CMake-option JKQtPlotter_BUILD_FORCE_NO_PRINTER_SUPPORT=ON 2022-07-18 23:33:20 +02:00
jkriege2
285814f2e6 fixed: JKQTMathText added a little whitespace before and after the LaTeX-string. This was removed as it disturbed the layout of text in plots 2022-06-02 23:24:41 +02:00
jkriege2
f33838f187 added debug-feature to show boxes around text in the plot 2022-06-02 23:05:58 +02:00
jkriege2
fd2ae94c6c got rid of deprecated warnings when compiling with Qt6 2022-06-02 21:44:58 +02:00
jkriege2
03497b6c31 changed JKQTPColorDerivationMode from an ENUM to a STRUCT, which extends its capabilities significantly 2022-06-02 21:21:17 +02:00
jkriege2
cf27b77b6b added JKQTMathTextFontSpecifier struct that describes a font and a math companion 2022-06-02 21:19:16 +02:00