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

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

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

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

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

Loading…
Cancel
Save