Browse Source

Add docs and add isSelected arg

Samuel Attard 8 years ago
parent
commit
718dc732ad

+ 1 - 0
atom/browser/ui/cocoa/atom_touch_bar.mm

@@ -224,6 +224,7 @@ static NSString* const ImageScrubberItemIdentifier = @"scrubber.image.item";
   NSString* item_id = [NSString stringWithFormat:@"%ld", ((NSSegmentedControl*)sender).tag];
   base::DictionaryValue details;
   details.SetInteger("selectedIndex", ((NSSegmentedControl*)sender).selectedSegment);
+  details.SetBoolean("isSelected", [((NSSegmentedControl*)sender) isSelectedForSegment:((NSSegmentedControl*)sender).selectedSegment]);
   window_->NotifyTouchBarItemInteraction([item_id UTF8String],
                                          details);
 }

+ 6 - 1
docs/api/touch-bar-segmented-control.md

@@ -21,10 +21,15 @@ Process: [Main](../tutorial/quick-start.md#main-process)
     * `small-square` - The control is displayed using the small square style.
     * `separated` - The segments in the control are displayed very close to each
       other but not touching.
+  * `mode` String - (Optional) The selection mode of the control:
+    * `single` - Default. One item selected at a time, selecting one deselects the previously selected item
+    * `multiple` - Multiple items can be selected at a time
+    * `buttons` - Make the segments act as buttons, each segment can be pressed and released but never marked as active
   * `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
+  * `selectedIndex` Integer (Optional) - The index of the currently selected segment, will update automatically with user interaction.  When the mode is multiple will be the last selected item
   * `change` Function - Called when the user selects a new segment
     * `selectedIndex` Integer - The index of the segment the user selected
+    * `isSelected` Boolean - Whether as a result of user selection the segment is selected or not
 
 ### Instance Properties
 

+ 1 - 1
lib/browser/api/touch-bar.js

@@ -274,7 +274,7 @@ TouchBar.TouchBarSegmentedControl = class TouchBarSegmentedControl extends Touch
     if (typeof change === 'function') {
       this.onInteraction = (details) => {
         this._selectedIndex = details.selectedIndex
-        change(details.selectedIndex)
+        change(details.selectedIndex, details.isSelected)
       }
     }
   }