Commit Graph

570 Commits

Author SHA1 Message Date
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
jkriege2
41e63341b5 added concurrency tools header to jkqtpcommmon, initially with JKQTPSynchronized<T> 2023-06-25 17:51:21 +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
c1b7f678c7 bugfixed issing include 2022-09-27 09:57:50 +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
jkriege2
bf4aa7ebdb JKQTPCALTprintf for general axis tick formatting with a printf-format string 2022-09-24 00:16:57 +02:00
jkriege2
b536d79aeb bugfix for older Qt versions 2022-09-23 21:45:30 +02:00
jkriege2
d2c2185f9c IMPROVED/REWORKED: reworked JKQTPCADrawMode and coordinate axis drawing so the draw mide can be specified as ORed combination of flags from JKQTPCADrawModeElements, added flags to draw arrows at the end of the axis line
IMPROVED/REWORKED: coordinate axis code was refactored
NEW: all elements of a coordinate axis may have their own color now
2022-09-23 20:43:53 +02:00
jkriege2
a769437ae3 docfix 2022-09-22 01:43:46 +02:00
jkriege2
60a4656dd8 NEW: Added new JKQTPCALabelType elements (JKQTPCALTfrac...), so axis label ticks can be displayed as fractions 1/2 instead of 0.5
NEW: Added new JKQTPCALabelType element JKQTPCALTscientific, so axis label ticks can be displayed as numbers in scientific notation like 1.2E-34
auto-generate JKQTPCALabelType documentation
2022-09-22 00:44:54 +02:00
jkriege2
75db7cff42 dox update/fix 2022-09-19 21:55:12 +02:00
jkriege2
3c22130902 JKQTPlotter: IMPROVED/REWORKED: reworked JKQTPErrorPlotstyle and error indicator plotting so error-inidcators can be specified as ORed combination of flags from JKQTPErrorPlotstyleElements, added additional error indicator styles (half-bars, arrows...) 2022-09-14 22:03:46 +02:00
jkriege2
16df80c8c7 JKQTPlotter: NEW: Added signals JKQTBasePlotter::beforeExporting()/JKQTBasePlotter::afterExporting() and JKQTBasePlotterJKQTBasePlotter:beforePrinting()/JKQTBasePlotter::afterPrinting() which allow to modify the plot just before and just after an export/print 2022-09-12 00:35:45 +02:00
jkriege2
1fb0c540d9 JKQTPlotter:
- FIXED plot-size calculation for filled graphs
  - added example for filled graphs with error indicators
2022-09-11 00:06:47 +02:00
jkriege2
6cc08c2041 JKQTPlotter: NEW: added new error indicator styles JKQTPErrorHalfBarsOutwards, JKQTPErrorHalfBarsInwards, JKQTPErrorHalfBarsAbove, JKQTPErrorHalfBarsBelow which are especially useful for barcharts
JKQTPlotter: added example for barcharts with errorbars
2022-09-11 00:03:31 +02:00
jkriege2
40748de442 JKQTPlotter: NEW: barcharts (derived from JKQTPBarGraphBase) can be configured to use different fill styles above and below the baseline 2022-09-10 14:35:16 +02:00
jkriege2
f11a98779e JKQTPlotter: NEW: added JKQTPXYGraph::setKeyColumn()/JKQTPXYGraph::getKeyColumn() and JKQTPXYGraph::setValueColumn()/JKQTPXYGraph::getValueColumn() and corresponding functions in other classes. 2022-09-10 13:38:29 +02:00
jkriege2
117ec4a84f bugfixed compile errors in CI 2022-09-08 08:55:52 +02:00
jkriege2
ffe9e904bc bugfix attempt for compile error with QDataStream and JKQTPGraphSymbols 2022-09-07 21:50:58 +02:00
jkriege2
7846bbecf0 JKQTPlotter: added property drawLineInForeground to JKQTPXYLineGraph and JKQTPXYParametrizedScatterGraph 2022-09-07 21:12:26 +02:00
jkriege2
04284af94c removed outdated (and doubled) README.md files 2022-09-06 12:46:43 +02:00
jkriege2
bf1416d5a6 added possibility to register custom symbols for JKQTPPlotSymbol() 2022-09-06 12:39:23 +02:00
jkriege2
f6def4b9d1 add symbol JKQTPFilledCharacterSymbol 2022-09-06 11:59:11 +02:00
jkriege2
2831dcbfb5 jkqtcommon/jkqtpdrawingtools.h: added template-function to draw a decorated line
JKQTPlotter: add auto-generated line-decorator images
2022-09-06 11:07:52 +02:00
jkriege2
4f73fbbaed JKQTPlottter: added the option to draw a character from a font as symbol (JKQTPCharacterSymbol+QChar('').unicode()) 2022-09-02 14:19:47 +02:00
jkriege2
74d54abac5 JKQTCommon: refactoring of JKQTPPlotSymbol(): using static datastructures to store precalculated drawing instructions (polygons, QPainterPath, ...), this should improve the drawing speed a bit and makes the code less complex 2022-09-02 12:27:12 +02:00
jkriege2
9f87652b56 updated style.inis 2022-09-01 22:25:28 +02:00
jkriege2
4bd7444c66 JKQTMathText: resetting pen and brush before drawing, so the previously set pen/brush does not influence the rendering result 2022-09-01 22:22:17 +02:00
jkriege2
7f206882c1 JKQTPlotter: useNonvisibleLineCompression is off by default 2022-09-01 22:21:24 +02:00
jkriege2
9b5549b8b5 JKQTPlotter: generate High-DPI Icons, where necessary/appropriate 2022-09-01 21:37:50 +02:00
jkriege2
6ebd8743ca JKQTMathText:
- NEW: Added the Fira Math fonts as sans-serif symbol font to the library (as a ressource) and added JKQTMathText::useFiraMath()
  - NEW: Added JKQTMathText::useGuiFonts()</li>
