// // InfographyView.swift // TournamentStats // // Created by Laurent Morvillier on 15/08/2019. // Copyright © 2019 Stax River. All rights reserved. // import Foundation import UIKit class InfographyView: UIView { var generator: ReportGenerator? { didSet { self._fillView() } } @IBOutlet weak var infographyTitle: UILabel! @IBOutlet weak var hStack1a: UIStackView! @IBOutlet weak var label11: UILabel! @IBOutlet weak var label12: UILabel! @IBOutlet weak var label13: UILabel! @IBOutlet weak var hStack1b: UIStackView! @IBOutlet weak var tableView11: TableView! @IBOutlet weak var tableView12: TableView! @IBOutlet weak var tableView13: TableView! @IBOutlet weak var hStack2a: UIStackView! @IBOutlet weak var label21: UILabel! @IBOutlet weak var label22: UILabel! @IBOutlet weak var label23: UILabel! @IBOutlet weak var hStack2b: UIStackView! @IBOutlet weak var container21: UIView! @IBOutlet weak var container22: UIView! @IBOutlet weak var container23: UIView! @IBOutlet weak var hStack3a: UIStackView! @IBOutlet weak var label31: UILabel! @IBOutlet weak var label32: UILabel! @IBOutlet weak var label33: UILabel! @IBOutlet weak var hStack3b: UIStackView! @IBOutlet weak var tableView31: TableView! @IBOutlet weak var tableView32: TableView! @IBOutlet weak var tableView33: TableView! @IBOutlet weak var hStack4a: UIStackView! @IBOutlet weak var label41: UILabel! @IBOutlet weak var label42: UILabel! @IBOutlet weak var hStack4b: UIStackView! @IBOutlet weak var container41: UIView! @IBOutlet weak var container42: UIView! @IBOutlet weak var hStack5a: UIStackView! @IBOutlet weak var label51: UILabel! @IBOutlet weak var hStack5b: UIStackView! @IBOutlet weak var tableView51: TableView! override func awakeFromNib() { super.awakeFromNib() self._createBackground() } fileprivate func _createBackground() { 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.bounds self.layer.insertSublayer(gradient, at: 0) } fileprivate func _fillView() { guard let generator = self.generator else { return } self.infographyTitle.text = "2019 WSOP" self.infographyTitle.textColor = UIColor.white self.infographyTitle.font = Fonts.mainTitle ///// self.label11.text = "Biggest Winners".uppercased() self.label12.text = "Most Cashes".uppercased() self.label13.text = "Best average cash (7+)".uppercased() self.tableView11.setData(data: generator.biggestWinners) self.tableView12.setData(data: generator.mostCashes) self.tableView13.setData(data: generator.averageCash) ///// self.label21.text = "Buy-in distribution".uppercased() self.label22.text = "First prizes distribution".uppercased() self.label23.text = "Prizepool distribution".uppercased() let pieChartFrame = CGRect(x: 0, y: 0, width: 500, height: 500) let buyinDistribPie = PieChart(frame: pieChartFrame) buyinDistribPie.data = generator.tournamentBuyinDistribution.pieChartData self.container21.addSubview(buyinDistribPie) let firstPrizeDistributionPie = PieChart(frame: pieChartFrame) firstPrizeDistributionPie.data = generator.firstPrizeDistribution.pieChartData self.container22.addSubview(firstPrizeDistributionPie) let prizepoolDistribPie = PieChart(frame: pieChartFrame) prizepoolDistribPie.data = generator.tournamentPrizepoolDistribution.pieChartData self.container23.addSubview(prizepoolDistribPie) ///// self.label31.text = "Events by prizepool".uppercased() self.label32.text = "Events by entries".uppercased() self.tableView31.setData(data: generator.tourniesByPrizepool) self.tableView32.setData(data: generator.tourniesByEntries) ///// self.label41.text = "USA vs World bracelets".uppercased() self.label42.text = "Holdem vs exotic games".uppercased() let USABraceletsDistribPie = PieChart(frame: pieChartFrame) USABraceletsDistribPie.data = generator.USAvsWorldWins.pieChartData self.container41.addSubview(USABraceletsDistribPie) let holdemDistributionPie = PieChart(frame: pieChartFrame) holdemDistributionPie.data = generator.holdemTournamentsDistribution.pieChartData self.container42.addSubview(holdemDistributionPie) self.label51.text = "Average Event".uppercased() let ds = generator.averageEvent.first self.tableView51.dataSource = ds self.tableView51.delegate = ds } }