updated documentation and whatsnew.dox

This commit is contained in:
jkriege2 2022-04-22 20:19:25 +02:00
parent d99637398a
commit 85e60e3e56
7 changed files with 17 additions and 10 deletions

View File

@ -8,6 +8,8 @@ This software is licensed under the term of the [GNU Lesser General Public Licen
![Language](https://img.shields.io/github/languages/top/jkriege2/JKQtPlotter) ![Language](https://img.shields.io/github/languages/top/jkriege2/JKQtPlotter)
[![Qt5](https://img.shields.io/badge/Qt-5-brightgreen)](https://doc.qt.io/qt-5/) [![Qt5](https://img.shields.io/badge/Qt-5-brightgreen)](https://doc.qt.io/qt-5/)
[![Qt6](https://img.shields.io/badge/Qt-6-brightgreen)](https://doc.qt.io/qt-6/)
[![Documentation](https://img.shields.io/badge/documentation-online-blue)](http://jkriege2.github.io/JKQtPlotter/index.html) [![Documentation](https://img.shields.io/badge/documentation-online-blue)](http://jkriege2.github.io/JKQtPlotter/index.html)
[![Build status](https://ci.appveyor.com/api/projects/status/vq2o9pfi97isxm2a?svg=true)](https://ci.appveyor.com/project/jkriege2/jkqtplotter) [![Build status](https://ci.appveyor.com/api/projects/status/vq2o9pfi97isxm2a?svg=true)](https://ci.appveyor.com/project/jkriege2/jkqtplotter)
@ -29,7 +31,7 @@ This software is licensed under the term of the [GNU Lesser General Public Licen
## Main Features ## Main Features
- 2D Plotter widget class (JKQTPlotter) - 2D Plotter widget class (JKQTPlotter)
- high-quality plotting - high-quality plotting
- no other dependencies than Qt >= 5.0 - no other dependencies than Qt >= 5.0 ([CImg](https://cimg.eu/) and [OpenCV](https://opencv.org/) are optional dependencies)
- highly customizable axes/grids (linear/log, date/time, custom ticks ...) - highly customizable axes/grids (linear/log, date/time, custom ticks ...)
- integrated LaTeX parser (pure C++, no dependencies) to render mathematical equations in axis labels, ticks, ... - integrated LaTeX parser (pure C++, no dependencies) to render mathematical equations in axis labels, ticks, ...
- extensive user-interactions pre-programmed (several zooming modes, selecting regions, custom context menus, switch graph visibility, ...) - extensive user-interactions pre-programmed (several zooming modes, selecting regions, custom context menus, switch graph visibility, ...)

View File

@ -44,7 +44,7 @@ PROJECT_NUMBER =
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short. # quick idea about the purpose of the project. Keep the description short.
PROJECT_BRIEF = "an extensive Qt5 Plotter framework (including a feature-richt plotter widget, a speed-optimized, but limited variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies" PROJECT_BRIEF = "an extensive Qt5+Qt6 Plotter framework (including a feature-richt plotter widget, a speed-optimized, but limited variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies"
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included # With the PROJECT_LOGO tag one can specify a logo or an icon that is included
# in the documentation. The maximum height of the logo should not exceed 55 # in the documentation. The maximum height of the logo should not exceed 55

View File

@ -89,6 +89,8 @@ Here is the \c CMakeLists.txt from that directory:
# Configure project for usage of Qt5 # Configure project for usage of Qt5
find_package(Qt5 COMPONENTS Core Gui Widgets PrintSupport Svg Xml OpenGl REQUIRED) find_package(Qt5 COMPONENTS Core Gui Widgets PrintSupport Svg Xml OpenGl REQUIRED)
# Configure project for usage of Qt6
#find_package(Qt6 COMPONENTS Core Gui Widgets PrintSupport Svg Xml OpenGl OpenGLWidgets REQUIRED)
# include JKQTPlotter # include JKQTPlotter
find_package(JKQTCommonLib REQUIRED) find_package(JKQTCommonLib REQUIRED)

View File

@ -2,7 +2,7 @@
\mainpage JKQTPlotter - A Qt Plotting Library \mainpage JKQTPlotter - A Qt Plotting Library
- This is an extensive library of function/data plotter classes for Qt (>= 5.0, tested with Qt up to 5.12). - This is an extensive library of function/data plotter classes for Qt5 (tested with Qt up to 5.15) and Qt6 (tested with Qt up to 6.3).
- This software is licensed under the term of the GNU Lesser General Public License 2.1 - This software is licensed under the term of the GNU Lesser General Public License 2.1
(LGPL 2.1) or above. See \ref licensesec for details. (LGPL 2.1) or above. See \ref licensesec for details.
- <a href="http://jkriege2.github.io/JKQtPlotter/index.html">Online-Documentation (http://jkriege2.github.io/JKQtPlotter/index.html)</a> - <a href="http://jkriege2.github.io/JKQtPlotter/index.html">Online-Documentation (http://jkriege2.github.io/JKQtPlotter/index.html)</a>
@ -14,7 +14,7 @@
\section jkqtp_main_features Main Features \section jkqtp_main_features Main Features
- <b>Extensive Scientific 2D Plotting framework (JKQTPlotter / JKQTBasePlotter)</b> - <b>Extensive Scientific 2D Plotting framework (JKQTPlotter / JKQTBasePlotter)</b>
- high-quality plotting - high-quality plotting
- no other dependencies than Qt >= 5.0 - no other required dependencies than Qt5 or Qt6
- highly customizable axes/grids (linear/log, date/time, custom ticks ...) - highly customizable axes/grids (linear/log, date/time, custom ticks ...)
- integrated LaTeX parser/renderer JKQTMathText for axis labels, ticks, notes ... - integrated LaTeX parser/renderer JKQTMathText for axis labels, ticks, notes ...
- \ref JKQTPLOTTER_USERINTERACTION "extensive user-interactions pre-programmed (several zooming modes, selecting regions, custom context menus, switch graph visibility, ...)" - \ref JKQTPLOTTER_USERINTERACTION "extensive user-interactions pre-programmed (several zooming modes, selecting regions, custom context menus, switch graph visibility, ...)"

View File

@ -41,6 +41,7 @@ Changes, compared to \ref page_whatsnew_V2019_11 "v2019.11" include:
<li>improved/breaking change: made more functions and function parameters const</li> <li>improved/breaking change: made more functions and function parameters const</li>
<li>improved/breaking change: image plots now manage CONST-data, not plain pointer arrays... This is OK, since the raw data is never owned nor modified by the plot, only referenced!.</li> <li>improved/breaking change: image plots now manage CONST-data, not plain pointer arrays... This is OK, since the raw data is never owned nor modified by the plot, only referenced!.</li>
<li>bugfixed/improved: aspect ratio handling in JKQTPlotter.</li> <li>bugfixed/improved: aspect ratio handling in JKQTPlotter.</li>
<li>new: Compatibility with Qt 5.15 and Qt6</li>
<li>new: added geometric plot objects JKQTPGeoArrow to draw arrows (aka lines with added line-end decorators, also extended JKQTPGeoLine, JKQTPGeoInfiniteLine, JKQTPGeoPolyLines to draw line-end decorator (aka arrows)</li> <li>new: added geometric plot objects JKQTPGeoArrow to draw arrows (aka lines with added line-end decorators, also extended JKQTPGeoLine, JKQTPGeoInfiniteLine, JKQTPGeoPolyLines to draw line-end decorator (aka arrows)</li>
<li>new: all geometric objects can either be drawn as graphic element (i.e. lines are straight line, even on non-linear axes), or as mathematical curve (i.e. on non-linear axes, lines become the appropriate curve representing the linear function, connecting the given start/end-points). The only exceptions are ellipses (and the derived arcs,pies,chords), which are always drawn as mathematical curves</li> <li>new: all geometric objects can either be drawn as graphic element (i.e. lines are straight line, even on non-linear axes), or as mathematical curve (i.e. on non-linear axes, lines become the appropriate curve representing the linear function, connecting the given start/end-points). The only exceptions are ellipses (and the derived arcs,pies,chords), which are always drawn as mathematical curves</li>
<li>new: a new graph class JKQTPXYFunctionLineGraph draws parametric 2D curves ( \f$ [x,y] = f(t) \f$ ), see \ref JKQTPlotterEvalCurves for an example</li> <li>new: a new graph class JKQTPXYFunctionLineGraph draws parametric 2D curves ( \f$ [x,y] = f(t) \f$ ), see \ref JKQTPlotterEvalCurves for an example</li>

View File

@ -1,5 +1,5 @@
# set minimum required CMake-Version # set minimum required CMake-Version
cmake_minimum_required(VERSION 3.10) cmake_minimum_required(VERSION 3.20)
# set Project name # set Project name
set(EXAMPLE_NAME simpletest) set(EXAMPLE_NAME simpletest)
@ -12,7 +12,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD 11)
#set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) #set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
# Configure project for usage of Qt5 # Configure project for usage of Qt5/Qt6
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui Widgets PrintSupport Svg Xml OpenGl REQUIRED) find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui Widgets PrintSupport Svg Xml OpenGl REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Widgets PrintSupport Svg Xml OpenGL REQUIRED) find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Widgets PrintSupport Svg Xml OpenGL REQUIRED)

View File

@ -5,7 +5,7 @@ This project (see [`cmake_link_example`](https://github.com/jkriege2/JKQtPlotter
This example uses very simple code, which simply displays a plotter and shows some data. The important part of this example is the ´CMakeLists.txt`-file: This example uses very simple code, which simply displays a plotter and shows some data. The important part of this example is the ´CMakeLists.txt`-file:
``` ```
# set minimum required CMake-Version # set minimum required CMake-Version
cmake_minimum_required(VERSION 3.10) cmake_minimum_required(VERSION 3.20)
# set Project name # set Project name
set(EXAMPLE_NAME simpletest) set(EXAMPLE_NAME simpletest)
@ -15,11 +15,13 @@ This example uses very simple code, which simply displays a plotter and shows so
# some basic configurations # some basic configurations
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD 11) # for Qt5
#set(CMAKE_CXX_STANDARD 17) # for QT6
#set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) #set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
# Configure project for usage of Qt5 # Configure project for usage of Qt5/Qt6
find_package(Qt5 COMPONENTS Core Gui Widgets PrintSupport Svg Xml OpenGl REQUIRED) find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui Widgets PrintSupport Svg Xml OpenGl REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Widgets PrintSupport Svg Xml OpenGL REQUIRED)
# include JKQTPlotter # include JKQTPlotter
find_package(JKQTCommonLib REQUIRED) find_package(JKQTCommonLib REQUIRED)