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. 3
      lib/widgets/raw_editor.dart
  4. 2
      lib/widgets/text_block.dart

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

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

@ -29,7 +29,6 @@ import 'delegate.dart';
import 'editor.dart';
import 'keyboard_listener.dart';
class RawEditor extends StatefulWidget {
final QuillController controller;
final FocusNode focusNode;
@ -1177,4 +1176,4 @@ class _Editor extends MultiChildRenderObjectWidget {
renderObject.onSelectionChanged = onSelectionChanged;
renderObject.setPadding(padding);
}
}
}

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

Loading…
Cancel
Save