|
|
|
@ -143,49 +143,49 @@ abstract class RenderAbstractEditor implements TextLayoutMetrics { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
class QuillEditor extends StatefulWidget { |
|
|
|
|
const QuillEditor( |
|
|
|
|
{required this.controller, |
|
|
|
|
required this.focusNode, |
|
|
|
|
required this.scrollController, |
|
|
|
|
required this.scrollable, |
|
|
|
|
required this.padding, |
|
|
|
|
required this.autoFocus, |
|
|
|
|
required this.readOnly, |
|
|
|
|
required this.expands, |
|
|
|
|
this.showCursor, |
|
|
|
|
this.paintCursorAboveText, |
|
|
|
|
this.placeholder, |
|
|
|
|
this.enableInteractiveSelection = true, |
|
|
|
|
this.enableSelectionToolbar = true, |
|
|
|
|
this.scrollBottomInset = 0, |
|
|
|
|
this.minHeight, |
|
|
|
|
this.maxHeight, |
|
|
|
|
this.maxContentWidth, |
|
|
|
|
this.customStyles, |
|
|
|
|
this.textCapitalization = TextCapitalization.sentences, |
|
|
|
|
this.keyboardAppearance = Brightness.light, |
|
|
|
|
this.scrollPhysics, |
|
|
|
|
this.onLaunchUrl, |
|
|
|
|
this.onTapDown, |
|
|
|
|
this.onTapUp, |
|
|
|
|
this.onSingleLongTapStart, |
|
|
|
|
this.onSingleLongTapMoveUpdate, |
|
|
|
|
this.onSingleLongTapEnd, |
|
|
|
|
this.embedBuilders, |
|
|
|
|
this.unknownEmbedBuilder, |
|
|
|
|
this.linkActionPickerDelegate = defaultLinkActionPickerDelegate, |
|
|
|
|
this.customStyleBuilder, |
|
|
|
|
this.locale, |
|
|
|
|
this.floatingCursorDisabled = false, |
|
|
|
|
this.textSelectionControls, |
|
|
|
|
this.onImagePaste, |
|
|
|
|
this.customShortcuts, |
|
|
|
|
this.customActions, |
|
|
|
|
this.detectWordBoundary = true, |
|
|
|
|
this.enableUnfocusOnTapOutside = true, |
|
|
|
|
this.customLinkPrefixes = const <String>[], |
|
|
|
|
Key? key}) |
|
|
|
|
: super(key: key); |
|
|
|
|
const QuillEditor({ |
|
|
|
|
required this.controller, |
|
|
|
|
required this.focusNode, |
|
|
|
|
required this.scrollController, |
|
|
|
|
required this.scrollable, |
|
|
|
|
required this.padding, |
|
|
|
|
required this.autoFocus, |
|
|
|
|
required this.readOnly, |
|
|
|
|
required this.expands, |
|
|
|
|
this.showCursor, |
|
|
|
|
this.paintCursorAboveText, |
|
|
|
|
this.placeholder, |
|
|
|
|
this.enableInteractiveSelection = true, |
|
|
|
|
this.enableSelectionToolbar = true, |
|
|
|
|
this.scrollBottomInset = 0, |
|
|
|
|
this.minHeight, |
|
|
|
|
this.maxHeight, |
|
|
|
|
this.maxContentWidth, |
|
|
|
|
this.customStyles, |
|
|
|
|
this.textCapitalization = TextCapitalization.sentences, |
|
|
|
|
this.keyboardAppearance = Brightness.light, |
|
|
|
|
this.scrollPhysics, |
|
|
|
|
this.onLaunchUrl, |
|
|
|
|
this.onTapDown, |
|
|
|
|
this.onTapUp, |
|
|
|
|
this.onSingleLongTapStart, |
|
|
|
|
this.onSingleLongTapMoveUpdate, |
|
|
|
|
this.onSingleLongTapEnd, |
|
|
|
|
this.embedBuilders, |
|
|
|
|
this.unknownEmbedBuilder, |
|
|
|
|
this.linkActionPickerDelegate = defaultLinkActionPickerDelegate, |
|
|
|
|
this.customStyleBuilder, |
|
|
|
|
this.locale, |
|
|
|
|
this.floatingCursorDisabled = false, |
|
|
|
|
this.textSelectionControls, |
|
|
|
|
this.onImagePaste, |
|
|
|
|
this.customShortcuts, |
|
|
|
|
this.customActions, |
|
|
|
|
this.detectWordBoundary = true, |
|
|
|
|
this.enableUnfocusOnTapOutside = true, |
|
|
|
|
this.customLinkPrefixes = const <String>[], |
|
|
|
|
Key? key, |
|
|
|
|
}) : super(key: key); |
|
|
|
|
|
|
|
|
|
factory QuillEditor.basic({ |
|
|
|
|
required QuillController controller, |
|
|
|
@ -302,6 +302,7 @@ class QuillEditor extends StatefulWidget { |
|
|
|
|
/// horizontally centered. This is mostly useful on devices with wide screens. |
|
|
|
|
final double? maxContentWidth; |
|
|
|
|
|
|
|
|
|
/// Allows to override [DefaultStyles]. |
|
|
|
|
final DefaultStyles? customStyles; |
|
|
|
|
|
|
|
|
|
/// Whether this editor's height will be sized to fill its parent. |
|
|
|
@ -401,7 +402,14 @@ class QuillEditor extends StatefulWidget { |
|
|
|
|
/// Returns the url of the image if the image should be inserted. |
|
|
|
|
final Future<String?> Function(Uint8List imageBytes)? onImagePaste; |
|
|
|
|
|
|
|
|
|
final Map<LogicalKeySet, Intent>? customShortcuts; |
|
|
|
|
/// Contains user-defined shortcuts map. |
|
|
|
|
/// |
|
|
|
|
/// [https://docs.flutter.dev/development/ui/advanced/actions-and-shortcuts#shortcuts] |
|
|
|
|
final Map<ShortcutActivator, Intent>? customShortcuts; |
|
|
|
|
|
|
|
|
|
/// Contains user-defined actions. |
|
|
|
|
/// |
|
|
|
|
/// [https://docs.flutter.dev/development/ui/advanced/actions-and-shortcuts#actions] |
|
|
|
|
final Map<Type, Action<Intent>>? customActions; |
|
|
|
|
|
|
|
|
|
final bool detectWordBoundary; |
|
|
|
|