# CutBox.app

## Coverage Report

#### Created: 2024-03-12 03:40

    .../Source/Components/Popup/PopupContainerView.swift

    Line

    Count

    Source (jump to first uncovered line)

    1

    //

    2

    //  PopupContainerView.swift

    3

    //  CutBox

    4

    //

    5

    //  Created by Jason Milkins on 31/3/18.

    6

    //  Copyright © 2018-2023 ocodo. All rights reserved.

    7

    //

    8

    9

    import Cocoa

    10

    11

    class PopupContainerView: CutBoxBaseView {

    12

        var contentInset: CGFloat = 1

    13

    14

        var contentView: CutBoxBaseView? {

    15

    179

            didSet {

    16

    179

                removeConstraints(constraints)

    17

    179

                guard let contentView = contentView

    18

    179

                    else { return }

    19

    179

    20

    179

                contentView.translatesAutoresizingMaskIntoConstraints = false

    21

    179

                addSubview(contentView)

    22

    358

                ["H:|-0-[contentView]-0-|", "V:|-0-[contentView]-0-|"].forEach {

    23

    358

                    addConstraints(NSLayoutConstraint.constraints(withVisualFormat: $0,

    24

    358

                                                                  options: .directionLeadingToTrailing,

    25

    358

                                                                  metrics: nil,

    26

    358

                                                                  views: ["contentView": contentView]))

    27

    358

                }

    28

    179

            }

    29

        }

    30

    31

    179

        var superviewConstraints = [NSLayoutConstraint]()

    32

    33

    179

        func setup() {

    34

    179

            self.translatesAutoresizingMaskIntoConstraints = false

    35

    179

            resetConstraints()

    36

    179

        }

    37

    38

    184

        func resetConstraints() {

    39

    184

            guard let superview = superview as? PopupBackgroundView

    40

    184

                else { return }

    41

    184

    42

    184

            superview.removeConstraints(superviewConstraints)

    43

    184

    44

    184

            let horizontalFormat = "H:|-\(contentInset)-[containerView]-\(contentInset)-|"

    45

    184

            let verticalFormat = "V:|-\(contentInset)-[containerView]-\(contentInset)-|"

    46

    184

    47

    184

            let horizontalConstraints = NSLayoutConstraint

    48

    184

                .constraints(withVisualFormat: horizontalFormat,

    49

    184

                             options: .directionLeadingToTrailing,

    50

    184

                             metrics: nil,

    51

    184

                             views: ["containerView": self])

    52

    184

    53

    184

            let verticalConstraints = NSLayoutConstraint

    54

    184

                .constraints(withVisualFormat: verticalFormat,

    55

    184

                             options: .directionLeadingToTrailing,

    56

    184

                             metrics: nil,

    57

    184

                             views: ["containerView": self])

    58

    184

    59

    184

            self.superviewConstraints = horizontalConstraints + verticalConstraints

    60

    184

            superview.addConstraints(superviewConstraints)

    61

    184

        }

    62

    }