         return filteredSubviews
     }
     
+    /**
+     (Un)highlight the tabs control.
+     
+     - parameter flag: A boolean value indicating whether the tabs control should adopt a 'highlighted' state
+     (with slightly darker default background colors) or not.
+     */
     public func highlight(flag: Bool) {
         self.isHighlighted = flag
         

    private var hideScrollButtons: Bool = true
    private var isHighlighted: Bool = false

    // MARK: - Public Properties
    
    @IBOutlet public weak var dataSource: TabsControlDataSource?
    @IBOutlet public weak var delegate: TabsControlDelegate? {
        get { return self.delegateInterceptor.receiver as? TabsControlDelegate }
        set { self.delegateInterceptor.receiver = newValue as? NSObject }
    }

    public var automaticSideBorderMasks: Bool = true {
        didSet { self.propagateBorderMask() }
    }
    public var preferFullWidthTabs: Bool = false {
        didSet {
            self.layoutTabButtons(self.tabButtons(), animated: true)
            self.updateAuxiliaryButtons()
        }
    }
    
    public var minTabWidth: CGFloat =  50.0 {
        didSet {
            self.layoutTabButtons(self.tabButtons(), animated: true)
            self.updateAuxiliaryButtons()
        }
    }
    public var maxTabWidth: CGFloat = 150.0 {
        didSet {
            self.layoutTabButtons(self.tabButtons(), animated: true)
            self.updateAuxiliaryButtons()
        }
    }

//    public override var highlighted: Bool {
//        get { return true }
//    }
    
    // MARK: - Public Computed Properties
    
    var tabButtonCell: TabButtonCell {
        get { return self.cell as! TabButtonCell }
    }

    public var tabsStyle: TabsControlTabsStyle {
        get { return self.tabButtonCell.tabStyle }
        set {


import AppKit

/*
 *  KPCTabsControl is the main class of the library, and is designed to suffice for implementing tabs in your app.
 *  The only necessary thing for it to work is an implementation of uts dataSource.
 *  No other classes (such as those of the buttons) should be necessary to access the full features of KPCTabsControl.
 */

/// TabsControl is the main class of the library, and is designed to suffice for implementing tabs in your app.
/// The only necessary thing for it to work is an implementation of its dataSource.
public class TabsControl: NSControl {
    private var ScrollViewObservationContext: UnsafeMutablePointer<Void> = nil // hm, wrong
    private var delegateInterceptor = MessageInterceptor()
