|
|
|
@ -34,8 +34,7 @@ class _SelectHeaderStyleButtonState extends State<SelectHeaderStyleButton> { |
|
|
|
|
void initState() { |
|
|
|
|
super.initState(); |
|
|
|
|
setState(() { |
|
|
|
|
_value = |
|
|
|
|
_selectionStyle.attributes[Attribute.header.key] ?? Attribute.header; |
|
|
|
|
_value = _getHeaderValue(); |
|
|
|
|
}); |
|
|
|
|
widget.controller.addListener(_didChangeEditingValue); |
|
|
|
|
} |
|
|
|
@ -107,19 +106,27 @@ class _SelectHeaderStyleButtonState extends State<SelectHeaderStyleButton> { |
|
|
|
|
|
|
|
|
|
void _didChangeEditingValue() { |
|
|
|
|
setState(() { |
|
|
|
|
_value = |
|
|
|
|
_selectionStyle.attributes[Attribute.header.key] ?? Attribute.header; |
|
|
|
|
_value = _getHeaderValue(); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Attribute<dynamic> _getHeaderValue() { |
|
|
|
|
final attr = widget.controller.toolbarButtonToggler[Attribute.header.key]; |
|
|
|
|
if (attr != null) { |
|
|
|
|
// checkbox tapping causes controller.selection to go to offset 0 |
|
|
|
|
widget.controller.toolbarButtonToggler.remove(Attribute.header.key); |
|
|
|
|
return attr; |
|
|
|
|
} |
|
|
|
|
return _selectionStyle.attributes[Attribute.header.key] ?? Attribute.header; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@override |
|
|
|
|
void didUpdateWidget(covariant SelectHeaderStyleButton oldWidget) { |
|
|
|
|
super.didUpdateWidget(oldWidget); |
|
|
|
|
if (oldWidget.controller != widget.controller) { |
|
|
|
|
oldWidget.controller.removeListener(_didChangeEditingValue); |
|
|
|
|
widget.controller.addListener(_didChangeEditingValue); |
|
|
|
|
_value = |
|
|
|
|
_selectionStyle.attributes[Attribute.header.key] ?? Attribute.header; |
|
|
|
|
_value = _getHeaderValue(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|