Commit Graph

62 Commits

Author SHA1 Message Date
Snolandia
a275fb73c3
Couple bug fixes (#147)
* BugFix

* Resolve several issues

1: Allow mouse scroll events to pass through to parent if the plot has not mouse scroll events to do. i.e. if scroll to zoom is disabled, and the graph is part of a scroll area, this allows scrolling the scroll area while the mouse is over the plot.

2: Fixed bug with resize timer resetting itself every time, rather than actually performing the countdown and calling the function.

3. Fixed bug with margins being calculated incorrectly, preventing the complete removal of margins from a plot.
2025-01-15 21:21:39 +01:00
Snolandia
fd8ea3adb2
BugFix (#139) When right clicking during a ScribbleForEvent/MouseDragAction, and the right click is outside the plot, the last scribble event was not being generated.
Some checks are pending
CodeQL / Analyze (cpp) (push) Waiting to run
Doxygen build&deploy / build (push) Waiting to run
MSVC-CodeAnalysis / Analyze (push) Waiting to run
2024-10-16 13:24:50 +02:00
jkriege2
99f029e61e updated copyright timerange to 2024 2024-02-06 14:50:49 +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
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
3e4f039efb fixed some Qt5 compile errors 2023-07-22 10:45:11 +02:00
jkriege2
841e5ac916 removed unnecessary DEBUG-output 2023-07-21 22:01:45 +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
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
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
3132eb0102 refactorings, code improvements, no functional changes 2022-11-03 15:48:48 +01: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
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
5087970c79 updated copyright notice 2022-07-19 13:40:43 +02:00
jkriege2
d8c1524f61 partly solve issue #81 by making print-support optional. In addition it can be switched off with the CMake-option JKQtPlotter_BUILD_FORCE_NO_PRINTER_SUPPORT=ON 2022-07-18 23:33:20 +02:00
jkriege2
f33838f187 added debug-feature to show boxes around text in the plot 2022-06-02 23:05:58 +02:00
jkriege2
fd2ae94c6c got rid of deprecated warnings when compiling with Qt6 2022-06-02 21:44:58 +02:00
jkriege2
ae5713ea68 implemented feature request #69: Show data tooltip on MouseMove by adding general actions that can be executed on a mouse move operation, when no mouse button is pressed, modification by keyboard modifiers is possible though 2022-05-15 14:15:15 +02:00
jkriege2
0a5fa42470 more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
jkriege2
ad3a26a272 fixed bug #50 JKQtPlotter::clearAllRegisteredMouseDoubleClickActions(), JKQtPlotter::clearAllMouseWheelActions(), JKQtPlotter::clearAllRegisteredMouseDragActions() didn't really deactivate all actions 2022-04-21 13:33:22 +02:00
Alan Morris
6f487c2c24 Enable high-dpi support for plots. 2021-08-18 16:32:48 -06:00
jkriege2
9a3f321f66 improved and bugfixed handling of aspectRatio and its documentation 2020-09-11 23:21:55 +02:00
jkriege2
d2b4e07c94 added JPQTPlotter signal, when widget was resized 2020-09-11 13:48:07 +02:00
jkriege2
ba856b594f removed/breaking change: removed the overlay elements (derived from JKQTPOverlayElement), which were not very well set up and are more confusing than useful. 2020-09-09 11:26:04 +02:00
jkriege2
87755ce515 diverse code improvements, increased copyright year to 2020 2020-08-26 12:58:23 +02:00
jkriege2
7e9bad29b4 fix for issue #45:
- for Qt 5.15: added missing #include statements that became necessary since Qt 5.15
- for Qt 5.15: fixed use of several deprecated functions
- for Qt 5.15/6: removed usage of QMatrix
2020-08-14 14:12:59 +02:00
jkriege2
56660e2f4b fixed several compiler warnings (mostly Visual Studio): clean-up of use of math constants M_PI ... and j0()/j1()/...-functions etc. 2019-11-24 10:42:44 +01:00
jkriege2
61d3108fb8 removed some unneeded debug-messages 2019-11-18 08:15:07 +01:00
jkriege2
77d799a742 - removed many compiler warnings
- enabled compiler-warnings in CMake-build
- several bugfixes (also to appveyor.yml)
- removed some function from JKQTBasePlotter, which were (messy) shortcuts to adding graphs
2019-06-21 21:48:14 +02:00
jkriege2
fb5b497356 - several bugfixes (doc etz.)
- decoration of library names in CMake-builds
- renamed advancedlineandfillstyling to advplotstyling to solve problems with too long filenames
2019-06-21 13:44:49 +02:00
jkriege2
fae6b28a58 further reorganizations of code 2019-06-20 16:25:29 +02:00
jkriege2
199e8493fe ruler-tool shows slope 2019-06-01 14:02:35 +02:00
jkriege2
356cc34349 new: Statistics library with functions to calculate histograms, regression, kernel density estimates, ... including a new example
new: iterator interface and improved documentation for JKQTPDatastore
reorganization of library (better separation of common code in jkqtpcommon and other code e.g. in jkqtplotter or jkqtmathtext)
2019-05-29 22:40:02 +02:00
jkriege2
67d23150f2 new: user-interaction tool that shows coordinates of data points near the current mouse position (when mouse is dragged, while mouse button is pressed)
new: user-interaction tool that measures distances and angles when mouse is dragged, while mouse button is pressed)
update: reworked error indicator base classes and styling settings
update: improved boxplot styling with a separate full-featured pen for the whiskers
2019-05-05 19:31:20 +02:00
jkriege2
f710048f49 clean-up of special context menu code + added documentation 2019-05-01 12:46:17 +02:00
jkriege2
a67975e680 - major rework of graph styling (now using mix-in classes)
- some reorganizations into different files
- additional options for graph filling (color gradients, textures, ...) as provided by QBrush
- PREPARATIONS: added a general feature to JKQTPPlotElement which allows to show a graph in a highlighted state (if supported by the derived graph class!)
- JKQTPXYParametrizedScatterGraph: added functors to transform column values into symbol type+size and line-width to give even more control
- JKQTPStepHorizontalGraph has been renamed to JKQTPSpecialLineHorizontalGraph (vertical variants also) and have gained additional features (baseline for filling and drawing of symbols)
- filled curve graphs (e.g. JKQTPSpecialLineHorizontalGraph) are now merely a specializedly initialized JKQTPSpecialLineHorizontalGraph
2019-04-22 13:27:50 +02:00
jkriege2
69ad2a0182 - added styling system for JKQTPlotter (+example app)
- improved documentation
- changed: using static const variables instead of \c #define for fixed default values (e.g. JKQTPImageTools::LUTSIZE, JKQTPImageTools::PALETTE_ICON_WIDTH, JKQTPlotterDrawinTools::ABS_MIN_LINEWIDTH, JKQTMathText::ABS_MIN_LINEWIDTH ...)
- new: added debugging option, which surrounds different regions with visible rectangles (JKQTBasePlotter::enableDebugShowRegionBoxes() )
- fixed: colorbars at top were positioned over the plot label
- new: frames (plot viewport, key/legend ...) may be rounded off at the corners
- new: diverse new styling options (default font name/size ...)
- speed improvements to JKQTMathText::useSTIX()
2019-02-09 12:43:12 +01:00
jkriege2
6082010c98 finished mouse interaction example + improved documentation 2019-02-04 13:15:56 +01:00
jkriege2
4a63afc709 - fixed zoomin/synchronized graphs, which was broken by former update to user-interaction
- improved documentation & HTML-sytle
- removed datarange-facilities (not really useful!)
2019-02-03 14:08:16 +01:00
Jan W. Krieger
73bf9edd95 improved documentation 2019-01-29 12:06:06 +01:00
Jan W. Krieger
c5b9504189 finished rework of user-interaction API for the mouse 2019-01-28 17:05:03 +01:00
Jan W. Krieger
17a4473e4f reworked how context-menus are specified/activated
prepared for future reworks
some renames
2019-01-28 10:46:38 +01:00
Jan W. Krieger
75d8fc8314 reworked the functions that allow to specify how JKQTPlotter reacts to mouse single-click actions 2019-01-27 23:24:12 +01:00
jkriege2
dabc061de9 implemented panning the plot with the mouse
fixed: switchability of zoomByMouseWheel
fixed: 0 on axis sometimes shown as 10^{-17}...
2019-01-27 08:30:59 +01:00
jkriege2
c74e87ad31 improved user-interactions (& their example) 2019-01-26 20:12:54 +01:00