jkriege2
4cd8a46245
FIXed drawing of secondary axes (distances betweeen axes were wrong, in part doubled and inside-ticks for secondary axes were not taken into account ... also fixed several minor bugs around this)
2024-01-10 12:35:48 +01:00
jkriege2
fe6ac0e98e
NEW added convenience functions JKQTMathTextNodeSize::getAscents() and JKQTMathTextNodeSize::getHeight() to JKQTMathTextNodeSize
2024-01-10 12:14:39 +01:00
jkriege2
408f38dac1
FIXed some code analysis issues
2024-01-10 11:43:38 +01:00
jkriege2
f096aa9602
fixed several static code analysis warnings and security vulnerabilities
2024-01-10 10:35:43 +01:00
jkriege2
7cf2990f08
REWORKed JKQTPASSERT_M() und JKQTPASSERT() macros (removed unnecessary helper functions)
2024-01-10 10:30:55 +01:00
jkriege2
c03ad2b506
added missing #include
2024-01-09 21:52:35 +01:00
jkriege2
0ae712ad43
REWORKED improved implementation of jkqtp_bounded<T>(TIn v), which now can cope with cases where TIn is signed, but T is unsigned
2024-01-09 17:38:54 +01:00
jkriege2
4a7b6b60d1
FIXed Security Alerts:
...
- https://github.com/jkriege2/JKQtPlotter/security/code-scanning/3
- https://github.com/jkriege2/JKQtPlotter/security/code-scanning/4
- https://github.com/jkriege2/JKQtPlotter/security/code-scanning/5
- https://github.com/jkriege2/JKQtPlotter/security/code-scanning/6
- https://github.com/jkriege2/JKQtPlotter/security/code-scanning/7
- https://github.com/jkriege2/JKQtPlotter/security/code-scanning/8
- https://github.com/jkriege2/JKQtPlotter/security/code-scanning/9
- https://github.com/jkriege2/JKQtPlotter/security/code-scanning/10
2024-01-09 17:38:46 +01:00
jkriege2
e0df1a8f0e
FIXed multiRow/MultiColumn distribution algorithm in JKQTPKey
2024-01-09 14:30:31 +01:00
jkriege2
1b9d0506fd
fix
2024-01-08 21:31:18 +01:00
jkriege2
dde0151cb6
fix typo
2024-01-08 21:13:00 +01:00
jkriege2
66e374a5d9
FIXed typo in JKQTMathTextDecoratedNode (placement of decorations was wrong after one of the last commits) and improved placement
2024-01-08 21:11:32 +01:00
jkriege2
25ff0a1b5b
IMPROVED JKQTMathText rendering of \sfrac and \stfrac
2024-01-08 21:00:30 +01:00
jkriege2
d030cf5f3f
FIX JKQTMathText rendering problem with a combination of numbers and text/symbols (wrong advance was used)
2024-01-08 20:29:02 +01:00
jkriege2
09e07cb12a
NEW/REWORKED: extended the set of functions like JKQTMathTextGetTightBoundingRect(): These use an internal, thread-safe cache and capsule calls to QFontMetricsF-instances. This significantly improves speed in (parallelized) plotting.
2024-01-08 17:16:31 +01:00
jkriege2
3fee9609fb
NEW: Added CMake option JKQtPlotter_BUILD_WITH_TIMING_INFO_OUTPUT, which activates several runtime-measurement guards of type JKQTPAutoOutputTimer (output via qDebug())
2024-01-08 17:14:03 +01:00
jkriege2
07a797ef80
add the thread-ID to the output of JKQTPAutoOutputTimer
2024-01-08 12:53:11 +01:00
jkriege2
26a86df032
NEW JKQTPDataCache class template to generate a (possibly thread-safe) key-value cache
2024-01-08 12:52:50 +01:00
jkriege2
6607432af0
bump required cmake version to 3.16 consistently
2024-01-06 15:37:59 +01:00
jkriege2
9662ed2d69
MODIFIED: Synchronization of JKQTMathText and JKQTBasePlotter over threads: using read/write lockers now and removed some unnecessary mutexes by using a kind of singleton pattern
2024-01-05 23:26:47 +01:00
jkriege2
11b9ac6c8b
FIXing and EXTENDing jkqtplotter_version.h
2024-01-05 21:01:46 +01:00
jkriege2
3b598f49e8
FIXED: missing #include
...
FIXED: jkqtpstatSum() and jkqtpstatSumSqr() did not work, as a non-existing function is called internally
2024-01-05 00:01:11 +01:00
jkriege2
591f0dfe64
FIXED: using QSharedPointer for automatic memory management
2024-01-04 23:59:46 +01:00
jkriege2
d4930d7729
IMPROVED: JKQTPGraphsModel generated High-DPI Icons, if necessary
2023-12-22 21:09:41 +01:00
jkriege2
4017852df4
improved documentation and method grouping in JKQTBasePlotter
2023-12-22 20:58:43 +01:00
jkriege2
36947a4bca
REWORKED JKQTBasePlotter::saveData() with a more consistent interface and a bool return value to indicate success or failure + improved documentation
...
NEW: added two functions to JKQTPSaveDataAdapter
2023-12-22 20:34:32 +01:00
jkriege2
0595fef048
BREAKING/DEPRECATED: deprecated JKQTBasePlotter::zoom() and JKQTPlotter::zoom(), use JKQTBasePlotter::setXY() and JKQTPlotter::setXY() instead
...
NEW: improved documentation of class methods
2023-12-22 20:31:25 +01:00
jkriege2
ae157d928b
FIXED fix implementation for issue #110 from commit 99ff39a3d6
...
The solution did not work with half-open absoluteRanges!
2023-12-22 12:56:09 +01:00
jkriege2
99ff39a3d6
FIXED issue mentioned in https://github.com/jkriege2/JKQtPlotter/pull/110 : Lock the panning action to certain values: View zooms in, when panning close to AbosluteXY</a> (thanks to https://github.com/sim186 for reporting)
2023-12-21 15:10:20 +01:00
jkriege2
995ca92033
FIXED/REWORKED issue https://github.com/jkriege2/JKQtPlotter/issues/111 : Can't write to PDF files with JKQTPlotter::saveImage() when passing a filename ending in ".pdf" (thanks to https://github.com/fpalazzolo for reporting)
...
IMPROVED/REWORKED: The functions JKQTBasePlotter::saveImage(), JKQTBasePlotter::saveAsPixelImage(), JKQTBasePlotter::saveAsPDF(), JKQTBasePlotter::saveSVG(), ... gained a bool return value to indicate whether sacing was successful.
IMPROVED/REWORKED: More <code>save...()</code> functions will appear in the API of JKQTPlotter, so you don't have to go via JKQTPlotter::getPlotter(). These are merely forwarding the call to the internel JKQTBasePlotter instance.
2023-12-21 12:24:30 +01:00
jkriege2
abad0b01c3
fixed even more compile errors
2023-12-19 16:22:06 +01:00
jkriege2
2913a9af48
improved documentation
2023-12-19 15:23:44 +01:00
jkriege2
83c980384c
fix more compile errors (QList::emplaceback/emplace_back() did not exist in Qt 5.15
2023-12-19 11:43:36 +01:00
jkriege2
0080f07bda
improve doc
2023-12-19 11:18:28 +01:00
jkriege2
61ca14863f
BUGFIX: JKQTPCoordinateAxis::tickUnitName was not shown in some cases, when using fractions
2023-12-19 11:04:19 +01:00
jkriege2
f4ac9374d4
fixed compile errors (using QString instead of std::string, where appropriate)
2023-12-19 10:38:58 +01:00
jkriege2
f2004a6f66
NEW/BREAKING: rework layouting of keys/legends: new classes JKQTPBaseKey, JKQTPMainKey ... and removed several styling function for the main key from JKQTBasePlotter and JKQTPlotter (these are now accessible via JKQTBasePlotter::getMainKey()
...
IMPROVED/REWORKED: legend/key positioning as combination of 3 values, e.g. \c JKQTPKeyOutsideTop|JKQTPKeyTop|JKQTPKeyRight or \c JKQTPKeyInside|JKQTPKeyTopJKQTPKeyRight
2023-12-18 22:24:59 +01:00
chengben
96426e73fb
Fix the issue of setDrawMode1 affecting tick drawing for modes 0 and mode2
2023-11-21 10:52:08 +08:00
Jan W. Krieger
a462164324
Merge pull request #101 from fpalazzolo/feature/disable_resize_delay
...
Add option to disable resize delay feature by setting the delay to zero.
2023-10-25 13:38:39 +02:00
Alexander Neumann
5972eeee9d
Fix C&P error
2023-10-25 09:10:58 +02:00
Frank Palazzolo
58197d19c5
Add option to disable resize delay feature by setting the delay to zero.
2023-10-24 13:32:26 -04:00
jkriege2
a9bfcab4b9
bugfix doxygen markup
2023-09-26 14:03:34 +02:00
jkriege2
cf058ccf54
docu layout fixed
2023-09-26 10:46:15 +02:00
jkriege2
9fd500fc8f
DEPRECATED JKQtFastPlotter & QMake-build
2023-09-26 10:45:59 +02:00
jkriege2
deffa3a407
FIXED: reversed some palettes, so the names match the color order
2023-09-26 08:28:40 +02:00
jkriege2
0654b1958d
typo fix
2023-09-25 23:06:37 +02:00
jkriege2
3d60d4f2ef
NEW: even more color palettes
2023-09-25 22:58:28 +02:00
jkriege2
3f60d40390
typo fixed
2023-09-19 17:34:46 +02:00
jkriege2
08cc844343
MODIFIED: simplified palette generation code + added several missing derived palettes + legacy names/renames
2023-09-19 14:38:01 +02:00
jkriege2
134739c5a5
FIXED: Height of one-column key/legend was too large
2023-08-24 22:11:44 +02:00
jkriege2
5cc0b65d9a
NEW: added JKQTPLabelMinBesides and JKQTPLabelMaxBesides to JKQTPLabelPosition, so labels can be set besides the axes
2023-08-24 21:49:39 +02:00
jkriege2
84270e49b0
improvement to fix for #99 : add even more space in some cases
2023-08-22 18:02:00 +02:00
jkriege2
af29fa4ffa
added example image for JKQTPCoordinateAxisStyle::tickLabelAngle
2023-08-22 17:34:50 +02:00
jkriege2
22d8bdd674
partly fixed issue #99 : for horizontal axes, additional space at the left and/or right of the plot is allowed so labels are no longer clipped (thanks to user:allenbarnett5 for reporting)
2023-08-22 17:32:00 +02:00
jkriege2
3bd49100fe
doc-fix
2023-08-16 15:35:44 +02:00
jkriege2
fa50c3c130
NEW: added JKQTBasePlotterStyle::plotLabelTopBorder and made plot labels BOLD
2023-08-16 14:04:04 +02:00
jkriege2
122371e743
NEW: Added JKQTMathText::setFontOptions(), which allows to make fonts initially e.g. bold, italic, ... and extended JKQTMathText::setFontSpecial() accordingly
2023-08-16 13:52:29 +02:00
jkriege2
11abcd1e77
fixed compile issues
2023-08-15 19:08:19 +02:00
jkriege2
49d79e610d
FIXED/NEW: placement of plot-title (was not centerd in its box, but glued to the bottom) by adding a plotstyle parameter JKQTBasePlotterStyle::plotLabelOffset
2023-08-15 15:26:06 +02:00
jkriege2
e66abc47ac
update plot imaged for tutorials: datastore, datastorw_groupstat, datastore_regression, datastore_iterators, datastore_statistics
2023-08-15 15:02:39 +02:00
jkriege2
4edaa3e1e2
BREAKING/FIXED: JKQTPXFunctionLineGraph and JKQTPYFunctionLineGraph do no longer contribute to auto-scaling, as that depends on the current plot-axes (hen-egg-problem).
2023-08-14 13:51:18 +02:00
jkriege2
e386cb97a7
FIXED: fixed impleentations of JKQTPlotter::beginGraphs(), which actually returned the end-iterator (COPY-PASTE-ERROR!!!)
2023-08-14 12:38:58 +02:00
jkriege2
b1954af38b
updated auto-generated doc images
2023-08-04 15:33:03 +02:00
jkriege2
d14ea9971f
fixed compile errors
2023-08-04 14:23:48 +02:00
jkriege2
c38f69ae9a
NEW: added JKQTPPaletteList::reverse() and JKQTPPaletteList::sort()
...
FIXED: fixed stepsGnBl-palettte and greenblue-palette
2023-07-30 22:56:48 +02:00
jkriege2
4cf343ea30
CHANGED: updated default palette_MatlabLegacy_step.png
...
NEW: added more steps palettes
2023-07-30 22:30:09 +02:00
jkriege2
ed2b3cef22
Updated style.ini files
2023-07-25 22:22:52 +02:00
jkriege2
754553568d
NEW added entry for plotLabelColor to JKQTBasePlotterStyle
2023-07-25 22:21:42 +02:00
jkriege2
97c54916cf
NEW: you can use any (preferably stepped/categorial) JKQTPMathImageColorPalette as default graph colors list in a style.ini file, by setting <tt>auto_styles/use_color_from_palette=PALETTE_NAME</tt>
...
FIXED/BREAKING: graph symbols were not properly applied when reading styles (in fact they were shuffled under some circumstances)
2023-07-25 22:20:00 +02:00
jkriege2
ca84d664ad
NEW: add color palettes from Green's HELIX method, see https://arxiv.org/abs/1108.5083 , see JKQTPCreateGreensCubeHelixLUT() and e.g. JKQTPMathImageCubeHelixClassic, JKQTPMathImageCubeHelix1, ...
2023-07-22 15:33:09 +02:00
jkriege2
677985ae35
NEW: Using Q_SIGNALS/Q_SLOTS instead of signals/slots MOC-keywords ... this allows for interoperability with other signals/slots frameworks
2023-07-22 14:26:02 +02:00
jkriege2
3e4f039efb
fixed some Qt5 compile errors
2023-07-22 10:45:11 +02:00
jkriege2
35cb8541da
fixed typo
2023-07-22 00:30:15 +02:00
jkriege2
102ca8a40b
added missing #include
2023-07-22 00:25:21 +02:00
jkriege2
b6b5c48d9e
FIXED: exporting gridPrinting plots when using only a JKQTBasePlotter
2023-07-22 00:12:55 +02:00
jkriege2
3a789250be
NEW: added variant of JKQTBasePlotter::setWidgetSize() which accepts QSize
2023-07-21 22:58:01 +02:00
jkriege2
d44316c8e3
- NEW added several new color palettes and fixed/improved handling of palettes with few colors in them
...
- NEW added several tool functions to work with color palettes
-
2023-07-21 22:07:46 +02:00
jkriege2
ee7387d033
updated default.ini style
2023-07-21 22:05:27 +02:00
jkriege2
841e5ac916
removed unnecessary DEBUG-output
2023-07-21 22:01:45 +02:00
jkriege2
869c83222a
NEW: added cyberpunk style
2023-07-21 21:59:49 +02:00
jkriege2
6522325ed1
UPDATED updated blueprint.ini and dark.ini styles
2023-07-21 21:55:07 +02:00
jkriege2
7f6c5fc9aa
FIXED: Barcharts were not filled with cycling patterns properly and the first default symbol was never used (in JKQTBasePlotter::getPlotStyle())
2023-07-21 21:53:06 +02:00
jkriege2
c371899579
BREAKING: new default color scheme
2023-07-21 19:36:02 +02:00
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
ed1204cea6
NEW: You can use additional syntax derived from CCS to define colors in style.ini.files (or when using jkqtp_String2QColor() ): You can use full CSS-color syntax with functions "rgb(R,G,B)", "rgba(...)", "hsl(...)", "hsv(...)", "gray(...)", "green(...)", "red(...)", "blue(...)"
2023-07-21 19:25:46 +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
4b4075c226
JKQTMathText: fixed super-script sizing (using tightboundingbox around x instead of xHeight(), which caused some problems recently for several standard fonts
2023-07-01 15:09:38 +02:00
jkriege2
8719208acf
iproved JKQTMathText::drawIntoPixmap() and drawIntoPicture(): using ARGB32_Premultiplied for QPixmap + enabled QPainter::VerticalSubpixelPositioning when available
2023-07-01 14:49:56 +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
79d8dbad84
fixed some compiler warnings
2023-06-29 08:44:20 +02:00
jkriege2
cf43dc4a7e
made JKQTPPlotSymbol() thread-safe
2023-06-25 18:05:16 +02:00