// // InfographyView.swift // TournamentStats // // Created by Laurent Morvillier on 05/08/2019. // Copyright © 2019 Stax River. All rights reserved. // import Foundation import UIKit import Charts class InfographyViewController : UIViewController { var generator: ReportGenerator? override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() let gradient: CAGradientLayer = CAGradientLayer() let startColor = UIColor(red: 23/255, green: 72/255, blue: 61/255, alpha: 1) let endColor = UIColor(red: 47/255, green: 149/255, blue: 126/255, alpha: 1) gradient.colors = [startColor.cgColor, endColor.cgColor] gradient.locations = [0.2 , 1.0] gradient.startPoint = CGPoint(x: 0.0, y: 0.0) gradient.endPoint = CGPoint(x: 1.0, y: 1.0) gradient.frame = self.view.bounds self.view.layer.insertSublayer(gradient, at: 0) } override func viewDidLoad() { guard let generator = self.generator else { return } let table1 = TableView(data: generator.biggestWinners, frame: CGRect.zero, style: .grouped) table1.defineConstraints(width: 500, height: 500) let table2 = TableView(data: generator.mostWins, frame: CGRect.zero, style: .grouped) table2.defineConstraints(width: 500, height: 500) let hstack1: UIStackView = UIStackView(arrangedSubviews: [table1, table2]) hstack1.defineConstraints(width: 1000, height: 300.0) hstack1.distribution = .equalSpacing hstack1.spacing = 8.0 hstack1.axis = .horizontal hstack1.alignment = .top let title1 = TitleLabel(frame: CGRect.zero, text: "Buy-in distribution") let title2 = TitleLabel(frame: CGRect.zero, text: "First prizes distribution") let title3 = TitleLabel(frame: CGRect.zero, text: "Prizepool distribution") let hstack2a: UIStackView = UIStackView(arrangedSubviews: [title1, title2, title3]) hstack2a.defineConstraints(width: 1000) hstack2a.distribution = .fillEqually hstack2a.axis = .horizontal hstack2a.alignment = .top let buyinDistribPie = PieChart(frame: CGRect.zero) buyinDistribPie.data = generator.tournamentBuyinDistribution.pieChartData buyinDistribPie.defineConstraints(height: 300) buyinDistribPie.notifyDataSetChanged() let firstPrizeDistributionPie = PieChart(frame: CGRect.zero) firstPrizeDistributionPie.data = generator.firstPrizeDistribution.pieChartData firstPrizeDistributionPie.defineConstraints(height: 300) let prizepoolDistribPie = PieChart(frame: CGRect.zero) prizepoolDistribPie.data = generator.tournamentPrizepoolDistribution.pieChartData prizepoolDistribPie.defineConstraints(height: 400) let hstack2: UIStackView = UIStackView(arrangedSubviews: [buyinDistribPie, firstPrizeDistributionPie, prizepoolDistribPie]) hstack2.defineConstraints(width: 1000, height: 350.0) hstack2.distribution = .fillEqually hstack2.axis = .horizontal hstack2.alignment = .top let mainTitle = UILabel() mainTitle.textColor = UIColor.white mainTitle.font = UIFont.boldSystemFont(ofSize: 64.0) mainTitle.textAlignment = .center mainTitle.text = "2019 WSOP" let vstack: UIStackView = UIStackView(arrangedSubviews: [mainTitle, hstack1, hstack2a, hstack2]) vstack.axis = .vertical vstack.distribution = .equalCentering vstack.alignment = .center vstack.spacing = 10.0 self.view.addSubview(vstack) vstack.translatesAutoresizingMaskIntoConstraints = false vstack.leadingAnchor.constraint(equalTo: self.view.leadingAnchor, constant: 16.0).isActive = true vstack.trailingAnchor.constraint(equalTo: self.view.trailingAnchor, constant: -16.0).isActive = true vstack.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor, constant: 16.0).isActive = true } } //class InfographyView : UIView { // // var references: [UITableViewDataSource] = [] // // init(frame: CGRect, generator: ReportGenerator) { // super.init(frame: frame) // self.backgroundColor = UIColor.lightGray // // let table1 = TableView(data: generator.biggestWinners, frame: CGRect.zero, style: .grouped) // table1.defineConstraints(width: 500, height: 500) // // let table2 = TableView(data: generator.mostWins, frame: CGRect.zero, style: .grouped) // table2.defineConstraints(width: 500, height: 500) // // let pieChart = PieChartView(frame: CGRect.zero) // pieChart.data = generator.tournamentBuyinDistribution.pieChartData // pieChart.defineConstraints(width: 300, height: 300) // // let hstack1: UIStackView = UIStackView(arrangedSubviews: [table1, table2]) // hstack1.defineConstraints(width: 1000, height: 500) // hstack1.distribution = .fill // hstack1.axis = .horizontal // hstack1.alignment = .top // hstack1.backgroundColor = UIColor.red // // let hstack2: UIStackView = UIStackView(arrangedSubviews: [pieChart]) // hstack2.defineConstraints(width: 1000, height: 300) // hstack2.distribution = .fill // hstack2.axis = .horizontal // hstack2.alignment = .top // hstack2.backgroundColor = UIColor.green // // let vstack: UIStackView = UIStackView(arrangedSubviews: [hstack1, hstack2]) // vstack.axis = .vertical // vstack.distribution = .fill // vstack.alignment = .leading // vstack.backgroundColor = UIColor.blue // self.addSubview(vstack) // self.addMaxConstraints(view: vstack) // // } // // required init?(coder aDecoder: NSCoder) { // fatalError("init(coder:) has not been implemented") // } // //}