Fix issues with basic widget rendering and editing

pull/95/head
Miller Adulu 4 years ago
parent 419f31371b
commit 9f03b21f83
  1. 12
      lib/widgets/delegate.dart
  2. 14
      lib/widgets/editor.dart
  3. 1
      lib/widgets/raw_editor.dart
  4. 2
      lib/widgets/text_block.dart

@ -14,7 +14,7 @@ abstract class EditorTextSelectionGestureDetectorBuilderDelegate {
bool getForcePressEnabled(); bool getForcePressEnabled();
bool? getSelectionEnabled(); bool getSelectionEnabled();
} }
class EditorTextSelectionGestureDetectorBuilder { class EditorTextSelectionGestureDetectorBuilder {
@ -43,7 +43,7 @@ class EditorTextSelectionGestureDetectorBuilder {
onForcePressStart(ForcePressDetails details) { onForcePressStart(ForcePressDetails details) {
assert(delegate.getForcePressEnabled()); assert(delegate.getForcePressEnabled());
shouldShowSelectionToolbar = true; shouldShowSelectionToolbar = true;
if (delegate.getSelectionEnabled()!) { if (delegate.getSelectionEnabled()) {
getRenderEditor()!.selectWordsInRange( getRenderEditor()!.selectWordsInRange(
details.globalPosition, details.globalPosition,
null, null,
@ -65,7 +65,7 @@ class EditorTextSelectionGestureDetectorBuilder {
} }
onSingleTapUp(TapUpDetails details) { onSingleTapUp(TapUpDetails details) {
if (delegate.getSelectionEnabled()!) { if (delegate.getSelectionEnabled()) {
getRenderEditor()!.selectWordEdge(SelectionChangedCause.tap); getRenderEditor()!.selectWordEdge(SelectionChangedCause.tap);
} }
} }
@ -73,7 +73,7 @@ class EditorTextSelectionGestureDetectorBuilder {
onSingleTapCancel() {} onSingleTapCancel() {}
onSingleLongTapStart(LongPressStartDetails details) { onSingleLongTapStart(LongPressStartDetails details) {
if (delegate.getSelectionEnabled()!) { if (delegate.getSelectionEnabled()) {
getRenderEditor()!.selectPositionAt( getRenderEditor()!.selectPositionAt(
details.globalPosition, details.globalPosition,
null, null,
@ -83,7 +83,7 @@ class EditorTextSelectionGestureDetectorBuilder {
} }
onSingleLongTapMoveUpdate(LongPressMoveUpdateDetails details) { onSingleLongTapMoveUpdate(LongPressMoveUpdateDetails details) {
if (delegate.getSelectionEnabled()!) { if (delegate.getSelectionEnabled()) {
getRenderEditor()!.selectPositionAt( getRenderEditor()!.selectPositionAt(
details.globalPosition, details.globalPosition,
null, null,
@ -99,7 +99,7 @@ class EditorTextSelectionGestureDetectorBuilder {
} }
onDoubleTapDown(TapDownDetails details) { onDoubleTapDown(TapDownDetails details) {
if (delegate.getSelectionEnabled()!) { if (delegate.getSelectionEnabled()) {
getRenderEditor()!.selectWord(SelectionChangedCause.tap); getRenderEditor()!.selectWord(SelectionChangedCause.tap);
if (shouldShowSelectionToolbar) { if (shouldShowSelectionToolbar) {
getEditor()!.showToolbar(); getEditor()!.showToolbar();

@ -269,10 +269,10 @@ class _QuillEditorState extends State<QuillEditor>
widget.placeholder, widget.placeholder,
widget.onLaunchUrl, widget.onLaunchUrl,
ToolbarOptions( ToolbarOptions(
copy: widget.enableInteractiveSelection ?? true, copy: widget.enableInteractiveSelection,
cut: widget.enableInteractiveSelection ?? true, cut: widget.enableInteractiveSelection,
paste: widget.enableInteractiveSelection ?? true, paste: widget.enableInteractiveSelection,
selectAll: widget.enableInteractiveSelection ?? true, selectAll: widget.enableInteractiveSelection,
), ),
theme.platform == TargetPlatform.iOS || theme.platform == TargetPlatform.iOS ||
theme.platform == TargetPlatform.android, theme.platform == TargetPlatform.android,
@ -295,7 +295,7 @@ class _QuillEditorState extends State<QuillEditor>
selectionColor, selectionColor,
textSelectionControls, textSelectionControls,
widget.keyboardAppearance, widget.keyboardAppearance,
widget.enableInteractiveSelection ?? true, widget.enableInteractiveSelection,
widget.scrollPhysics, widget.scrollPhysics,
widget.embedBuilder), widget.embedBuilder),
); );
@ -330,7 +330,7 @@ class _QuillEditorSelectionGestureDetectorBuilder
@override @override
onForcePressStart(ForcePressDetails details) { onForcePressStart(ForcePressDetails details) {
super.onForcePressStart(details); super.onForcePressStart(details);
if (delegate.getSelectionEnabled()! && shouldShowSelectionToolbar) { if (delegate.getSelectionEnabled() && shouldShowSelectionToolbar) {
getEditor()!.showToolbar(); getEditor()!.showToolbar();
} }
} }
@ -498,7 +498,7 @@ class _QuillEditorSelectionGestureDetectorBuilder
@override @override
void onSingleLongTapStart(LongPressStartDetails details) { void onSingleLongTapStart(LongPressStartDetails details) {
if (delegate.getSelectionEnabled()!) { if (delegate.getSelectionEnabled()) {
switch (Theme.of(_state.context).platform) { switch (Theme.of(_state.context).platform) {
case TargetPlatform.iOS: case TargetPlatform.iOS:
case TargetPlatform.macOS: case TargetPlatform.macOS:

@ -29,7 +29,6 @@ import 'delegate.dart';
import 'editor.dart'; import 'editor.dart';
import 'keyboard_listener.dart'; import 'keyboard_listener.dart';
class RawEditor extends StatefulWidget { class RawEditor extends StatefulWidget {
final QuillController controller; final QuillController controller;
final FocusNode focusNode; final FocusNode focusNode;

@ -107,7 +107,7 @@ class EditableTextBlock extends StatelessWidget {
int count = block.children.length; int count = block.children.length;
var children = <Widget>[]; var children = <Widget>[];
int index = 0; int index = 0;
for (Line line in block.children as Iterable<Line>) { for (Line line in Iterable.castFrom<dynamic, Line>(block.children)) {
index++; index++;
EditableTextLine editableTextLine = EditableTextLine( EditableTextLine editableTextLine = EditableTextLine(
line, line,

Loading…
Cancel
Save