Add TimelineContainerView.

This commit is contained in:
Brent Simmons
2019-02-13 22:05:31 -08:00
parent 9220cee0bb
commit fb1fdc10ad
4 changed files with 79 additions and 6 deletions

View File

@@ -6,7 +6,7 @@
// Copyright © 2019 Ranchero Software. All rights reserved.
//
import Cocoa
import AppKit
final class DetailContainerView: NSView {
@@ -33,11 +33,7 @@ final class DetailContainerView: NSView {
if let contentView = contentView {
contentView.translatesAutoresizingMaskIntoConstraints = false
addSubview(contentView, positioned: .below, relativeTo: detailStatusBarView)
let leadingConstraint = NSLayoutConstraint(item: contentView, attribute: .leading, relatedBy: .equal, toItem: self, attribute: .leading, multiplier: 1.0, constant: 0.0)
let trailingConstraint = NSLayoutConstraint(item: contentView, attribute: .trailing, relatedBy: .equal, toItem: self, attribute: .trailing, multiplier: 1.0, constant: 0.0)
let topConstraint = NSLayoutConstraint(item: contentView, attribute: .top, relatedBy: .equal, toItem: self, attribute: .top, multiplier: 1.0, constant: 0.0)
let bottomConstraint = NSLayoutConstraint(item: contentView, attribute: .bottom, relatedBy: .equal, toItem: self, attribute: .bottom, multiplier: 1.0, constant: 0.0)
let constraints = [leadingConstraint, trailingConstraint, topConstraint, bottomConstraint]
let constraints = constraintsToMakeSubViewFullSize(contentView)
NSLayoutConstraint.activate(constraints)
contentViewConstraints = constraints
}

View File

@@ -0,0 +1,45 @@
//
// TimelineContainerView.swift
// NetNewsWire
//
// Created by Brent Simmons on 2/13/19.
// Copyright © 2019 Ranchero Software. All rights reserved.
//
import AppKit
final class TimelineContainerView: NSView {
override var isOpaque: Bool {
return true
}
var contentViewConstraints: [NSLayoutConstraint]?
var contentView: NSView? {
didSet {
if contentView == oldValue {
return
}
if let currentConstraints = contentViewConstraints {
NSLayoutConstraint.deactivate(currentConstraints)
}
contentViewConstraints = nil
oldValue?.removeFromSuperviewWithoutNeedingDisplay()
if let contentView = contentView {
contentView.translatesAutoresizingMaskIntoConstraints = false
addSubview(contentView)
let constraints = constraintsToMakeSubViewFullSize(contentView)
NSLayoutConstraint.activate(constraints)
contentViewConstraints = constraints
}
}
}
override func draw(_ dirtyRect: NSRect) {
NSColor.textBackgroundColor.setFill()
dirtyRect.fill()
}
}