tdesktop/Telegram/SourceFiles/statistics/view/chart_view_factory.cpp

36 lines
1.0 KiB
C++
Raw Normal View History

2023-08-27 21:16:48 +00:00
/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#include "statistics/view/chart_view_factory.h"
#include "statistics/statistics_common.h"
#include "statistics/view/linear_chart_view.h"
#include "statistics/view/stack_chart_view.h"
#include "statistics/view/stack_linear_chart_view.h"
2023-08-27 21:16:48 +00:00
namespace Statistic {
std::unique_ptr<AbstractChartView> CreateChartView(ChartViewType type) {
switch (type) {
case ChartViewType::Linear: {
return std::make_unique<LinearChartView>(false);
2023-08-27 21:16:48 +00:00
} break;
case ChartViewType::Stack: {
return std::make_unique<StackChartView>();
} break;
case ChartViewType::DoubleLinear: {
return std::make_unique<LinearChartView>(true);
} break;
case ChartViewType::StackLinear: {
return std::make_unique<StackLinearChartView>();
} break;
2023-08-27 21:16:48 +00:00
default: Unexpected("Type in Statistic::CreateChartView.");
}
}
} // namespace Statistic