Add QuillToolbarSelectAlignmentButton

pull/1582/head
Ellet 1 year ago
parent 67b27c621a
commit 49ac633f53
No known key found for this signature in database
GPG Key ID: C488CC70BBCEF0D1
  1. 2
      lib/flutter_quill.dart
  2. 2
      lib/src/widgets/toolbar/base_toolbar.dart
  3. 37
      lib/src/widgets/toolbar/buttons/alignment/select_alignment_button.dart
  4. 8
      lib/src/widgets/toolbar/buttons/alignment/select_alignment_buttons.dart
  5. 8
      lib/src/widgets/toolbar/buttons/hearder_style/select_header_style_button.dart
  6. 16
      lib/src/widgets/toolbar/buttons/hearder_style/select_header_style_buttons.dart
  7. 10
      lib/src/widgets/toolbar/buttons/select_alignment_button.dart
  8. 4
      lib/src/widgets/toolbar/simple_toolbar.dart

@ -32,6 +32,6 @@ export 'src/widgets/raw_editor/raw_editor.dart';
export 'src/widgets/raw_editor/raw_editor_state.dart';
export 'src/widgets/style_widgets/style_widgets.dart';
export 'src/widgets/toolbar/base_toolbar.dart';
export 'src/widgets/toolbar/buttons/select_header_style_button.dart';
export 'src/widgets/toolbar/buttons/hearder_style/select_header_style_button.dart';
export 'src/widgets/toolbar/simple_toolbar.dart';
export 'src/widgets/utils/provider.dart';

@ -20,7 +20,7 @@ export 'buttons/link_style2_button.dart';
export 'buttons/link_style_button.dart';
export 'buttons/quill_icon_button.dart';
export 'buttons/search/search_button.dart';
export 'buttons/select_header_style_buttons.dart';
export 'buttons/hearder_style/select_header_style_buttons.dart';
export 'buttons/toggle_check_list_button.dart';
export 'buttons/toggle_style_button.dart';

@ -0,0 +1,37 @@
import 'package:flutter/material.dart';
import '../../../../models/documents/attribute.dart';
import '../../../quill/quill_controller.dart';
enum _AlignmentOptions {
left(attribute: Attribute.leftAlignment),
center(attribute: Attribute.centerAlignment),
right(attribute: Attribute.rightAlignment),
justifyMinWidth(attribute: Attribute.justifyAlignment);
const _AlignmentOptions({required this.attribute});
final Attribute attribute;
}
class QuillToolbarSelectAlignmentButton extends StatelessWidget {
const QuillToolbarSelectAlignmentButton(
{required this.controller, super.key});
final QuillController controller;
@override
Widget build(BuildContext context) {
return MenuAnchor(
menuChildren: _AlignmentOptions.values
.map(
(e) => MenuItemButton(
child: Text(e.name),
onPressed: () {
controller.formatSelection(e.attribute);
},
),
)
.toList(),
);
}
}

@ -1,9 +1,9 @@
import 'package:flutter/material.dart';
import '../../../models/config/toolbar/buttons/select_alignment_configurations.dart';
import '../../../models/documents/attribute.dart';
import '../../quill/quill_controller.dart';
import 'toggle_style_button.dart';
import '../../../../models/config/toolbar/buttons/select_alignment_configurations.dart';
import '../../../../models/documents/attribute.dart';
import '../../../quill/quill_controller.dart';
import '../toggle_style_button.dart';
enum _AlignmentOptions {
left(attribute: Attribute.leftAlignment),

@ -1,9 +1,9 @@
import 'package:flutter/material.dart';
import '../../../../translations.dart';
import '../../../models/config/toolbar/buttons/select_header_style_configurations.dart';
import '../../../models/documents/attribute.dart';
import '../../quill/quill_controller.dart';
import '../../../../../translations.dart';
import '../../../../models/config/toolbar/buttons/select_header_style_configurations.dart';
import '../../../../models/documents/attribute.dart';
import '../../../quill/quill_controller.dart';
enum _HeaderStyleOptions {
normal,

@ -1,14 +1,14 @@
import 'package:flutter/foundation.dart' show kIsWeb;
import 'package:flutter/material.dart';
import '../../../../extensions.dart';
import '../../../extensions/quill_configurations_ext.dart';
import '../../../l10n/extensions/localizations.dart';
import '../../../models/documents/attribute.dart';
import '../../../models/documents/style.dart';
import '../../../models/themes/quill_icon_theme.dart';
import '../../quill/quill_controller.dart';
import '../base_toolbar.dart';
import '../../../../../extensions.dart';
import '../../../../extensions/quill_configurations_ext.dart';
import '../../../../l10n/extensions/localizations.dart';
import '../../../../models/documents/attribute.dart';
import '../../../../models/documents/style.dart';
import '../../../../models/themes/quill_icon_theme.dart';
import '../../../quill/quill_controller.dart';
import '../../base_toolbar.dart';
class QuillToolbarSelectHeaderStyleButtons extends StatefulWidget {
const QuillToolbarSelectHeaderStyleButtons({

@ -1,10 +0,0 @@
import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
const MyWidget({super.key});
@override
Widget build(BuildContext context) {
return const Placeholder();
}
}

@ -7,8 +7,8 @@ import '../../models/documents/attribute.dart';
import '../utils/provider.dart';
import 'base_toolbar.dart';
import 'buttons/arrow_indicated_list_button.dart';
import 'buttons/select_alignment_buttons.dart';
import 'buttons/select_header_style_button.dart';
import 'buttons/alignment/select_alignment_buttons.dart';
import 'buttons/hearder_style/select_header_style_button.dart';
class QuillSimpleToolbar extends StatelessWidget
implements PreferredSizeWidget {

Loading…
Cancel
Save