## Class: TouchBarSegmentedControl > Create a segmented control (a button group) where one button has a selected state Process: [Main](../tutorial/quick-start.md#main-process) ### `new TouchBarSegmentedControl(options)` _Experimental_ * `options` Object * `segmentStyle` String - (Optional) Style of the segments: * `automatic` - Default * `rounded` * `textured-rounded` * `round-rect` * `textured-square` * `capsule` * `small-square` * `separated` * `segments` [SegmentedControlSegment[]](structures/segmented-control-segment.md) - An array of segments to place in this control * `selectedIndex` Integer (Optional) - The index of the currently selected segment, will update automatically with user interaction * `change` Function - Called when the user selects a new segment * `selectedIndex` Integer - The index of the segment the user selected ### Instance Properties The following properties are available on instances of `TouchBarSegmentedControl`: #### `touchBarSegmentedControl.segmentStyle` A `String` representing the controls current segment style. Updating this value immediately updates the control in the touch bar. #### `touchBarSegmentedControl.segments` A `SegmentedControlSegment[]` array representing the segments in this control. Updating this value immediately updates the control in the touch bar. Updating deep properties inside this array **does not update the touch bar**. #### `touchBarSegmentedControl.selectedIndex` An `Integer` representing the currently selected segment. Changing this value immediately updates the control in the touch bar. User interaction with the touch bar will update this value automatically.