Project

General

Profile

Improvements #12495 » BarLineLineChart.h

Mark Travis, 07/09/2026 07:46 PM

 
//
// Created by mark on 8/17/25.
//

#ifndef INSIGHTS_BARLINELINECHART_H
#define INSIGHTS_BARLINELINECHART_H

#include <ReportsAndCharts/WChartJSDataSeries.h>
#include <ReportsAndCharts/WChartJSOptions.h>
#include <Wt/WContainerWidget.h>
#include <Wt/WStandardItemModel.h>

class BarLineLineChart : public Wt::WContainerWidget
{
public:
// pass an array of pointers to three arrays, the first of which is a bar
// and the next two are lines.
// barLineLineData is composed of:
// Row 0: Actual
// Row 1: Simulated
// Row 2: Optimized
explicit BarLineLineChart(const std::shared_ptr<Wt::WStandardItemModel>& barLineLineData, std::string &chartTitle);
~BarLineLineChart() override;

private:
const std::shared_ptr<Wt::WStandardItemModel> barLineLineData_{};
WChartJSLibrary *barLineLineChart_{};
std::unique_ptr<WChartJSDataSeries> barDataSeries_{};
std::unique_ptr<WChartJSDataSeries> lineDataSeries1_{};
std::unique_ptr<WChartJSDataSeries> lineDataSeries2_{};
WChartJSOptions::PluginOptions pluginOptions_{};
WChartJSOptions::ScalesOptions xScalesOptions_{};
WChartJSOptions::ScalesOptions yScalesOptions_{};
std::unique_ptr<WChartJSOptions> chartOptions_{};
};


#endif //INSIGHTS_BARLINELINECHART_H
(7-7/9)