Commit Graph

388 Commits

Author SHA1 Message Date
jkriege2
eb315f648f JKQTPVectorFieldGraph: added scaling factor for length-autoscaling 2024-02-09 11:41:19 +01:00
jkriege2
e2057ae27a NEW: Base class JKQTPXYAndVectorGraph for graphs like vector fields, e.g. (x,y,dx,dy) or (x,y,angle,length)
NEW: ... and an actual implementation JKQTPVectorFieldGraph (+example)
2024-02-08 21:52:30 +01:00
jkriege2
a178a1f6d3 docfix 2024-02-06 22:58:02 +01:00
jkriege2
ac8e7c6adb docfix 2024-02-06 16:20:48 +01:00
jkriege2
eb83feccaf doc update + image rename 2024-02-06 15:19:20 +01:00
jkriege2
3c9bd56d9e NEW: JKQTPXYGraphLabels which can draw a label next to each datapoint in the given x/y-dataset. The labels can be x-/y- or x&y-coordinates or custom, then defined by a user-supplied functor (+example \ref JKQTPlotterGraphLabels) 2024-02-06 14:49:14 +01:00
jkriege2
3b231273ef FIXED symmetry when zooming with JKQTBasePlotter::zoomIn() or JKQTBasePlotter::zoomOut() 2024-02-05 00:24:39 +01:00
jkriege2
f606327469 RENAMED JKQTPDatastore::addColumnCalculatedFromColumn() to JKQTPDatastore::addCalculatedColumnFromColumn(), which is more in line with the other add...()-function names. Aliases with the old function names remain for compatibility 2024-02-04 21:42:53 +01:00
jkriege2
b338606bc1 FIXED/SECURITY not using \c sprintf() any more ... replaced by e.g. \c snprintf() , which is more secure. 2024-02-02 16:20:55 +01:00
jkriege2
3e4ba547bd UPDATED auto-generated documentation images 2024-02-02 16:11:52 +01:00
jkriege2
50746a09cf brought removed operators in JKQTDataStore back 2024-02-02 16:09:42 +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
55625a25ee IMPROVED/FIXED outside space requirements for color bars. Text was sometime too close to the plot border. 2024-02-02 14:03:16 +01:00
jkriege2
946e472ce7 FIXED removed unnecessary operator from JKQTPColumnIterator and JKQTPColumnConstIterator, which lead to exceptions on some compilers 2024-02-02 14:01:16 +01:00
jkriege2
1858385952 FIXED issue #118: "Dangerous warning in MacOS and clang" (thanks to user:igormironchik for reporting): a forward-declared class (i.e. incomplete type) was deleted 2024-02-02 11:35:00 +01:00
jkriege2
acae5929d1 JKQtMathText: NEW: added \c \\~{} , \c \\^{}, \c \\`{}, ... instructions 2024-02-01 12:14:46 +01:00
jkriege2
c0bbe8f557 FIXED issue <a href="https://github.com/jkriege2/JKQtPlotter/issues/117">#117: Unnecessary printing of tilde symbol in math</a> (thanks to <a href="https://github.com/igormironchik">user:igormironchik</a> for reporting):<br/>Tilde was not recognized as a LaTeX instruction, now is interpreted as non-breaking whitespace 2024-01-31 15:47:26 +01:00
jkriege2
bcbce121c1 ensure that either CMAKE_BUILD_TYPE or CMAKE_CONFIGURATION_TYPES is set in CMake 2024-01-27 14:20:31 +01:00
jkriege2
99592b29d8 typofix 2024-01-26 18:42:00 +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
2b0dcca224 update whatsnew.dox 2024-01-21 22:22:38 +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
d0a00a8c4c rename, doc update 2024-01-21 22:01:28 +01:00
jkriege2
31759543da NEW: add unit-test facilities (incl. running them on AppVeyor) 2024-01-21 21:58:56 +01:00
jkriege2
9600cc20fa docfix 2024-01-17 20:53:37 +01:00
jkriege2
f7cbb1dea8 add example and explanation for use of CMake's FetchCOnten-API 2024-01-17 20:42:12 +01:00
jkriege2
9e5737624c update whatsnew.dox 2024-01-16 16:58:38 +01:00
jkriege2
3412b4df32 docfix 2024-01-16 15:35:12 +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
843c0ac05b bump CMake version to 3.23 2024-01-16 13:07:07 +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
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
e0df1a8f0e FIXed multiRow/MultiColumn distribution algorithm in JKQTPKey 2024-01-09 14:30:31 +01:00
jkriege2
0423205fb1 updated doc images 2024-01-08 21:33:21 +01:00
jkriege2
9337976e30 updated whatsnew.dox 2024-01-08 20:32:30 +01:00
jkriege2
b02db2eb93 NEW: Added option to multiply run an example for generating screenshots/images 2024-01-08 14:23:04 +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
a2857b6826 fixed/expanded doc 2024-01-05 00:26:59 +01:00
jkriege2
aa2fcb108d NEW/REWORKED JKQTBasePlottercan be used is re-entrant, i.e. different instances can be used from different threads in parallel (although there is significant overhead due to shared caches between the threads!).
NEW added multithreaded example to demonstrate using JKQTBasePlotter in several parallel threads
2024-01-05 00:12:48 +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
8c01738359 add TODO 2023-12-22 20:32:08 +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
5dcd73222b fix typo 2023-12-19 11:40:13 +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
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