# wxchartdir **Repository Path**: 7thTool/wxchartdir ## Basic Information - **Project Name**: wxchartdir - **Description**: No description available - **Primary Language**: C++ - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-12-09 - **Last Updated**: 2024-06-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ![wxChartDir Logo](docs/wxchartdir.png) wxChartDir - ChartDirector based charting components for wxWidgets applications **wxChartDir** provides components for the integration and use of the _commercial_ C++ library [ChartDirector](https://www.advsofteng.com/index.html), a universal chart component developed by **Advanced Software Engineering Ltd**, in [wxWidgets](https://www.wxwidgets.org) based applications. **ChartDirector** is an extremely versatile, stable and affordable charting library, that supports many different chart types like pie, donut, bar, line, spline, step line, trend line, curve-fitting, inter-line filling, area, band, scatter, bubble, floating box, box-whisker, waterfall, contour, heat map, surface, vector, finance, gantt, radar, polar, rose, pyramid, cone, funnel and more. Charts can be created as vector graphics in PDF and SVG and as raster graphics in PNG, JPG, GIF and BMP. Please visit the [ChartDirector gallery](https://www.advsofteng.com/gallery.html) to get an impression of the capabilities of this library. **wxChartDir** includes the following charting controls: 1. **wxChartViewer** - a wxWidgets control that inherits from **wxPanel** and **ViewPortManager**. A viewport can be imagined as a rectangular window of an underlying rectangular surface. 2. **wxViewPortControl** - a wxWidgets control that inherits from **wxPanel** and **ViewPortControlBase**. A viewport control is a user interface element to let the user visualize and manipulate the viewport managed by the ViewPortManager. Additionally, **wxChartDir** contains wxWidgets based versions of all sample applications coming with **ChartDirector** and of the [extra samples](https://www.advsofteng.com/tutorials/extra.html) available from the **ChartDirector** website. **ChartDirector** itself contains versions for QT and MFC. Finally, a C++ command-line application is included that allows to generate many sample charts in a single run (see folder `cppdemo`). All relevant parts of the **ChartDirector** trial version for C++ (header files, link libraries, and DLLs) are included in the **wxChartDir** distribution. This allows to compile and test the sample applications without having to download and install **ChartDirector** separately. The **ChartDirector** trial version will produce yellow banner messages at the bottom of the chart images generated by it. To eliminate these banners you need to [purchase](https://www.advsofteng.com/purchase.html) a commercial **ChartDirector** license. ## Table of Contents - [Version history](#history) - [Installation](#install) - [Documentation](#documentation) - [License](#license) ## Version history * 2.0.0 - *July 2021* - Update to ChartDirector 7.0 - Enhance drawing of selection box - Add support for DPI awareness - Remove support for wxWidgets versions 2.x * 1.0.0 - *July 2018* - First public release ## Installation The build files for Windows platforms are generated by a (slightly modified) version of [Premake 5](https://premake.github.io/) (based on Premake 5.0 alpha 15). Ready to use project files are provided for Visual C++ 2015, 2017, and 2019. Project files for prior versions of Visual C++ can be generated with Premake. Additionally, GNU Makefiles are provided supporting for example MinGW-w64. For Visual Studio 2010+ solutions it is possible to customize the build by creating a `wx_local.props` file in the build directory which is used, if it exists, by the projects. The settings in that file override the default values for the properties. The typical way to make the file is to copy `wx_setup.props` to `wx_local.props` and then edit locally. For GNU Makefiles the file `config.gcc` serves the same purpose as the file wx_setup.props for Visual C++ projects. The customization files `wx_setup.props` resp. `config.gcc` allow to customize certain settings like for example the version number and the root directory of the wxWidgets library. ### wxMSW When building on Win32 or Win64, you can use the makefiles or one of the Microsoft Visual Studio solution files in the `build` folder. For Visual C++ the debugging properties are set up in such a way that debugging the sample applications should work right out of the box. For release builds you may need to copy the ChartDirector DLL and - depending on the build - the wxChartDir DLL or add the appropriate `lib` folder paths to the Windows search path (PATH environment variable). ### wxGTK / wxMac When building on an autoconf-based system (like Linux/GNU-based systems), the first step is to recreate the configure script from the root directory of the component doing: ``` autoreconf ``` Thereafter you should create a ``` mkdir build-gtk [or any other suitable name] cd build-gtk ../configure [here you should use the same flags you used to configure wxWidgets] make ``` Optionally, the directory where the **ChartDirector** binaries are installed can be specified with the configure option `--with-cddir=PATH`. If the option is not given the binaries coming with **wxChartDir** will be used. Type `../configure --help` for more info. In principle, the autoconf-based system also supports a `make install` target which builds the library and then copies the headers of the component to `/usr/local/include` and the lib to `/usr/local/lib` by default (you can use `pkg-config --cflags` and `--libs` to find the required compilation and linking flags in general). However, at the moment this option should not be used, since it is not yet decided how to resolve the dependency on **ChartDirector**. The sample applications will be built in subdirectories `cppdemo` and `wxdemo` of the build directory where `configure` was executed. Each sample application is located in a separate subdirectory and should be executed from its own subdirectory, so that it can locate required graphics files. An exception to this rule is the main sample application `wxdemo`: the application should be invoked from the subdirectory `wxdemo/wxdemo`, so that the required graphics files, which reside in the subdirectories `images` and `icons`, can be located by the application.. ## Documentation An overview about **wxChartDir** can be found [here](https://utelle.github.io/wxchartdir/). The doxygen-generated documentation for this component is available online [here](http://utelle.github.io/wxchartdir/docs/html/index.html). Extensive documentation for **ChartDirector** can be found on the [Advanced Software Engineering Ltd website](https://www.advsofteng.com/doc/cdcpp.htm). ## License **wxChartDir** is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 or later as published by the Free Software Foundation, with the wxWindows 3.1 exception. **wxChartDir** depends on the _commercial_ C++ library [ChartDirector](https://www.advsofteng.com/index.html). The license terms for **ChartDirector** can be found in the file [`CHARTDIRECTOR-LICENSE.TXT`](CHARTDIRECTOR-LICENSE.TXT).