// // KMNotesPreferences.swift // PDF Master // // Created by tangchao on 2023/11/6. // import Cocoa class KMNotesPreferences: NSViewController { /* @interface SKNotesPreferences : NSViewController { NSArray *labels1; NSArray *colorLabels2; NSArray *colorLabels3; NSArray *lineLabels2; NSArray *colorWells1; NSArray *colorWells2; NSArray *colorWells3; // NSArray *fontWells; NSArray *lineWells1; NSArray *lineWells2; } */ @IBOutlet weak var noteLabel: NSTextField! @IBOutlet weak var textLabel: NSTextField! @IBOutlet weak var textColorWell: NSColorWell! @IBOutlet weak var anchoredLabel: NSTextField! @IBOutlet weak var anchoredColorWell: NSColorWell! @IBOutlet weak var lineLabel: NSTextField! @IBOutlet weak var lineColorWell: NSColorWell! @IBOutlet weak var lineInteriorLabel: NSTextField! @IBOutlet weak var lineInteriorColorWell: NSColorWell! @IBOutlet weak var circleLabel: NSTextField! @IBOutlet weak var circleColorWell: NSColorWell! @IBOutlet weak var circleInteriorLabel: NSTextField! @IBOutlet weak var circleInteriorColorWell: NSColorWell! @IBOutlet weak var rectLabel: NSTextField! @IBOutlet weak var rectColorWell: NSColorWell! @IBOutlet weak var rectInteriorLabel: NSTextField! @IBOutlet weak var rectInteriorColorWell: NSColorWell! @IBOutlet weak var highlightLabel: NSTextField! @IBOutlet weak var highlightColorWell: NSColorWell! @IBOutlet weak var underlineLabel: NSTextField! @IBOutlet weak var underlineColorWell: NSColorWell! @IBOutlet weak var strikeThroughLabel: NSTextField! @IBOutlet weak var strikeThroughColorWell: NSColorWell! @IBOutlet weak var freehandLabel: NSTextField! @IBOutlet weak var freehandColorWell: NSColorWell! @IBOutlet weak var fontLabel: NSTextField! @IBOutlet weak var textFontLabel: NSTextField! @IBOutlet var fontWell1: KMFontWell! @IBOutlet var fontWell2: KMFontWell! @IBOutlet weak var anchoredFontLabel: NSTextField! @IBOutlet weak var alignmentSegmentControl: NSSegmentedControl! @IBOutlet weak var lineAndBorderLabel: NSTextField! @IBOutlet weak var lbTextLabel: NSTextField! @IBOutlet weak var textLineWell: KMLineWell! @IBOutlet weak var ibLineLabel: NSTextField! @IBOutlet weak var lineLineWell: KMLineWell! @IBOutlet weak var ibFreehandLabel: NSTextField! @IBOutlet weak var freehandLineWell: KMLineWell! @IBOutlet weak var ibCircleLabel: NSTextField! @IBOutlet weak var circleLineWell: KMLineWell! @IBOutlet weak var ibRectLabel: NSTextField! @IBOutlet weak var rectLineWell: KMLineWell! override var nibName: NSNib.Name? { return "NotesPreferences" } override var title: String? { set { super.title = newValue } get { return KMLocalizedString("Annotate", "Preference pane label") } } override func loadView() { super.loadView() // NSMutableArray * = [NSMutableArray array]; var controls: [NSView] = [] // CGFloat , dw1, dw2; var dw: CGFloat = 0 var dw1: CGFloat = 0 var dw2: CGFloat = 0 // [controls addObjectsFromArray:colorWells3]; // dw = SKAutoSizeLabelFields(colorLabels3, controls, NO); // [controls addObjectsFromArray:colorWells2]; // [controls addObjectsFromArray:colorLabels3]; // dw += SKAutoSizeLabelFields(colorLabels2, controls, NO); // [controls addObjectsFromArray:colorWells1]; // [controls addObjectsFromArray:colorLabels2]; // [controls addObjectsFromArray:fontWells]; // [controls addObject:self.fontWell1]; // [controls addObject:self.fontWell2]; // [controls addObjectsFromArray:lineWells1]; // dw += dw1 = SKAutoSizeLabelFields(labels1, controls, NO); // dw2 = SKAutoSizeLabelFields(lineLabels2, lineWells2, NO); // SKShiftAndResizeViews(fontWells, 0.0, dw - dw1); // SKShiftAndResizeViews([lineLabels2 arrayByAddingObjectsFromArray:lineWells2], dw - dw2, 0.0); // SKShiftAndResizeView([self view], 0.0, dw); // NSUserDefaultsController *sudc = [NSUserDefaultsController sharedUserDefaultsController]; // SKLineWell *lineWell = [lineWells1 objectAtIndex:0]; // [lineWell bind:SKLineWellLineWidthKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.freeTextNoteLineWidthKey) options:nil]; // [lineWell bind:SKLineWellStyleKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.freeTextNoteLineStyleKey) options:nil]; // [lineWell bind:SKLineWellDashPatternKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.freeTextNoteDashPatternKey) options:nil]; // [lineWell setDisplayStyle:SKLineWellDisplayStyleRectangle]; self.textLineWell.lineWidth = 0 // // lineWell = [lineWells2 objectAtIndex:0]; // [lineWell bind:SKLineWellLineWidthKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.circleNoteLineWidthKey) options:nil]; // [lineWell bind:SKLineWellStyleKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.circleNoteLineStyleKey) options:nil]; // [lineWell bind:SKLineWellDashPatternKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.circleNoteDashPatternKey) options:nil]; // [lineWell setDisplayStyle:SKLineWellDisplayStyleOval]; self.circleLineWell.displayStyle = .oval self.circleLineWell.lineWidth = 2 // // lineWell = [lineWells2 objectAtIndex:1]; // [lineWell bind:SKLineWellLineWidthKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.squareNoteLineWidthKey) options:nil]; // [lineWell bind:SKLineWellStyleKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.squareNoteLineStyleKey) options:nil]; // [lineWell bind:SKLineWellDashPatternKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.squareNoteDashPatternKey) options:nil]; // [lineWell setDisplayStyle:SKLineWellDisplayStyleRectangle]; self.rectLineWell.displayStyle = .rectangle self.rectLineWell.lineWidth = 2 // // lineWell = [lineWells1 objectAtIndex:1]; // [lineWell bind:SKLineWellLineWidthKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.lineNoteLineWidthKey) options:nil]; // [lineWell bind:SKLineWellStyleKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.lineNoteLineStyleKey) options:nil]; // [lineWell bind:SKLineWellDashPatternKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.lineNoteDashPatternKey) options:nil]; // [lineWell bind:SKLineWellStartLineStyleKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.lineNoteStartLineStyleKey) options:nil]; // [lineWell bind:SKLineWellEndLineStyleKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.lineNoteEndLineStyleKey) options:nil]; self.lineLineWell.displayStyle = .line self.lineLineWell.lineWidth = 2 self.lineLineWell.endLineStyle = .openArrow // // lineWell = [lineWells1 objectAtIndex:2]; // [lineWell bind:SKLineWellLineWidthKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.inkNoteLineWidthKey) options:nil]; // [lineWell bind:SKLineWellStyleKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.inkNoteLineStyleKey) options:nil]; // [lineWell bind:SKLineWellDashPatternKey toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.inkNoteDashPatternKey) options:nil]; // [lineWell setDisplayStyle:SKLineWellDisplayStyleSimpleLine]; self.freehandLineWell.displayStyle = .simpleLine self.freehandLineWell.lineWidth = 2 // let fontWell = self.fontWell1 // NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:NSUnarchiveFromDataTransformerName, NSValueTransformerNameBindingOption, nil]; // [fontWell setHasTextColor:YES]; // [fontWell bind:@"textColor" toObject:sudc withKeyPath:VALUES_KEY_PATH(SKStringConstants.freeTextNoteFontColorKey) options:options]; } override func viewDidLoad() { super.viewDidLoad() // Do view setup here. } } extension KMNotesPreferences: KMPreferencePane { func defaultsDidRevert() { } }