jkriege2
1d013685bf
fixed missing/wrong #include's
2024-01-22 18:44:46 +01:00
jkriege2
e5821eee3f
NEW allow linear-gradient()... in brush definitions of style.ini-file
2024-01-21 22:21:27 +01:00
jkriege2
a4fef01642
add general ALIAS targets JKQTPlotter::JKQTCOmmmon|JKQTPlotter|... which alias the current QT-Major-Version
2024-01-21 22:02:39 +01:00
jkriege2
b0df7a1fd7
NEW/BREAKING: provide general targets JKQTPlotter5/6::JKQTPlotter5/6, JKQTPlotter5/6::JKQTMathText5/6, ... which are independent of the type of build (shared/static)
...
NEW/BREAKING: refactor CMake-Code, so static/dynamic switch is done via <code>BUILD_SHARED_LIBS</code>, which retires <code>JKQtPlotter_BUILD_STATIC_LIBS</code>, <code>JKQtPlotter_BUILD_SHARED_LIBS</code> and removes the capability to build static and shared libraries in one location (fixes issue #104 )
NEW: prepareed library for CMake's <a href="https://cmake.org/cmake/help/latest/module/FetchContent.html ">FetchContent</a>-API
NEW: the different sub-libraries JKQTPlotter, JKQTFastPlotter (DEPRECATED), JKQTMath, JKQTMathText can be activated/deactivated with CMake options JKQtPlotter_BUILD_LIB_JKQTPLOTTER, JKQtPlotter_BUILD_LIB_JKQTFASTPLOTTER, JKQtPlotter_BUILD_LIB_JKQTMATHTEXT, JKQtPlotter_BUILD_LIB_JKQTMATH
2024-01-16 13:07:08 +01:00
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
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
c03ad2b506
added missing #include
2024-01-09 21:52:35 +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
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
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
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
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
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
fa50c3c130
NEW: added JKQTBasePlotterStyle::plotLabelTopBorder and made plot labels BOLD
2023-08-16 14:04:04 +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
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
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
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
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
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