/KPCJumpBarControl

A macOS jump bar similar to Xcode's allowing to navigate accross a tree of objects

Primary LanguageSwiftMIT LicenseMIT

KPCTabsControlKPCJumpBarControlKPCSplitPanesKPCAppTerminationKPCSearchableOutlineViewKPCImportSheetController


KPCJumpBarControl

Build Status Version License Platform Carthage compatible

A jump bar similar to Xcode's allowing to easily display and navigate across a tree of objects.

Demo Jump Bar Screenshot

Demo JumpBar

Installation

Using Carthage: add github "onekiloparsec/KPCJumpBarControl" to your Cartfile and then run carthage update.

Using CocoaPods: pod 'KPCJumpBarControl'

Usage

KPCJumpBarControl is designed for you to use only the JumpBarControl class, and fill it with a tree of object conforming to JumpBarItem. A helper class JumpBarSegment is here for that, if you need one. Simply place a NSView in a storyboard or xib, where you need a jump bar, change its class to JumpBarControl and that's it. To react when the jumbpar selection change, implement the JumpBarControlDelegate methods.

For instance:

    let rootSegment = JumpBarItem(withTitle:"level 0", icon:NSImage(named:"Oval"))
    let segment1Item0 = JumpBarItem(withTitle:"level 1.0", icon:NSImage(named:"Polygon"))
    let segment1Item1 = JumpBarItem(withTitle:"level 1.1", icon:NSImage(named:"Rectangle"))
 
    rootSegment.children = [segment1Item0, segment1Item1]
  
    self.jumpBar?.useItemsTree([rootSegment])
    self.jumpBar?.delegate = self

Highlighting

The jump bar control support the possibility to be highlighted. This is useful when you have multiple subviews, for instance using KPCSplitPanes, each with jump bars, and you need to indicate to the user which subview is actually 'active'.

Author

Cédric Foellmi (@onekiloparsec)

LICENSE & NOTES

KPCJumpBarControl is licensed under the MIT license and hosted on GitHub at https://github.com/onekiloparsec/KPCJumpBarControl/ Fork the project and feel free to send pull requests with your changes!