feat: added chart scale setting to the CPU popup settings

This commit is contained in:
Serhiy Mytrovtsiy
2024-04-05 18:54:37 +02:00
parent 8a27539df1
commit 9d828bb663
2 changed files with 90 additions and 1 deletions

View File

@@ -385,6 +385,50 @@ public extension NSView {
return view
}
func sliderSettingsRow(title: String, action: Selector, value: Int, suffix: String, isHidden: Bool = false, min: Double = 1, max: Double = 100) -> NSView {
let view: NSStackView = NSStackView()
view.translatesAutoresizingMaskIntoConstraints = false
view.heightAnchor.constraint(equalToConstant: Constants.Settings.row * 1.2).isActive = true
view.orientation = .horizontal
view.alignment = .centerY
view.distribution = .fill
view.spacing = 0
view.isHidden = isHidden
let titleField: NSTextField = LabelField(frame: NSRect(x: 0, y: 0, width: 0, height: 0), title)
titleField.font = NSFont.systemFont(ofSize: 12, weight: .regular)
titleField.textColor = .textColor
let container: NSView = NSView()
container.identifier = NSUserInterfaceItemIdentifier("container")
let valueField: NSTextField = LabelField(frame: NSRect(x: 0, y: 21, width: 195, height: 15), "\(value) \(suffix)")
valueField.font = NSFont.systemFont(ofSize: 12, weight: .regular)
valueField.textColor = .textColor
valueField.alignment = .center
let slider = NSSlider(frame: NSRect(x: 0, y: -5, width: 195, height: 0))
slider.minValue = min
slider.maxValue = max
slider.intValue = Int32(value)
slider.target = self
slider.isContinuous = true
slider.action = action
slider.sizeToFit()
container.addSubview(valueField)
container.addSubview(slider)
view.addArrangedSubview(titleField)
view.addArrangedSubview(NSView())
view.addArrangedSubview(container)
container.widthAnchor.constraint(equalToConstant: 195).isActive = true
container.heightAnchor.constraint(equalTo: view.heightAnchor).isActive = true
return view
}
func selectView(action: Selector, items: [KeyValue_p], selected: String) -> NSPopUpButton {
let select: NSPopUpButton = NSPopUpButton(frame: NSRect(x: 0, y: 0, width: 50, height: 28))
select.target = self