pull/1566/head
parent
4b4c148946
commit
0d39d9d4e9
28 changed files with 159 additions and 102 deletions
@ -1,6 +1,6 @@ |
|||||||
import 'package:flutter/widgets.dart' show VoidCallback, Widget; |
import 'package:flutter/widgets.dart' show VoidCallback, Widget; |
||||||
|
|
||||||
import 'base.dart'; |
import 'base_configurations.dart'; |
||||||
|
|
||||||
class QuillToolbarCustomButtonExtraOptions |
class QuillToolbarCustomButtonExtraOptions |
||||||
extends QuillToolbarBaseButtonExtraOptions { |
extends QuillToolbarBaseButtonExtraOptions { |
@ -1,6 +1,6 @@ |
|||||||
import 'package:flutter/foundation.dart'; |
import 'package:flutter/foundation.dart'; |
||||||
|
|
||||||
import 'base.dart'; |
import 'base_configurations.dart'; |
||||||
|
|
||||||
class QuillToolbarIndentButtonExtraOptions |
class QuillToolbarIndentButtonExtraOptions |
||||||
extends QuillToolbarBaseButtonExtraOptions { |
extends QuillToolbarBaseButtonExtraOptions { |
@ -1,7 +1,7 @@ |
|||||||
import 'package:flutter/widgets.dart'; |
import 'package:flutter/widgets.dart'; |
||||||
|
|
||||||
import '../../../themes/quill_dialog_theme.dart'; |
import '../../../themes/quill_dialog_theme.dart'; |
||||||
import 'base.dart'; |
import 'base_configurations.dart'; |
||||||
|
|
||||||
class QuillToolbarLinkStyleButton2ExtraOptions |
class QuillToolbarLinkStyleButton2ExtraOptions |
||||||
extends QuillToolbarBaseButtonExtraOptions { |
extends QuillToolbarBaseButtonExtraOptions { |
@ -1,5 +1,5 @@ |
|||||||
import 'package:flutter/widgets.dart' show IconData, immutable; |
import 'package:flutter/widgets.dart' show IconData, immutable; |
||||||
import 'base.dart'; |
import 'base_configurations.dart'; |
||||||
|
|
||||||
class QuillToolbarSelectAlignmentButtonExtraOptions |
class QuillToolbarSelectAlignmentButtonExtraOptions |
||||||
extends QuillToolbarBaseButtonExtraOptions { |
extends QuillToolbarBaseButtonExtraOptions { |
@ -0,0 +1,54 @@ |
|||||||
|
import 'package:flutter/material.dart'; |
||||||
|
|
||||||
|
import '../../../models/config/toolbar/buttons/select_alignment_configurations.dart'; |
||||||
|
import '../../../models/config/toolbar/buttons/toggle_style_configurations.dart'; |
||||||
|
import '../../../models/documents/attribute.dart'; |
||||||
|
import '../../others/controller.dart'; |
||||||
|
import 'toggle_style_button.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 QuillToolbarSelectAlignmentButtons extends StatelessWidget { |
||||||
|
const QuillToolbarSelectAlignmentButtons({ |
||||||
|
required this.controller, |
||||||
|
required this.options, |
||||||
|
this.showLeftAlignment, |
||||||
|
this.showCenterAlignment, |
||||||
|
this.showRightAlignment, |
||||||
|
this.showJustifyAlignment, |
||||||
|
this.padding, |
||||||
|
super.key, |
||||||
|
}); |
||||||
|
|
||||||
|
final QuillController controller; |
||||||
|
final QuillToolbarSelectAlignmentButtonOptions options; |
||||||
|
|
||||||
|
final bool? showLeftAlignment; |
||||||
|
final bool? showCenterAlignment; |
||||||
|
final bool? showRightAlignment; |
||||||
|
final bool? showJustifyAlignment; |
||||||
|
final EdgeInsetsGeometry? padding; |
||||||
|
|
||||||
|
@override |
||||||
|
Widget build(BuildContext context) { |
||||||
|
return Row( |
||||||
|
mainAxisSize: MainAxisSize.min, |
||||||
|
children: _AlignmentOptions.values |
||||||
|
.map((e) => QuillToolbarToggleStyleButton( |
||||||
|
options: const QuillToolbarToggleStyleButtonOptions(), |
||||||
|
controller: controller, |
||||||
|
attribute: e.attribute, |
||||||
|
)) |
||||||
|
.toList(), |
||||||
|
); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue