70 lines
2.4 KiB
Swift
70 lines
2.4 KiB
Swift
//
|
|
// DocumentControlViewController.swift
|
|
// App
|
|
//
|
|
// Created by James Magahern on 9/22/20.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class DocumentControlViewController: UIViewController
|
|
{
|
|
let documentControlView = StackView<DocumentControlView>(dimension: .vertical)
|
|
let fontSizeAdjustView = FontSizeAdjustView()
|
|
let findOnPageControlView = DocumentControlView()
|
|
let navigationControlView = NavigationControlsView()
|
|
let settingsView = DocumentControlView()
|
|
let readabilityView = DocumentControlView()
|
|
let darkModeView = DocumentControlView()
|
|
|
|
var observations: [NSKeyValueObservation] = []
|
|
|
|
static public let preferredWidth = CGFloat(200.0)
|
|
|
|
init(darkModeEnabled: Bool) {
|
|
super.init(nibName: nil, bundle: nil)
|
|
|
|
findOnPageControlView.label.text = "Find On Page"
|
|
findOnPageControlView.imageView.image = UIImage(systemName: "magnifyingglass")
|
|
|
|
settingsView.label.text = "Settings"
|
|
settingsView.imageView.image = UIImage(systemName: "gear")
|
|
|
|
readabilityView.label.text = "Reader Mode"
|
|
readabilityView.imageView.image = UIImage(systemName: "doc.richtext")
|
|
|
|
if darkModeEnabled {
|
|
darkModeView.label.text = "Disable Dark Mode"
|
|
} else {
|
|
darkModeView.label.text = "Enable Dark Mode"
|
|
}
|
|
|
|
darkModeView.imageView.image = DarkModeControls.buttonImage(forDarkModeState: darkModeEnabled)
|
|
|
|
documentControlView.addArrangedSubview(navigationControlView)
|
|
documentControlView.addArrangedSubview(fontSizeAdjustView)
|
|
documentControlView.addArrangedSubview(findOnPageControlView)
|
|
documentControlView.addArrangedSubview(darkModeView)
|
|
documentControlView.addArrangedSubview(readabilityView)
|
|
|
|
documentControlView.addArrangedSubview(settingsView)
|
|
|
|
for (i, view) in documentControlView.arrangedSubviews.enumerated() {
|
|
view.drawsBottomSeparator = (i < documentControlView.arrangedSubviews.count - 1)
|
|
}
|
|
}
|
|
|
|
required init?(coder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
|
|
override func loadView() {
|
|
self.view = documentControlView
|
|
}
|
|
|
|
override var preferredContentSize: CGSize {
|
|
get { documentControlView.sizeThatFits(CGSize(width: Self.preferredWidth, height: -1)) }
|
|
set {}
|
|
}
|
|
}
|