Add support for setting TouchBarLabel text color

This commit is contained in:
Kevin Sawicki 2017-03-03 15:14:51 -08:00
parent 0098822fcf
commit 2680ee9f8f
4 changed files with 21 additions and 1 deletions

View file

@ -247,10 +247,18 @@ static NSTouchBarItemIdentifier SliderIdentifier = @"com.electron.touchbar.slide
- (void)updateLabel:(NSCustomTouchBarItem*)item
withSettings:(const mate::PersistentDictionary&)settings {
NSTextField* text_field = (NSTextField*)item.view;
std::string label;
settings.Get("label", &label);
NSTextField* text_field = (NSTextField*)item.view;
text_field.stringValue = base::SysUTF8ToNSString(label);
std::string textColor;
if (settings.Get("textColor", &textColor) && !textColor.empty()) {
text_field.textColor = [self colorFromHexColorString:textColor];
} else {
text_field.textColor = nil;
}
}
- (NSTouchBarItem*)makeColorPickerForID:(NSString*)id

View file

@ -8,6 +8,7 @@ Process: [Main](../tutorial/quick-start.md#main-process)
* `options` Object
* `label` String (optional) - Text to display.
* `textColor` String (optional) - Hex color of text, i.e `#ABCDEF`.
### Instance Properties
@ -17,3 +18,8 @@ The following properties are available on instances of `TouchBarLabel`:
The label's current text. Changing this value immediately updates the label in
the touch bar.
#### `touchBarLabel.textColor`
The label's current text color. Changing this value immediately updates the
label in the touch bar.

View file

@ -80,12 +80,15 @@ const finishSpin = () => {
if (uniqueValues === 1) {
// All 3 values are the same
result.label = '💰 Jackpot!'
result.textColor = '#FDFF00'
} else if (uniqueValues === 2) {
// 2 values are the same
result.label = '😍 Winner!'
result.textColor = '#FDFF00'
} else {
// No values are the same
result.label = '🙁 Spin Again'
result.textColor = null
}
spinning = false
}
@ -94,7 +97,9 @@ const touchBar = new TouchBar([
spin,
new TouchBarSpacer({size: 'large'}),
reel1,
new TouchBarSpacer({size: 'small'}),
reel2,
new TouchBarSpacer({size: 'small'}),
reel3,
new TouchBarSpacer({size: 'large'}),
result

View file

@ -164,6 +164,7 @@ TouchBar.TouchBarLabel = class TouchBarLabel extends TouchBarItem {
if (config == null) config = {}
this.type = 'label'
this._addLiveProperty('label', config.label)
this._addLiveProperty('textColor', config.textColor)
}
}