feat: allow TouchBarButton instances to be disabled (#20945)

* feat: allow TouchBarButton instances to be disabled

* Update touch-bar-button.md
This commit is contained in:
Samuel Attard 2019-11-05 15:56:36 -08:00 committed by GitHub
parent 9a198e8ef4
commit 5b7382765c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 0 deletions

View file

@ -14,6 +14,7 @@ Process: [Main](../tutorial/application-architecture.md#main-and-renderer-proces
* `icon` [NativeImage](native-image.md) | String (optional) - Button icon.
* `iconPosition` String (optional) - Can be `left`, `right` or `overlay`. Defaults to `overlay`.
* `click` Function (optional) - Function to call when the button is clicked.
* `enabled` Boolean (optional) - Whether the button is in an enabled state. Default is `true`.
When defining `accessibilityLabel`, ensure you have considered macOS [best practices](https://developer.apple.com/documentation/appkit/nsaccessibilitybutton/1524910-accessibilitylabel?language=objc).
@ -39,3 +40,7 @@ the button in the touch bar.
A `NativeImage` representing the button's current icon. Changing this value immediately updates the button
in the touch bar.
#### `touchBarButton.enabled`
A `Boolean` representing whether the button is in an enabled state.

View file

@ -196,6 +196,7 @@ TouchBar.TouchBarButton = class TouchBarButton extends TouchBarItem {
this._addLiveProperty('backgroundColor', config.backgroundColor)
this._addLiveProperty('icon', config.icon)
this._addLiveProperty('iconPosition', config.iconPosition)
this._addLiveProperty('enabled', typeof config.enabled !== 'boolean' ? true : config.enabled)
if (typeof config.click === 'function') {
this._addImmutableProperty('onInteraction', () => {
config.click()

View file

@ -384,6 +384,10 @@ static NSString* const ImageScrubberItemIdentifier = @"scrubber.image.item";
button.imagePosition = NSImageOverlaps;
}
}
bool enabled = true;
settings.Get("enabled", &enabled);
[button setEnabled:enabled];
}
- (NSTouchBarItem*)makeLabelForID:(NSString*)id