Rename StyleBuilder to CustomStyleBuilder

pull/371/head
Xin Yao 4 years ago
parent bd41d77e85
commit 2c9bbcf8e9
  1. 3
      lib/src/widgets/delegate.dart
  2. 6
      lib/src/widgets/editor.dart
  3. 8
      lib/src/widgets/raw_editor.dart
  4. 6
      lib/src/widgets/text_block.dart
  5. 17
      lib/src/widgets/text_line.dart

@ -2,6 +2,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import '../../flutter_quill.dart';
import '../models/documents/nodes/leaf.dart';
import 'editor.dart';
@ -10,7 +11,7 @@ import 'text_selection.dart';
typedef EmbedBuilder = Widget Function(
BuildContext context, Embed node, bool readOnly);
typedef StyleBuilder = TextStyle Function(String attributeKey);
typedef CustomStyleBuilder = TextStyle Function(Attribute attribute);
abstract class EditorTextSelectionGestureDetectorBuilderDelegate {
GlobalKey<EditorState> getEditableTextKey();

@ -252,7 +252,7 @@ class QuillEditor extends StatefulWidget {
this.onSingleLongTapMoveUpdate,
this.onSingleLongTapEnd,
this.embedBuilder = _defaultEmbedBuilder,
this.styleBuilder,
this.customStyleBuilder,
Key? key});
factory QuillEditor.basic({
@ -312,7 +312,7 @@ class QuillEditor extends StatefulWidget {
onSingleLongTapEnd;
final EmbedBuilder embedBuilder;
final StyleBuilder? styleBuilder;
final CustomStyleBuilder? customStyleBuilder;
@override
_QuillEditorState createState() => _QuillEditorState();
@ -417,7 +417,7 @@ class _QuillEditorState extends State<QuillEditor>
widget.enableInteractiveSelection,
widget.scrollPhysics,
widget.embedBuilder,
widget.styleBuilder,
widget.customStyleBuilder,
),
);
}

@ -57,7 +57,7 @@ class RawEditor extends StatefulWidget {
this.enableInteractiveSelection,
this.scrollPhysics,
this.embedBuilder,
this.styleBuilder,
this.customStyleBuilder,
) : assert(maxHeight == null || maxHeight > 0, 'maxHeight cannot be null'),
assert(minHeight == null || minHeight >= 0, 'minHeight cannot be null'),
assert(maxHeight == null || minHeight == null || maxHeight >= minHeight,
@ -90,7 +90,7 @@ class RawEditor extends StatefulWidget {
final bool enableInteractiveSelection;
final ScrollPhysics? scrollPhysics;
final EmbedBuilder embedBuilder;
final StyleBuilder? styleBuilder;
final CustomStyleBuilder? customStyleBuilder;
@override
State<StatefulWidget> createState() => RawEditorState();
}
@ -249,7 +249,7 @@ class RawEditorState extends EditorState
indentLevelCounts: indentLevelCounts,
onCheckboxTap: _handleCheckboxTap,
readOnly: widget.readOnly,
styleBuilder: widget.styleBuilder);
customStyleBuilder: widget.customStyleBuilder);
result.add(editableTextBlock);
} else {
throw StateError('Unreachable.');
@ -264,7 +264,7 @@ class RawEditorState extends EditorState
line: node,
textDirection: _textDirection,
embedBuilder: widget.embedBuilder,
styleBuilder: widget.styleBuilder,
customStyleBuilder: widget.customStyleBuilder,
styles: _styles!,
readOnly: widget.readOnly,
);

@ -63,7 +63,7 @@ class EditableTextBlock extends StatelessWidget {
required this.indentLevelCounts,
required this.onCheckboxTap,
required this.readOnly,
this.styleBuilder,
this.customStyleBuilder,
Key? key});
final Block block;
@ -77,7 +77,7 @@ class EditableTextBlock extends StatelessWidget {
final bool hasFocus;
final EdgeInsets? contentPadding;
final EmbedBuilder embedBuilder;
final StyleBuilder? styleBuilder;
final CustomStyleBuilder? customStyleBuilder;
final CursorCont cursorCont;
final Map<int, int> indentLevelCounts;
final Function(int, bool) onCheckboxTap;
@ -125,7 +125,7 @@ class EditableTextBlock extends StatelessWidget {
line: line,
textDirection: textDirection,
embedBuilder: embedBuilder,
styleBuilder: styleBuilder,
customStyleBuilder: customStyleBuilder,
styles: styles!,
readOnly: readOnly,
),

@ -27,7 +27,7 @@ class TextLine extends StatelessWidget {
required this.styles,
required this.readOnly,
this.textDirection,
this.styleBuilder,
this.customStyleBuilder,
Key? key,
}) : super(key: key);
@ -36,7 +36,7 @@ class TextLine extends StatelessWidget {
final EmbedBuilder embedBuilder;
final DefaultStyles styles;
final bool readOnly;
final StyleBuilder? styleBuilder;
final CustomStyleBuilder? customStyleBuilder;
@override
Widget build(BuildContext context) {
@ -158,13 +158,16 @@ class TextLine extends StatelessWidget {
TextStyle _applyCustomAttributes(
TextStyle textStyle, Map<String, Attribute> attributes) {
if (styleBuilder == null) {
if (customStyleBuilder == null) {
return textStyle;
}
attributes.keys.where((key) => !attributes.containsKey(key)).forEach((key) {
/// Custom Attribute
final customAttr = styleBuilder!.call(key);
textStyle = textStyle.merge(customAttr);
attributes.keys.forEach((key) {
final attr = attributes[key];
if (attr != null) {
/// Custom Attribute
final customAttr = customStyleBuilder!.call(attr);
textStyle = textStyle.merge(customAttr);
}
});
return textStyle;
}

Loading…
Cancel
Save