Files
Attractor/App/Document Controls UI/DocumentControlViewController.swift

75 lines
2.7 KiB
Swift
Raw Normal View History

2020-09-22 15:37:13 -07:00
//
// DocumentControlViewController.swift
// App
//
// Created by James Magahern on 9/22/20.
//
import UIKit
class DocumentControlViewController: UIViewController
{
let documentControlsView = DocumentControlsView()
2020-09-22 15:37:13 -07:00
let fontSizeAdjustView = FontSizeAdjustView()
let findOnPageControlView = DocumentControlItemView()
2021-02-11 12:26:13 -08:00
let navigationControlView = NavigationControlsView()
let settingsView = DocumentControlItemView()
let readabilityView = DocumentControlItemView()
let darkModeView = DocumentControlItemView()
let archiveView = DocumentControlItemView()
2021-02-11 12:26:13 -08:00
var observations: [NSKeyValueObservation] = []
2020-09-22 15:37:13 -07:00
static public let preferredWidth = CGFloat(200.0)
init(darkModeEnabled: Bool) {
super.init(nibName: nil, bundle: nil)
2020-09-22 15:37:13 -07:00
2020-09-30 18:06:47 -07:00
findOnPageControlView.label.text = "Find On Page"
findOnPageControlView.imageView.image = UIImage(systemName: "magnifyingglass")
2021-02-11 20:25:16 -08:00
settingsView.label.text = "Settings"
settingsView.imageView.image = UIImage(systemName: "gear")
2021-02-15 22:34:05 -08:00
readabilityView.label.text = "Reader Mode"
readabilityView.imageView.image = UIImage(systemName: "doc.richtext")
archiveView.label.text = "Archive.today"
archiveView.imageView.image = UIImage(systemName: "shippingbox")
if darkModeEnabled {
darkModeView.label.text = "Disable Dark Mode"
} else {
darkModeView.label.text = "Enable Dark Mode"
}
darkModeView.imageView.image = DarkModeControls.buttonImage(forDarkModeState: darkModeEnabled)
documentControlsView.stackView.addArrangedSubview(navigationControlView)
documentControlsView.stackView.addArrangedSubview(fontSizeAdjustView)
documentControlsView.stackView.addArrangedSubview(findOnPageControlView)
documentControlsView.stackView.addArrangedSubview(darkModeView)
documentControlsView.stackView.addArrangedSubview(readabilityView)
documentControlsView.stackView.addArrangedSubview(archiveView)
documentControlsView.stackView.addArrangedSubview(settingsView)
2021-02-11 12:26:13 -08:00
for (i, view) in documentControlsView.stackView.arrangedSubviews.enumerated() {
view.drawsBottomSeparator = (i < documentControlsView.stackView.arrangedSubviews.count - 1)
2021-02-11 12:26:13 -08:00
}
2020-09-22 15:37:13 -07:00
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
2020-09-22 15:37:13 -07:00
override func loadView() {
self.view = documentControlsView
2020-09-22 15:37:13 -07:00
}
override var preferredContentSize: CGSize {
get { documentControlsView.stackView.sizeThatFits(CGSize(width: Self.preferredWidth, height: -1)) }
2020-09-22 15:37:13 -07:00
set {}
}
}