66 lines
2.0 KiB
Swift
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: NSNib.Name(rawValue: "PDFItemViewController"), bundle: Bundle.main)
|
|
self.dayFW = dayFW
|
|
self.dayI = day
|
|
self.monthName = monthName
|
|
}
|
|
|
|
init(dayFW: FileWrapper?, day: Int) {
|
|
super.init(nibName: NSNib.Name(rawValue: "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
|
|
}
|
|
}
|