KMDisplayPreferences.swift 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. //
  2. // KMDisplayPreferences.swift
  3. // PDF Master
  4. //
  5. // Created by tangchao on 2023/11/6.
  6. //
  7. import Cocoa
  8. @objcMembers class KMDisplayPreferences: NSViewController {
  9. @IBOutlet var tableFontLabelField: NSTextField!
  10. @IBOutlet var tableFontComboBox: NSComboBox!
  11. @IBOutlet var greekingLabelField: NSTextField!
  12. @IBOutlet var greekingTextField: NSTextField!
  13. @IBOutlet var antiAliasCheckButton: NSButton!
  14. /*
  15. @interface SKDisplayPreferences : NSViewController <SKPreferencePane> {
  16. NSArray *thumbnailSizeLabels;
  17. NSArray *thumbnailSizeControls;
  18. NSArray *colorLabels;
  19. NSArray *colorControls;
  20. }
  21. @property (nonatomic, retain) IBOutlet NSArray *thumbnailSizeLabels, *thumbnailSizeControls, *colorLabels, *colorControls;
  22. - (NSUInteger)countOfSizes;
  23. - (NSNumber *)objectInSizesAtIndex:(NSUInteger)anIndex;
  24. - (IBAction)changeDiscreteThumbnailSizes:(id)sender;
  25. */
  26. override var nibName: NSNib.Name? {
  27. return "DisplayPreferences"
  28. }
  29. override func loadView() {
  30. super.loadView()
  31. // SKAutoSizeLabelFields(thumbnailSizeLabels, thumbnailSizeControls, NO);
  32. // [[thumbnailSizeControls lastObject] sizeToFit];
  33. // SKAutoSizeLabelField(tableFontLabelField, tableFontComboBox, NO);
  34. // SKAutoSizeLabelField(greekingLabelField, greekingTextField, NO);
  35. antiAliasCheckButton.sizeToFit()
  36. // SKAutoSizeLabelFields(colorLabels, colorControls, NO);
  37. // SKAutoSizeLabelField([colorControls objectAtIndex:1], [colorControls objectAtIndex:2], NO);
  38. // [[colorControls lastObject] sizeToFit];
  39. var w = 0.0
  40. for view in self.view.subviews {
  41. if view.autoresizingMask.contains(.width) == false {
  42. // if (([view autoresizingMask] & NSViewWidthSizable) == 0) {
  43. var x = NSMaxX(view.frame)
  44. if view.isKind(of: NSSlider.self) || view.isKind(of: NSButton.self) {
  45. // if ([view isKindOfClass:[NSSlider class]] || [view isKindOfClass:[NSButton class]])
  46. x -= 2.0
  47. } else if view.isKind(of: NSComboBox.self) {
  48. // else if ([view isKindOfClass:[NSComboBox class]])
  49. x -= 3.0
  50. w = fmax(w, x)
  51. }
  52. }
  53. }
  54. var size = self.view.frame.size
  55. size.width = w + 20.0
  56. self.view.setFrameSize(size)
  57. }
  58. override func viewDidLoad() {
  59. super.viewDidLoad()
  60. // Do view setup here.
  61. }
  62. override var title: String? {
  63. set {
  64. super.title = newValue
  65. }
  66. get {
  67. KMLocalizedString("Display", "Preference pane label")
  68. }
  69. }
  70. /*
  71. 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};
  72. @implementation SKDisplayPreferences
  73. @synthesize tableFontLabelField, tableFontComboBox, greekingLabelField, greekingTextField, antiAliasCheckButton, thumbnailSizeLabels, thumbnailSizeControls, colorLabels, colorControls;
  74. - (void)dealloc {
  75. // SKDESTROY(tableFontLabelField);
  76. // SKDESTROY(tableFontComboBox);
  77. // SKDESTROY(greekingLabelField);
  78. // SKDESTROY(greekingTextField);
  79. // SKDESTROY(antiAliasCheckButton);
  80. // SKDESTROY(thumbnailSizeLabels);
  81. // SKDESTROY(thumbnailSizeControls);
  82. // SKDESTROY(colorLabels);
  83. // SKDESTROY(colorControls);
  84. // [super dealloc];
  85. }
  86. #pragma mark Accessors
  87. - (NSUInteger)countOfSizes {
  88. return sizeof(SKDefaultFontSizes) / sizeof(CGFloat);
  89. }
  90. - (NSNumber *)objectInSizesAtIndex:(NSUInteger)anIndex {
  91. return [NSNumber numberWithDouble:SKDefaultFontSizes[anIndex]];
  92. }
  93. #pragma mark Actions
  94. - (IBAction)changeDiscreteThumbnailSizes:(id)sender {
  95. NSSlider *slider1 = [thumbnailSizeControls objectAtIndex:0];
  96. NSSlider *slider2 = [thumbnailSizeControls objectAtIndex:1];
  97. if ([(NSButton *)sender state] == NSOnState) {
  98. [slider1 setNumberOfTickMarks:8];
  99. [slider2 setNumberOfTickMarks:8];
  100. [slider1 setAllowsTickMarkValuesOnly:YES];
  101. [slider2 setAllowsTickMarkValuesOnly:YES];
  102. } else {
  103. [[slider1 superview] setNeedsDisplayInRect:[slider1 frame]];
  104. [[slider2 superview] setNeedsDisplayInRect:[slider2 frame]];
  105. [slider1 setNumberOfTickMarks:0];
  106. [slider2 setNumberOfTickMarks:0];
  107. [slider1 setAllowsTickMarkValuesOnly:NO];
  108. [slider2 setAllowsTickMarkValuesOnly:NO];
  109. }
  110. [slider1 sizeToFit];
  111. [slider2 sizeToFit];
  112. }
  113. */
  114. }