JKQTPlotter:
  - NEW: Using JKQTMathText::useGuiFonts() for FONT rendering by default
2022-09-01 14:36:34 +02:00
jkriege2
4ef29635ea JKQTPlotter: improved plotting speed for line-graphs by drawing a series of single lines instead of a polyline in some cases 2022-08-30 22:24:24 +02:00
jkriege2
abd62dc341 made randomnumber generators seeded with fixed values 2022-08-30 21:33:22 +02:00
jkriege2
889f95e7af Merge branch 'master' of https://github.com/jkriege2/JKQtPlotter 2022-08-30 09:45:18 +02:00
jkriege2
eeff6e0036 fixed issue #73: Symbol thickness differs in actual plot and legend 2022-08-30 09:44:40 +02:00
jkriege2
e729ebbc78 docfix 2022-08-29 21:46:38 +02:00
Jan W. Krieger
d7badaf424
workaround for old MS code! 2022-08-29 13:29:41 +02:00
jkriege2
6eba8acbf2 updated many documentation images to auto-generated ones 2022-08-28 22:48:14 +02:00
jkriege2
2aa6c8e3b6 JKQTPlotter: made resize-timer status accessible from outside via JKQTPlotter::isResizeTimerRunning()
made it's delay a global static variable that can be set and red with JKQTPlotter::setGlobalResizeDelay() and JKQTPlotter::getGlobalResizeDelay()
2022-08-28 22:47:46 +02:00
jkriege2
a1604e1eeb added more auto-generated screenshots 2022-08-26 22:32:48 +02:00
jkriege2
b156fc7e40 NEW: added scatter graph JKQTPXYScatterGraph and JKQTPXYScatterErrorGraph 2022-08-26 12:41:42 +02:00
jkriege2
7030475568 NEW: added JKQTBasePlotter::grabPixelImage() and JKQTPlotter::grabPixelImage(), which grab the plotter into a QImage
NEW: added option to not display the preview dialog to JKQTBasePlotter::copyPixelImage() and JKQTPlotter::copyPixelImage()
2022-08-26 12:28:06 +02:00
jkriege2
d283f6b294 bugfix in JKQTPSimplifyPolyLines() 2022-08-26 11:34:03 +02:00
jkriege2
fdb8ce2d75 JKQTPlotter: REORGANIZED: separated line-graphs from jkqtpscatter.h/.cpp into jkqtplines.h/.cpp 2022-08-25 22:41:41 +02:00
jkriege2
a90cbecd9d added optimized line-drawing to JKQTPSpecialLineGraphBase 2022-08-25 22:33:07 +02:00
jkriege2
064f01d0b0 bugfixed optimized line-drawing 2022-08-25 22:32:34 +02:00
jkriege2
c3afee2c1f replaced QVector<QPointF> by QPolygonfF, as Qt changes from QVector to QList with Qt5->Qt6 2022-08-25 17:46:57 +02:00
jkriege2
586548c7d6 change parent-chld relationships of scatter graphs 2022-08-25 17:34:12 +02:00