DOCSIS-Toolkit/Graphic Analysis 2/PDFItemViewController.swift
2020-06-11 16:24:01 +02:00

66 lines
2.0 KiB
Swift

//
// PDFItemViewController.swift
// Docsis Toolkit
//
// Created by Kilian Hofmann on 18.06.17.
// Copyright © 2017 Kilian Hofmann. All rights reserved.
//
import Cocoa
class PDFItemViewController: NSViewController {
@IBOutlet var day: NSTextField!
@IBOutlet var loss: NSTextField!
@IBOutlet var distributionAM: LossDistributionPie!
@IBOutlet var distributionPM: LossDistributionPie!
@IBOutlet var month: NSTextField!
var dayFW: FileWrapper?
var dayI: Int = 0
var monthName: String = ""
required init?(coder: NSCoder) {
super.init(coder: coder)
}
init(dayFW: FileWrapper?, day: Int, monthName: String) {
super.init(nibName: "PDFItemViewController", bundle: Bundle.main)
self.dayFW = dayFW
self.dayI = day
self.monthName = monthName
}
init(dayFW: FileWrapper?, day: Int) {
super.init(nibName: "PDFItemViewController", bundle: Bundle.main)
self.dayFW = dayFW
self.dayI = day
}
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
view.wantsLayer = true
view.layer?.backgroundColor = NSColor.white.cgColor
day.stringValue = "\(dayI)"
month.stringValue = monthName
guard dayFW != nil else { return }
day.textColor = NSColor.black
guard let log = dayFW?.fileWrappers?["KDLog.hex"] else { return }
guard let logA = FileOperations.load(log: log.regularFileContents! as NSData) else { return }
loss.stringValue = "\(logA.count)"
var am: [Int] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
var pm: [Int] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
for entry in logA {
let hour: Int = Int(entry.components(separatedBy: ":")[0])!
if hour < 12 {
am[hour] += 1
} else {
pm[hour - 12] += 1
}
}
self.distributionAM.distribution = am
self.distributionPM.distribution = pm
}
}