You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.4 KiB

4 years ago
// Copyright © 2015 Abhishek Banthia
import Cocoa
class HourMarkerViewItem: NSCollectionViewItem {
4 years ago
static let reuseIdentifier = NSUserInterfaceItemIdentifier("HourMarkerViewItem")
@IBOutlet var constraintFromTop: NSLayoutConstraint!
@IBOutlet var verticalLine: NSBox!
public var indexTag: Int = -1
4 years ago
4 years ago
func setup(with hour: Int) {
var dateComponents = DateComponents()
dateComponents.minute = hour * 15
indexTag = hour
for constraint in view.constraints where constraint.identifier == "constrainFromTop" {
if hour % 4 == 0 {
constraint.constant = 0
} else {
constraint.constant = 20
}
}
}
4 years ago
func setupLineColor() {
for subview in view.subviews where subview is NSBox {
subview.layer?.backgroundColor = NSColor.black.cgColor
}
}
4 years ago
func resetLineColor() {
for subview in view.subviews where subview is NSBox {
subview.layer?.backgroundColor = nil
4 years ago
}
}
4 years ago
override var acceptsFirstResponder: Bool {
return false
}
}
extension Date {
public var nextHour: Date {
let calendar = Calendar.current
let minutes = calendar.component(.minute, from: self)
let components = DateComponents(hour: 1, minute: -minutes)
return calendar.date(byAdding: components, to: self) ?? self
}
4 years ago
}