Commit Graph

616 Commits

Author SHA1 Message Date
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
73bc82724b fixed qmake compile/link error 2024-01-22 21:47:34 +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
7e61ac659c FIX QMake-Build 2024-01-21 22:22:20 +01:00
jkriege2
e5821eee3f NEW allow linear-gradient()... in brush definitions of style.ini-file 2024-01-21 22:21:27 +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
d0a00a8c4c rename, doc update 2024-01-21 22:01:28 +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
f07c013c7f FIXed slicing warning, by making the slice-operation explicit 2024-01-11 14:22:46 +01:00
jkriege2
ef07a02e9b FIX issue #116 "Most of the examples fail to launch with MSVC2019 + Qt5 environment" (missing local variable declaration!) + changed a bit the font lookup code in JKQTMathText to work more in line with typical system configurations 2024-01-11 11:31:12 +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
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