NetNewsWire/Shared/ExtensionPoints/ExtensionPoint.swift

61 lines
1.4 KiB
Swift
Raw Normal View History

2020-04-07 22:25:33 +02:00
//
// ExtensionPoint.swift
// NetNewsWire
//
// Created by Maurice Parker on 4/7/20.
// Copyright © 2020 Ranchero Software. All rights reserved.
//
#if os(macOS)
import AppKit
#else
import UIKit
#endif
2020-04-07 22:25:33 +02:00
import RSCore
protocol ExtensionPoint {
static var isSinglton: Bool { get }
static var isDeveloperBuildRestricted: Bool { get }
static var title: String { get }
static var image: RSImage { get }
static var description: NSAttributedString { get }
var title: String { get }
var extensionPointID: ExtensionPointIdentifer { get }
}
2020-04-07 22:25:33 +02:00
extension ExtensionPoint {
var image: RSImage {
return extensionPointID.extensionPointType.image
}
var description: NSAttributedString {
2020-04-15 06:03:08 +02:00
return extensionPointID.extensionPointType.description
}
static func makeAttrString(_ text: String) -> NSMutableAttributedString {
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = .center
#if os(macOS)
let attrs = [
NSAttributedString.Key.paragraphStyle: paragraphStyle,
NSAttributedString.Key.font: NSFont.systemFont(ofSize: NSFont.systemFontSize),
NSAttributedString.Key.foregroundColor: NSColor.textColor
]
#else
let attrs = [
NSAttributedString.Key.paragraphStyle: paragraphStyle,
NSAttributedString.Key.font: UIFont.preferredFont(forTextStyle: .body),
NSAttributedString.Key.foregroundColor: UIColor.label
]
#endif
return NSMutableAttributedString(string: text, attributes: attrs)
}
2020-04-07 22:25:33 +02:00
}