Commit Graph

180 Commits

Author SHA1 Message Date
jkriege2
99f029e61e updated copyright timerange to 2024 2024-02-06 14:50:49 +01:00
jkriege2
0009ff8f64 moved two protected methods from JKQTPCoordinateAxis to jkqtpstringtools.h/.cpp 2024-02-06 14:48:21 +01:00
jkriege2
210c7aaa42 improved qHash-functions and class constructors
NEW jkqtp_hash_combine() and jkqtp_combine_hash()
2024-02-05 17:12:34 +01:00
jkriege2
57b298527e IMPROVED: axis labeling: there were some minor differences between compilers
IMPROVED: jkqtp_floattounitstr()/jkqtp_floattolatexunitstr(): add all SI-Prefixes from 10^-30...10^30
BREAKING removed unused function variant of jkqtp_floattounitstr()
NEW Added unit test for jkqtp_floattounitstr()/jkqtp_floattolatexunitstr()
2024-02-02 14:24:41 +01:00
jkriege2
a1ee5b58b9 changed QList to std::vector (as QList::emplaceBack ist not available in all Qt versions 2024-01-25 19:23:37 +01:00
jkriege2
56ecb35ce9 added missing #include 2024-01-25 19:19:40 +01:00
jkriege2
1bf6c43134 MODIFIED JKQTPDataCache to implement a limited-size cache with least-recently-used delete stategy 2024-01-24 22:33:32 +01:00
jkriege2
868d6dcdf4 fixed several compile warnings 2024-01-23 13:09:37 +01:00
jkriege2
9c543953ca fix CMake error 2024-01-23 00:48:42 +01:00
jkriege2
397d2bee9a FIXed CMake build:generic ALIAS targets were defined incorrectly 2024-01-22 22:09:55 +01:00
jkriege2
ab8ab57681 fixed Qt5 implementation error 2024-01-22 22:02:28 +01:00
jkriege2
8ccaaaebe6 NEW: added "currentcolor" as color-placeholder in style.ini files and using it in conjunction with linear-gradient() in cyberpunk and dark styles
NEW: added style simple_noaxes.ini
2024-01-22 21:31:09 +01:00
jkriege2
1d013685bf fixed missing/wrong #include's 2024-01-22 18:44:46 +01:00
jkriege2
bf89200a5c fixed uninitialized member 2024-01-22 18:22:45 +01:00
jkriege2
adf230fcf1 bugfixes 2024-01-22 18:20:35 +01:00
jkriege2
9d2f5bb579 add missing #include 2024-01-21 22:43:25 +01:00
jkriege2
eb7a068fb7 NEW CSS-parser JKQTPCSSParser in order to parse e.g. \c linear-gradient() specifications in jkqtp_String2QBrushStyleExt()
NEW generic RegularExpression functions (jkqtp_rxExactlyMatches(), jkqtp_rxIndexIn(), jkqtp_rxContains(), jkqtp_rxPartiallyMatchesAt() )
2024-01-21 22:12:15 +01:00
jkriege2
11bafa52e4 NEW add jkqtp_roundToDigits() 2024-01-21 22:08:14 +01:00
jkriege2
2559097fd2 NEW add JKQTPExpected 2024-01-21 22:05:26 +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
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
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
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
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
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
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
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
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
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
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
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
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