123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- //
- // KMDisplayPreferences.swift
- // PDF Master
- //
- // Created by tangchao on 2023/11/6.
- //
- import Cocoa
- @objcMembers class KMDisplayPreferences: NSViewController {
-
- @IBOutlet var tableFontLabelField: NSTextField!
- @IBOutlet var tableFontComboBox: NSComboBox!
- @IBOutlet var greekingLabelField: NSTextField!
- @IBOutlet var greekingTextField: NSTextField!
- @IBOutlet var antiAliasCheckButton: NSButton!
-
- @IBOutlet weak var pagesLabel: NSTextField!
- @IBOutlet weak var snapshotLabel: NSTextField!
- var thumbnailSizeLabels: [NSTextField] = []
-
- @IBOutlet weak var pagesSlider: NSSlider!
- @IBOutlet weak var snapshotSlider: NSSlider!
- @IBOutlet weak var discreteSizeCheckbox: NSButton!
- var thumbnailSizeControls: [NSControl] = []
-
- @IBOutlet weak var normalColorLabel: NSTextField!
- @IBOutlet weak var readingbarColorLabel: NSTextField!
- var colorLabels: [NSTextField] = []
-
-
- @IBOutlet weak var colorControl1: NSColorWell!
- @IBOutlet weak var colorControl2: NSTextField!
- @IBOutlet weak var colorControl3: NSColorWell!
- @IBOutlet weak var colorControl4: NSColorWell!
- @IBOutlet weak var colorControl5: NSButton!
- var colorControls: [NSControl] = []
- /*
- - (NSUInteger)countOfSizes;
- - (NSNumber *)objectInSizesAtIndex:(NSUInteger)anIndex;
- */
-
- override var nibName: NSNib.Name? {
- return "DisplayPreferences"
- }
-
- override func loadView() {
- super.loadView()
-
- self.thumbnailSizeLabels = [self.pagesLabel, self.snapshotLabel]
- self.thumbnailSizeControls = [self.pagesSlider, self.snapshotSlider, self.discreteSizeCheckbox]
- _ = KMAutoSizeLabelFields(self.thumbnailSizeLabels, self.thumbnailSizeControls, false)
- self.discreteSizeCheckbox.sizeToFit()
- _ = KMAutoSizeLabelFields([self.tableFontLabelField], [self.tableFontComboBox], false)
- _ = KMAutoSizeLabelFields([self.greekingLabelField], [self.greekingTextField], false)
- self.antiAliasCheckButton.sizeToFit()
- self.colorLabels = [self.normalColorLabel, self.readingbarColorLabel]
- self.colorControls = [self.colorControl1, self.colorControl2, self.colorControl3, self.colorControl4, self.colorControl5]
- _ = KMAutoSizeLabelFields(self.colorLabels, self.colorControls, false)
- _ = KMAutoSizeLabelFields([self.colorControl2], [self.colorControl3], false);
- self.colorControl5.sizeToFit()
-
- var w = 0.0
- for view in self.view.subviews {
- if view.autoresizingMask.contains(.width) == false {
- var x = NSMaxX(view.frame)
- if view.isKind(of: NSSlider.self) || view.isKind(of: NSButton.self) {
- x -= 2.0
- } else if view.isKind(of: NSComboBox.self) {
- x -= 3.0
- }
- w = fmax(w, x)
- }
- }
- var size = self.view.frame.size
- size.width = w + 20.0
- self.view.setFrameSize(size)
- }
-
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do view setup here.
- }
-
- override var title: String? {
- set {
- super.title = newValue
- }
- get {
- KMLocalizedString("Display", "Preference pane label")
- }
- }
-
- @IBAction func changeDiscreteThumbnailSizes(_ sender: AnyObject?) {
- let slider1 = self.pagesSlider
- let slider2 = self.snapshotSlider
- let button = sender as? NSButton
- if let data = button?.state, data == .on {
- slider1?.numberOfTickMarks = 8
- slider2?.numberOfTickMarks = 8
- slider1?.allowsTickMarkValuesOnly = true
- slider2?.allowsTickMarkValuesOnly = true
- } else {
- slider1?.superview?.setNeedsDisplay(slider1!.frame)
- slider2?.superview?.setNeedsDisplay(slider2!.frame)
-
- slider1?.numberOfTickMarks = 0
- slider2?.numberOfTickMarks = 0
- slider1?.allowsTickMarkValuesOnly = false
- slider2?.allowsTickMarkValuesOnly = false
- }
- slider1?.sizeToFit()
- slider2?.sizeToFit()
- }
-
- /*
- static CGFloat SKDefaultFontSizes[] = {8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 24.0, 28.0, 32.0, 48.0, 64.0};
- #pragma mark Accessors
- - (NSUInteger)countOfSizes {
- return sizeof(SKDefaultFontSizes) / sizeof(CGFloat);
- }
- - (NSNumber *)objectInSizesAtIndex:(NSUInteger)anIndex {
- return [NSNumber numberWithDouble:SKDefaultFontSizes[anIndex]];
- }
- */
-
- }
- extension KMDisplayPreferences: KMPreferencePane {
-
- }
|